A build-to-order Odoo Point of Sale extension that lets staff accept contactless NFC card and mobile-wallet payments directly on a phone or tablet — no separate card terminal. ECOSIRE scopes, builds, installs, and supports it against your Odoo 17/18/19 environment. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $299.00 USD; request a quote for a scoped proposal.

A build-to-order Odoo Point of Sale extension that lets staff accept contactless NFC card and mobile-wallet payments directly on a phone or tablet — no separate card terminal. ECOSIRE scopes, builds, installs, and supports it against your Odoo 17/18/19 environment.
Sem pagamento agora. Isto envia um pedido de orçamento à nossa equipe — responderemos por e-mail com preços e próximos passos.
Most retail and field teams hit the same wall when they take card payments through Odoo POS: the software rings up the sale, but the card capture happens on a separate leased terminal that has no idea what the cart contains. Staff re-key the amount, tips and refunds drift out of sync, and every extra lane means another hardware box to buy, mount and reconcile. Odoo core POS models an electronic payment through pos.payment.method and a few built-in provider integrations, but "the phone in the cashier's hand IS the card reader" is not something the standard product does — there is no native flow that reads a contactless card or mobile wallet through the device's own NFC hardware and settles it against the open POS order.
Dedicated contactless payment method extending `pos.payment.method` and `pos.payment`, selectable per `pos.config`
On-device NFC tap-to-pay flow driven from the OWL POS front end — the phone or tablet acts as the card reader, no separate terminal
Thin service wrapper around the provider's on-device payment SDK, isolating the integration so SDK version bumps don't ripple through POS code
Authoritative authorization handling for success, decline, timeout and cancel, written back to the order with transaction reference, card scheme, last-four and auth code
Idempotency keys and a status fetch/poll fallback so a lost-focus or retried tap never double-charges
Contactless refunds and voids routed through the same method, so a negative POS order issues a real refund instead of a manual back-office entry
This is a build-to-order module that ECOSIRE designs and builds for your specific environment. On the backend we add a dedicated contactless payment method that extends pos.payment.method and pos.payment, plus the models and res.config.settings fields needed to hold reader credentials, merchant and terminal identifiers, and per-pos.config routing. The payment provider's on-device software SDK is wrapped behind a thin service layer so the OWL POS front end can request a payment, hand off to the NFC tap, and receive an authoritative authorization result — success, decline, timeout or cancel — that we write back onto the order together with the provider transaction reference, card scheme, last-four and auth code. State is reconciled defensively: a fetch/poll fallback resolves the transaction status if the device loses focus mid-tap, and idempotency keys prevent a retried tap from double-charging. Refunds and voids are wired to the same method so a negative POS order routes a contactless refund rather than forcing a manual back-office adjustment.
Security and reporting follow Odoo conventions rather than bolt-ons. Access to the payment configuration is gated through ir.model.access.csv and record rules so only Point of Sale managers can view or edit reader credentials, and secrets are stored server-side and never shipped to the browser bundle. Transaction metadata flows into the standard pos.payment reporting and your journals, so contactless takings appear in the existing POS session close and accounting entries with no parallel spreadsheet. Where your provider exposes a webhook or settlement feed, we can add an inbound controller and an automated action to reconcile captured-versus-settled amounts. Everything is delivered as a proper installable module with its own __manifest__.py, versioned for Odoo 17.0, 18.0 or 19.0, and we confirm Community-versus-Enterprise assumptions up front since device and POS-session behavior differs between them.
Delivery is build-to-order. We start with a short scoping call to pin down your payment provider and reader hardware, the device platform your floor staff actually use, tipping and refund rules, multi-company or multi-shop routing, and the Odoo version and edition you run. From confirmed scope, typical delivery is 2–4 weeks: we build against a staging copy of your database, run UAT with your team, then install to production behind a rollback plan and hand over the git repository. Pricing starts from $299 (indicative, single-company base scope); additional payment providers or reader models, multi-company and multi-shop routing, deep tipping/loyalty logic, and settlement-reconciliation integrations increase the quoted scope. You receive a fixed quote after the scoping call — never a surprise invoice.
A multi-lane or pop-up retailer that wants every floor phone or tablet to take cards directly, eliminating leased terminals and the re-keying errors between the terminal and Odoo POS.
Delivery, market-stall or on-site sales staff who need to accept a contactless tap wherever they are, with the payment settled against the live Odoo order and synced back on reconnect.
An in-house team that already runs Odoo POS and wants contactless payments handled inside the same session close and journals, with clean audit logs and manager-only access to credentials.
The person who owns session close and settlement, who needs contactless captures to land in standard `pos.payment` reporting and journals and to reconcile captured-versus-settled amounts without a side spreadsheet.
Compre a licença em ecosire.com e baixe o ZIP do módulo POS Tap to Pay — Contactless NFC on Mobile Devices no painel da sua conta.
Extraia o ZIP em sua pasta de complementos personalizados do Odoo no servidor (ou faça upload via Aplicativos > Instalar do arquivo em Odoo.sh/runbot).
Ative o modo de desenvolvedor, abra Aplicativos, clique em Atualizar lista de aplicativos, procure por POS Tap to Pay — Contactless NFC on Mobile Devices e pressione Instalar.
Abra o novo menu, cole sua chave de licença ECOSIRE, conecte quaisquer credenciais externas (Shopify, Amazon, Stripe, etc.) e salve.
Execute o teste de conexão integrado, sincronize seus primeiros 10 registros e agende o cron recorrente. Entre em contato com o suporte se algo falhar.
| Critério | ECOSIRE | Construção personalizada | Concorrente | Odoo nativo |
|---|---|---|---|---|
| Contactless NFC on the POS device itself | Purpose-built tap-to-pay on your phones/tablets, wired to the open order | Achievable but you own the whole SDK integration and edge cases | Often assumes a specific provider or a separate reader, not device NFC | |
| Fit to your provider, hardware and edition | Scoped and built against your exact provider, reader, device and Odoo edition | Fully bespoke but slow and dependent on in-house expertise | Fixed to the vendor's supported provider list; you adapt to it | |
| Refunds, voids and idempotency | Contactless refunds/voids on the same method plus idempotent retries | Must design and test all failure paths yourself | Varies; failure-path and refund coverage often shallow | |
| Accounting and session-close reconciliation | Lands in standard `pos.payment`, journals and session close; optional settlement reconciliation | You build the reporting and reconciliation wiring | Usually posts payments but rarely reconciles captured-vs-settled | |
| Security of reader credentials | Server-side secrets, `ir.model.access.csv` + record rules, manager-only access | Depends entirely on your implementation discipline | Varies by vendor; credential handling not always transparent | |
| Support and code ownership | Post-go-live support window plus full git repo handover | You own it, and the maintenance burden, from day one | Vendor support tiers; source typically not handed over | |
| Upgrade across Odoo 17/18/19 | Built for your version; forward-port quotable as a defined task | Re-porting is your team's responsibility each upgrade | Depends on vendor keeping pace with each release | |
| Total cost shape | From $299 indicative; fixed quote after scoping, no per-lane hardware | Open-ended developer time and ongoing maintenance | Low sticker price but rigid scope and possible per-terminal fees |
This is a build-to-order module, not an off-the-shelf download. From confirmed scope, typical delivery is 2–4 weeks: we build against a staging copy of your database, run UAT with your team, then install to production behind a rollback plan. Complex multi-provider or multi-company scope can extend that, and we tell you the realistic timeline in the fixed quote.
Pricing starts from $299 as an indicative single-company base-scope figure. After a short scoping call we send a fixed quote. Drivers that increase scope include additional payment providers or reader models, multi-company and multi-shop routing, deep tipping/loyalty logic, and settlement-reconciliation integrations. You approve the fixed quote before we build — there is no surprise invoice.
Every engagement includes a post-go-live support window for defect fixes and configuration adjustments, and you receive the full git repository so any developer can maintain it. We can also quote a longer support/maintenance retainer, including forward-porting the module when you upgrade to a new Odoo major version, since 17.0/18.0/19.0 APIs differ.
The module wraps your provider's on-device payment SDK behind a service layer, so it depends on that provider exposing a tap-to-pay SDK for your device platform. We confirm the exact provider, reader model and device platform during scoping and build the integration against them. Supporting a second provider later is an additive change to the same method.
Yes. The method extends `pos.payment`, so contactless takings flow into the standard POS session close, journals and reporting like any other payment method — no parallel spreadsheet. Where your provider offers a settlement feed, we can add reconciliation of captured-versus-settled amounts via a webhook controller and automated action.
We build for whichever you run, versioned for Odoo 17.0, 18.0 or 19.0. Some POS device and session behavior differs between Community and Enterprise, so we confirm your edition during scoping and build against it rather than assuming. Multi-version support (e.g. across an upgrade) is quoted separately.
The payment flow uses idempotency keys and an authoritative status fetch/poll fallback. If the device loses focus mid-tap or a cashier retries, the module resolves the true transaction status from the provider before writing a result to the order, so a retried tap reconciles to a single charge rather than a duplicate.
A build-to-order Odoo Point of Sale extension that lets staff accept contactless NFC card and mobile-wallet payments directly on a phone or tablet — no separate card terminal. ECOSIRE scopes, builds, installs, and supports it against your Odoo 17/18/19 environment.