This addon allows to pay invoices using a payment terminal. It communicates with the payment terminal proxy using the same protocol as OCA pos_payment_terminal.
auto_awesome What this module does
AI-generated from the code · Odoo 14.0Lets you pay invoices with a physical card payment terminal. Configure terminals and journals, then start a card transaction directly from the payment registration screen.
This module connects Odoo to a card payment terminal through a hardware proxy, so you can take card payments while registering invoice payments.
- Configure terminals under Accounting > Configuration > Payment Terminals: give each one a name, the IP address of the proxy, and optionally the terminal identifier used by the proxy.
- On each accounting journal, choose "OCA Payment Terminal" in the new "Use a Payment Terminal" field to mark that journal as terminal-based.
- When you register a payment and pick such a journal, a "Payment Terminal" field appears and becomes required. The normal "Create Payment" button is hidden and replaced by a "Create Payment" button that starts the terminal transaction.
- A pop-up asks you to check the terminal. The amount, currency and payment reference are sent to the terminal; the screen polls the proxy and shows "Payment Successful" or "Transaction cancelled". On success, the payment is created in Odoo with the terminal reference as the communication.
- If the terminal or journal is not correctly configured, an error message tells you to contact your administrator.
Only accounting managers can create or change terminals; other accounting users can only view them.
Depends on
Models and fields (4)
- account.journal · extends an existing modeluse_payment_terminal (Use a Payment Terminal)
- account.payment.register · new modelneed_payment_terminal
- account.payment.terminal · new modelname, proxy_ip (IP Address), oca_payment_terminal_id (Terminal identifier)
- oca.payment.terminal.form.mixin · new modelaccount_payment_terminal_id (Payment Terminal)
Text generated by AI (DeepSeek) from reading the Odoo 14.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 14.0
Confirmed on 2026-11-03 in branch 14.0 of OCA/account-payment.
terminal Installation and usage
OCA documentation · Odoo 14.0Configuration
Source · Odoo 14.0To configure a bank journal as allowed to use payment terminals:
- Go to the menu Invoicing > Configuration > Journals.
- Select or create a new bank journal.
- Set the field 'Use a Payment Terminal' to your terminal type.
Now you should create the payment terminals:
- Go to the menu Invoicing > Configuration > Payment terminals.
- Create a new terminal by setting:
- The hostname or ip address of the hardware proxy.
- The identifier of the terminal as known by the hardware proxy (Leave empty if the proxy has only one terminal connected).
Usage
Source · Odoo 14.0- Go to Invoicing > Customers > Invoices and select an open invoice.
- Register a payment.
- Select the bank journal configured to use payment terminals.
- Select a terminal.
- Confirm.
You can test the flow using the mock terminal of pywebdriver project (an alternative to the POSbox/IoTbox).
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.