| 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 | 955 |
| Technical Name |
crowe_pos_multi_currency |
| License | LGPL-3 |
| Website | https://www.crowe.mv |
POS Multi Currency Payment
Accept foreign-currency payments at the register with automatic conversion
Enable multi-currency payments on your Point of Sale. Cashiers open the multi-currency panel on the payment screen, choose an allowed foreign currency, enter the amount received, and the module converts it to your POS base currency using configured exchange rates. Converted amounts appear on payment lines, customer receipts, and backend POS orders.
Key Features
Multi-Currency Payments
Accept customer payments in currencies other than your POS base currency directly on the payment screen. Cashiers use Multi Currency Payment when the customer pays in cash or card denominated in a foreign currency.
Automatic Conversion
Select a currency, enter the amount received, and the conversion panel shows the rate and converted total. Click Update Amount to apply the converted value to the active payment line.
Per-POS Configuration
Enable multi-currency mode and pick which currencies appear on each POS shop independently via Allowed Currencies. Only currencies you allow are shown at the register.
How It Works
Configure once, pay in any allowed currency
Enable on the POS configuration
Open Point of Sale → Configuration → Settings, select your shop, and enable Multi Currency and Multi Currency Conversion. Add the foreign currencies cashiers may use on Allowed Currencies.
Set exchange rates
Activate the currencies you need under Accounting → Configuration → Currencies and keep their rates up to date. The POS uses these rates when converting foreign payments to your base currency.
Open multi-currency at payment
On the payment screen, click Multi Currency Payment to reveal the conversion panel. The order total stays in your POS base currency while you enter the amount received in the customer's currency.
Choose the payment currency
Select from the Allowed Currencies configured on the shop. The dropdown lists only those currencies — not every currency in the database.
Enter amount and update the payment line
Type the amount received in the foreign currency. The conversion box shows the rate and converted total. Click Update Amount to apply the converted value to the selected payment method.
Receipt shows both amounts
The receipt prints the payment in base currency on the main line and the foreign amount underneath, for example Card $ 4.40 with (3.87 EUR) below for the customer and cashier to verify.
Backend order and payments
Open the POS order in the backend to review payment lines with Amount currency and Currency stored for reconciliation and reporting.
Configuration
POS settings and accounting rates
- Install the module (requires
point_of_sale). - Activate foreign currencies and set rates under Accounting → Configuration → Currencies.
- Open Point of Sale → Configuration → Settings and select your shop.
- Enable Multi Currency and Multi Currency Conversion.
- Add currencies on Allowed Currencies.
- Open a new POS session. On payment, use Multi Currency Payment, select the currency, enter the amount, and click Update Amount.
Benefits
Faster checkout
Tourist and foreign-currency customers pay without manual calculator work at the counter. The register converts and records the payment in one step.
Controlled currency list
Each POS shop exposes only the currencies you allow. Cashiers cannot pick currencies that were not configured for that register.
Clear audit trail
Foreign amounts appear on receipts, payment lines, and backend POS orders so finance teams can reconcile what was collected in each currency.
Uses Odoo rates
Conversion follows exchange rates maintained in Odoo accounting, keeping POS payments aligned with your central currency configuration.
Feature Summary
At the register
Multi Currency Payment toggle on the payment screen.
Currency dropdown limited to Allowed Currencies.
Live conversion preview before updating the payment line.
Receipt and payment line show foreign and base amounts.
Behind the scenes
pos.config fields: multi_currency, curr_conv, selected_currency.
pos.payment stores account_currency and currency.
POS session loads allowed currencies and rates from res.currency.
OWL payment screen patches for toggle, conversion, and receipt display.
Technical Details
Server side
- pos.config — multi-currency flags and allowed currency many2many; settings synced from Point of Sale → Configuration → Settings.
- res.currency — POS data loading extended to include allowed currencies and rates for offline conversion at the register.
- pos.payment / pos.order — foreign amount and currency code persisted on payment lines for backend views and reporting.
Front end (OWL)
- Patches PosStore to build the allowed-currency list from POS configuration.
- Patches PaymentScreen for the multi-currency panel, conversion, and Update Amount.
- Extends receipt and payment line templates to show foreign-currency amounts alongside base currency.
Compatibility & Dependencies
Version
Built for Odoo 19.0, compatible with Community and Enterprise.
Dependencies
Requires point_of_sale. Foreign currencies must be active with rates in Accounting → Currencies.
Support
Brought to you by Crowe Maldives LLP
Author
Crowe Maldives LLP
Website
www.crowe.mv
Licensed under LGPL-3.
Please log in to comment on this module