| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 836 |
| Technical Name |
an_alhamrani |
| License | OPL-1 |
| Website | https://idealitsetup.com/ |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 836 |
| Technical Name |
an_alhamrani |
| License | OPL-1 |
| Website | https://idealitsetup.com/ |
AU Payment Terminal
Charge cards on AU (Neoleap CS10, AU1, mada-certified) PAX terminals straight from the Odoo POS cashier — purchase, refund, reconciliation, lookup, cancel, with full ZATCA-ready data on every payment.
▶ See it in action
Key features
✓
Every supported card — mada / Visa / Mastercard / Amex / JCB / UnionPay.
Network names like SPAN are auto-translated to the user-facing brand (mada).
|
| ✓ Network or USB — TCP/IP (Ethernet/Wi-Fi terminals) and USB serial (CH340 / Qualcomm CDC, addressed by COM port). |
| ✓ Branded waiting overlay — blue full-screen card with progressive status ("Connecting → Insert card → Reading → Processing → Still waiting") and a live seconds counter, so the cashier always knows the request is still alive. |
| ✓ Branded result popup — green ✓ for approved, red ✕ for declined. No more plain Odoo error toast. |
| ✓ Bilingual decline codes — 29 ISO 8583 / mada codes mapped to plain Arabic + English (e.g. "رصيد غير كافٍ / Insufficient funds (code 116)"). |
| ✓ Force Done — optional safety net. After 15 s of waiting the cashier gets a button to manually finish a hung transaction the terminal already approved. |
| ✓ Auto-validate the order — on approval, optionally close the order automatically. One less click per sale. |
| ✓ ZATCA-ready audit trail — last-4, brand, RRN, approval code, transaction date+time, and raw payload stored on every pos.payment record. |
| ✓ Branded receipt — Approval / RRN / Card line auto-appended to the customer receipt. |
| ✓ No IoT box — the cashier's browser talks SignalR to AlhamraniService v2.exe on the same Windows PC. Works with cloud Odoo (Odoo.sh / SaaS). |
Screenshots
Waiting overlay (with Force Done after 15 s)
Approved result popup
In the live POS
Real screenshots from a running cashier session.
Payment method configuration
Card details persisted on the order's payment
AU as a payment option on the POS payment screen
Bilingual decline (AR / EN)
mada-printed terminal slip captured for the receipt
How it works
1. Cashier picks "AU" on the POS payment screen.
2. The POS browser opens a SignalR WebSocket to http://localhost:9000/signalr
(provided by AlhamraniService v2.exe on the same PC).
3. The service drives the terminal — over Ethernet/Wi-Fi (IP:port) or USB (COM port) —
with the standard AU protocol (msg_id: PUR/REF/REC/GET, halalas amount, ECR ref).
4. On the terminal's response the POS parses the result, applies the brand mapping
(SPAN → mada), stores RRN/auth/last-4 on the pos.payment record,
appends Approval / RRN / Card to the receipt slip and (optionally) auto-validates the order.
Configuration
Each payment method exposes:
- AU Connection — Network (IP:Port) or Serial (COM port).
- AU Address — e.g.
192.168.1.50:1234orCOM9. - AU ECR No. — ECR identifier sent on every transaction.
- AU Sub-type — mada / Other.
- Print on Terminal — let the terminal print its slip.
- AU Service URL — defaults to
http://localhost:9000/signalr. - Auto-Validate on Approval — close the order with one click.
- Enable Force Done — show the safety-net button after 15s of waiting.
Requirements
| Odoo | 18.0 (Community or Enterprise) · POS |
| Terminal | Neoleap CS10 / AU1 / any AU-certified PAX (mada) |
| Bridge service | AlhamraniService v2.exe (provided by AU) on the same Windows PC as the browser |
| Browser | Chrome / Edge (any modern browser supporting WebSockets) |
| Connection | Ethernet / Wi-Fi (TCP/IP) or USB serial (COM port) |
Support & contact
| Developer | Ahmed Magdy |
| qarsan4@gmail.com | |
| Website | https://idealitsetup.com/ |
| +966 50 981 8413 |
We answer within one business day. Bug reports get a fix in the next minor release.
© 2026 Ahmed Magdy · idealitsetup.com
Compatible with Odoo 18 Community & Enterprise · POS · Point of Sale
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module