Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Point Of Sale
  3. POS Multi-Currency Cash Payments v 19.0
  4. Sales Conditions FAQ

POS Multi-Currency Cash Payments

by Natimai Solutions https://www.natimai.solutions
Odoo

$ 135.53

In-App Purchases
v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 17.0 18.0 19.0
You bought this module and need support? Click here!
Versions 17.0 18.0 19.0
  • Description
  • Manifest
  • Documentation
  • License

POS Multi-Currency Cash Payments

Accept cash payments in multiple currencies at your Point of Sale

POS Multi-Currency Banner

Key Features

Payment screen with a cash payment line in a foreign currency

Multi-Currency Payments

Accept cash payments in any currency configured in your system. Perfect for tourist areas, duty-free shops, border towns, or any business that needs to handle multiple currencies.

Change computed in the customer's currency on the payment screen

Automatic Conversion & Change

Amounts are automatically converted using Odoo's exchange rates, and the change is computed in the currency the customer handed you. No manual calculations needed - the system handles everything for you.

Opening control with expected and counted amounts in foreign currencies

Complete Cash Management

Full cash drawer management for each currency:

  • Opening balance per currency
  • Cash In/Out operations
  • Closing count per currency
  • Automatic difference detection
Closing register with counted amounts and differences per currency

Accurate Accounting

Proper accounting entries for cash differences:

  • Cash surplus → Profit account
  • Cash shortage → Loss account
  • Separate tracking per currency
  • Full audit trail

From the Drawer to the Receipt

Cash In/Out dialog with a currency selector

Cash In/Out in Any Currency

Move cash in and out of the drawer in the currency of your choice; every movement is booked on the journal of that currency.

Receipt with a change block in the customer's currency

Receipts Your Customers Understand

The receipt shows the total in the payment currency and a dedicated change block - received, due, change - in the currency handed back.

Session Overview

View opening and closing amounts for each currency directly on the POS session form.

Multicurrency cash details table on the POS session form

The Sale Details report includes the same control, currency by currency.

Sale Details report with expected, counted and difference per currency

Easy Configuration

Step 1: Create a Cash Journal with Currency

Go to Accounting → Configuration → Journals and create a new cash journal with a different currency.

⚠️ Don't forget to configure the Profit Account and Loss Account for cash difference handling!

Step 2: Create a Payment Method

Go to Point of Sale → Configuration → Payment Methods, create a new payment method of type "Cash", and link it to your new journal.

Step 3: Enable in POS Settings

Go to Point of Sale → Configuration → Settings and enable the "Multicurrency Payment" option.

Multicurrency Payment option in the Point of Sale settings

Step 4: Add to your POS

In your POS configuration, add the new payment method to the available payment methods.

Use Cases

🏝️

Tourist Areas

Accept USD, EUR, or any foreign currency from tourists.

✈️

Duty-Free Shops

Handle multiple currencies in airport or port shops.

🌍

Border Towns

Accept cash from customers on both sides of the border.

Technical Requirements

  • Odoo Version: 19.0
  • Dependencies: Point of Sale (point_of_sale)
  • License: OPL-1 (Odoo Proprietary License)
  • Supported Methods: Foreign-currency cash payment methods are fully supported. Foreign-currency bank journals are accepted but their amounts follow the standard accounting flow (no conversion).

Support

Need help? Contact us at odoo@natimai.solutions

www.natimai.solutions

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 1594
Technical Name pos_nm_multicurrencies
LicenseOPL-1
Websitehttps://www.natimai.solutions

POS Multi-Currency Cash Payments

Accept cash payments in multiple currencies at the Point of Sale, with full cash-drawer control for every currency: opening balances, cash in/out, closing counts, difference handling and automatic accounting entries.

Overview

By default, the Odoo Point of Sale only handles cash in the company currency. This module lets each cash payment method work in its own currency:

  • Sell in your company currency and collect cash in USD, EUR, CHF, or any currency configured in Odoo.
  • Amounts are converted automatically using the Odoo exchange rates.
  • The cash drawer of every currency is controlled at opening and closing.
  • Cash differences are posted automatically to the profit and loss accounts of the currency's journal.
  • Session reports show the amounts by currency.

How Conversion Works

Each foreign-currency payment method is linked to a cash journal set to that currency. When such a method is used on the payment screen, the amount due is converted from the session currency into the payment currency at the rate stored in Odoo (Accounting -> Configuration -> Currencies).

The order itself remains valued in the company currency; the cash statement line created on the foreign journal keeps the amount in the journal currency. Exchange rates can be maintained manually or through Odoo's automatic currency rate services.

Requirements

  • The Point of Sale application (point_of_sale).
  • One cash journal per foreign currency you want to accept.
  • Profit and Loss accounts configured on each foreign cash journal: they are required to post cash differences at closing.

Configuration

Create the cash journal

Go to Accounting -> Configuration -> Journals and create a journal:

  • Type: Cash
  • Currency: the foreign currency (for example USD)
  • Profit Account and Loss Account: set both accounts, they are used to post cash differences

Create the payment method

Go to Point of Sale -> Configuration -> Payment Methods and create a method (for example Cash USD):

  • Type: Cash
  • Journal: the foreign-currency journal created above

Enable the feature

Go to Point of Sale -> Configuration -> Settings, select your point of sale and enable the Multicurrency Payment option.

Add the method to your Point of Sale

In the settings of your point of sale, add the new payment method to the Payment Methods list.

Daily Workflow

Opening the session

The opening control popup shows one section per foreign currency with:

  • the expected balance carried over from the last closing,
  • an input to record the amount actually counted in the drawer,
  • the resulting difference, when the counted amount differs from the expected one.

The opening difference is recorded as a statement line on the currency's journal; profit or loss is only booked at closing.

Taking a payment in a foreign currency

On the payment screen, select the foreign-currency method: the amount due is converted and the payment line is displayed in the payment currency. The tendered amount can be edited with the numpad directly in the foreign currency.

Giving change on a foreign payment

When the customer hands more foreign cash than due, the receipt prints a dedicated block for that currency showing the received amount, the amount due and the change to give back, all expressed in the foreign currency.

Cash in / cash out

The Cash In/Out dialog gains a currency selector. Choose the currency, enter the amount and the reason: the statement line is created on the journal of that currency and included in that currency's closing figures.

Closing the session

The closing popup lists every foreign-currency method with its expected amount in the journal currency. Enter the counted amount for each currency; the difference is displayed immediately (a shortage is negative and shown in red).

When the session is validated:

  • the counted amounts are stored per currency on the session,
  • cash differences are posted on the foreign journal using its Profit and Loss accounts,
  • amounts are converted so that the session's accounting entries balance in the company currency.

Reviewing a session

On the session form (Point of Sale -> Orders -> Sessions), a Multicurrency Cash Details table sums up each currency:

  • Opening: amount counted at the session opening
  • Sales: foreign cash collected through orders
  • Cash In/Out: manual cash moves recorded during the session
  • Expected: opening + sales + cash in/out
  • Counted: amount counted at closing
  • Difference: counted minus expected (a shortage is negative)

The Sale Details report also shows the amounts by currency.

Accounting Notes

  • Foreign cash movements are kept out of the main-currency cash control: the main drawer figures only contain main-currency amounts.
  • Opening and closing differences of a foreign currency are booked on that currency's journal.
  • For foreign-currency bank methods, the closing difference entered in the popup is converted to the session currency before the standard closing process books it.
  • Cash rounding rules keep applying to main-currency cash payments; foreign-currency lines are exempt from the main rounding validation.

Known Limitations

  • Only foreign-currency cash payment methods are fully supported. Foreign-currency bank journals are accepted on payment methods, but the core accounting flow (account.payment on a foreign journal) does not convert amounts.

Troubleshooting

The multicurrency section does not appear at opening

  • Check that the Multicurrency Payment option is enabled in the settings of this point of sale.
  • Check that the payment method is of type Cash and that its journal has a Currency different from the company currency.
  • Check that the payment method is added to the point of sale.

No difference entry is created at closing

Set the Profit Account and Loss Account on the foreign-currency cash journal. If you cannot see these two fields on the journal form, install the Accounting app (or check your accounting access rights): the fields exist as soon as the Point of Sale is installed, but the full journal form that displays them comes with the Accounting interface.

Converted amounts look wrong

Update the exchange rates in Accounting -> Configuration -> Currencies, or enable an automatic currency rate service.

Disclaimer

This module creates accounting entries (statement lines, cash difference postings) from your configuration: journals, profit and loss accounts, and the exchange rates stored in your database. As stated in the Odoo Proprietary License v1.0 (see the LICENSE file shipped with the module), the Software is provided "as is", without warranty of any kind.

It remains your responsibility to:

  • configure the accounting correctly (journals, profit and loss accounts, exchange rates and their update frequency),
  • verify with your accountant that the generated entries meet your legal and accounting requirements,
  • test the module on a staging database before using it in production.

Bugs in the advertised features are handled through the support channel; the module is not a substitute for accounting advice.

Support

  • Email: odoo@natimai.solutions
  • Website: https://www.natimai.solutions

Please mention your Odoo version and the module version (see __manifest__.py) in support requests.

License

This module is published under the Odoo Proprietary License v1.0 (OPL-1). The full license text is shipped with the module in the LICENSE file.

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

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with