Saltar al contenido principal
Los detalles del producto se muestran en inglés. Próximamente traducciones.
POS Tap to Pay — Contactless NFC on Mobile Devices — A build-to-order Odoo Point of Sale extension that lets staff accept con — 1/1Vista previa ilustrativa

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.

¿Qué es POS Tap to Pay — Contactless NFC on Mobile Devices?

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 $999.00 USD; request a quote for a scoped proposal.

Características clave

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
Server-side credential storage via `res.config.settings` — merchant/terminal IDs and secrets never leave the backend or reach the browser bundle
`ir.model.access.csv` plus record rules restricting reader configuration to Point of Sale managers
Contactless takings reconciled into the standard POS session close, journals and `pos.payment` reporting — no parallel spreadsheet
Optional inbound webhook controller plus an automated action to reconcile captured-versus-settled amounts
Multi-company and multi-shop credential routing so each `pos.config` maps to its own merchant/terminal
Optional tip-on-device and configurable receipt lines showing the contactless auth details
Structured logging of every authorization attempt for dispute and audit trails, queryable via the ORM
Built and versioned for Odoo 17.0, 18.0 or 19.0 with Community-versus-Enterprise behavior confirmed during scoping

Hecho a medida, listo para ti

Sin configuración por tu cuenta: una app funcional creada, instalada y con soporte de ECOSIRE.

  1. 1

    Haces el pedido

    Empieza con un precio único de desarrollo. Definimos el alcance contigo en el arranque.

  2. 2

    Creamos e instalamos

    ECOSIRE la crea, la configura y la instala en tu Odoo.

  3. 3

    En marcha + soporte

    Sales en vivo en aproximadamente una semana laboral, con dos semanas de soporte tras la puesta en marcha. Los defectos en el código que entregamos se corrigen sin coste.

Especificaciones técnicas

Compatibilidad con Odoo
Odoo 17, Odoo 18, Odoo 19
Ediciones
Enterprise y Community
Licencia
La licencia requiere confirmación
Requisito de Python
Python 3.10+
Base de datos
PostgreSQL 12+

Sobre este producto

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.

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 one working week: 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 $999 (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.

lo que obtienes

  • Installable module source code for your Odoo major version (17.0/18.0/19.0), delivered as a proper `__manifest__.py`-declared addon
  • Installation and configuration on your environment, including payment-method setup and per-`pos.config` reader routing
  • Technical documentation: model/field reference, provider SDK integration notes, security rules and configuration settings
  • End-user guide plus a live training session for cashiers and POS managers
  • UAT on a staging copy of your database with a documented rollback plan before production go-live
  • Post-go-live support window for defect fixes and configuration adjustments
  • Git repository handover with full commit history and tagged release
  • Reconciliation/close-of-session walkthrough so finance can verify contactless takings against journals

¿Para quién es esto?

Retailer standardizing on mobile POS

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.

Field and mobile sales teams

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.

Odoo-run operations manager

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.

Finance / reconciliation lead

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.

Cómo se compara POS Tap to Pay — Contactless NFC on Mobile Devices

CriterioECOSIREConstrucción personalizadaCompetidorNativo de Odoo
Contactless NFC on the POS device itselfPurpose-built tap-to-pay on your phones/tablets, wired to the open orderAchievable but you own the whole SDK integration and edge casesOften assumes a specific provider or a separate reader, not device NFCNo device-NFC tap-to-pay flow in core POS
Fit to your provider, hardware and editionScoped and built against your exact provider, reader, device and Odoo editionFully bespoke but slow and dependent on in-house expertiseFixed to the vendor's supported provider list; you adapt to itLimited to the handful of built-in electronic payment integrations
Refunds, voids and idempotencyContactless refunds/voids on the same method plus idempotent retriesMust design and test all failure paths yourselfVaries; failure-path and refund coverage often shallowManual back-office adjustments for card refunds
Accounting and session-close reconciliationLands in standard `pos.payment`, journals and session close; optional settlement reconciliationYou build the reporting and reconciliation wiringUsually posts payments but rarely reconciles captured-vs-settledStandard reporting only, no contactless capture to reconcile
Security of reader credentialsServer-side secrets, `ir.model.access.csv` + record rules, manager-only accessDepends entirely on your implementation disciplineVaries by vendor; credential handling not always transparentNo contactless credentials to manage
Support and code ownershipPost-go-live support window plus full git repo handoverYou own it, and the maintenance burden, from day oneVendor support tiers; source typically not handed overCommunity/your-own support only
Upgrade across Odoo 17/18/19Built for your version; forward-port quotable as a defined taskRe-porting is your team's responsibility each upgradeDepends on vendor keeping pace with each releaseMoves with core, but the capability isn't there to begin with
Total cost shapeFrom $999 indicative; fixed quote after scoping, no per-lane hardwareOpen-ended developer time and ongoing maintenanceLow sticker price but rigid scope and possible per-terminal feesFree, but requires separate terminals and manual reconciliation

Preguntas frecuentes sobre POS Tap to Pay

How long does delivery take?

This is a build-to-order module, not an off-the-shelf download. From confirmed scope, typical delivery is one working week: 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.

How does pricing and scoping work?

Pricing starts from $999 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.

What about support and updates after go-live?

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.

Does this work with my payment provider and reader hardware?

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.

Will contactless payments show up correctly in accounting and session close?

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.

Does it run on Odoo Community or Enterprise?

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.

How do you prevent double-charges if a tap fails or the app loses focus?

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.

Solicitar presupuesto

POS Tap to Pay

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.

  • 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

Solicitar presupuesto

Cuéntanos tus necesidades de POS Tap to Pay y te enviaremos precios, opciones de licencia y una propuesta a medida, normalmente en un día hábil.

Sin pago ahora. Esto envía una solicitud de presupuesto a nuestro equipo; te responderemos por correo con precios y próximos pasos.