This module adds support for credit card reader and checks printer in the Point of Sale.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Connect Odoo Point of Sale to a generic card or check payment terminal through the IoT proxy, so cashiers can send the amount to the terminal and get the result back automatically.
This module lets you use an external payment terminal (card reader or check printer) directly from the Point of Sale. You enable it per point of sale in the settings: turn on "OCA Payment Terminal" and optionally "Hide Back Button".
On each payment method you can then choose "OCA Payment Terminal" as the terminal type, set whether it is a Card or Check terminal, enter the terminal identifier used by the hardware proxy, and enable Fast Payment for quicker feedback.
During checkout, when the cashier selects such a payment method, the amount is sent to the terminal. The screen shows a waiting status and regularly checks the terminal until the transaction succeeds or fails. If the terminal cannot be reached, the cashier is asked to confirm the result manually. Negative amounts are refused with an error message.
If "Hide Back Button" is on, once a payment line exists the cashier cannot go back to the basket from the payment screen, preventing accidental changes after a payment has started.
The module adds fields to pos.config, pos.payment.method and res.config.settings, and patches the Point of Sale frontend store and order behaviour.
Depends on
Models and fields (3)
- pos.config · extends an existing modeliface_payment_terminal (OCA Payment Terminal), payment_terminal_hide_back_btn (Hide Back Button)
- pos.payment.method · extends an existing modeloca_fast_payment (Fast Payment), oca_payment_terminal_id (Terminal Identifier), oca_payment_terminal_mode (Payment Mode)
- res.config.settings · extends an existing modelpos_iface_payment_terminal, pos_payment_terminal_hide_back_btn
Text generated by AI (DeepSeek) from reading the Odoo 18.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: 5 confirmed, 4 with no information of 9 versions.
Sources · Odoo 14.0
Confirmed on 2026-11-03 in branch 14.0 of OCA/pos.
terminal Installation and usage
OCA documentation · Odoo 18.0Installation
Source · Odoo 18.0This module is designed to be installed on the main Odoo server. On the POSbox/IoTbox, you should install the module hw_x depending on the protocol implemented in your device.
Ingenico \ card readers for France support the Telium protocol implemented in the hw_telium_payment_terminal module for the POSbox/IoTBox.
You can also consider pywebdriver project as an alternative to the POSbox/IoTbox.
Configuration
Source · Odoo 18.0- Go to Point of Sale \> Configuration \> Payment Methods, edit the payment method corresponding to the card reader and set the field Use a payment terminal to OCA Payment Terminal. A new field Payment Mode will appear, that has Card as defaut value. If the payment method is for Checks and you have a check printer, select Check instead.
Usage
Source · Odoo 18.0- In the frontend of the POS, when you select a payment method that has a
payment mode with Use a Payment Terminal set to OCA Payment Terminal, you will have an additionnal Send button: if you click on that button, the amount, the currency and the payment mode will be sent to the POSbox/IoTBox/pywebdriver.
- To enable the proxy when use OCA Payment Termail, you can go to
Point of Sale > Settings > Connected Devices, then enable IoT Box, enter IP Address and enable OCA Payment Terminal. When the OCA Payment Terminal is enable, you can block the return to the basket from the payment screen by enabling the Hide Back Button option.
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.