跳至主要内容
产品详细信息以英文显示。翻译即将推出。
POS Multi-Currency Payments — Take payment in several currencies per Odoo POS order with live rates and correct base-currency — 1/1示意预览

Take payment in several currencies per Odoo POS order with live rates and correct base-currency change-back.

什么是 POS Multi-Currency Payments?

Take payment in several currencies per Odoo POS order with live rates and correct base-currency change-back. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

核心功能

Tender a single POS order across several currencies (e.g. part EUR cash, balance in local notes) with each payment line stored separately
Per-currency configurable exchange rates managed by authorised staff, decoupled from Odoo's daily bank-feed rates so counter rates stay stable through the day
Live conversion on the OWL payment screen — converted amounts and running balance recompute as the cashier types, using @api.depends compute fields
Change always calculated and displayed in your company base currency, with the applied rate shown so nothing is guessed on a calculator
Per-currency cash denomination handling: the closing count screen prompts for the exact notes and coins expected in each currency
Multi-currency POS session reconciliation — closing balances checked per currency and rolled into a single base-currency variance figure
Foreign-currency detail written onto pos.order and pos.payment records, preserving the tendered amount and rate applied for every transaction
QWeb receipts print each tender in its own currency plus the base-currency equivalent and total, so customers see a transparent breakdown
Payment methods mapped to specific currencies (e.g. a 'EUR Cash' method, a 'USD Cash' method) so cashiers pick, never retype, the currency
Rate-change audit trail and record rules (ir.model.access.csv) restricting who can create or edit counter rates
Rounding rules applied per currency to match the smallest denomination you actually stock, avoiding un-tenderable change amounts
Accounting entries posted with correct currency and rate so journal items and P&L reflect real foreign-exchange positions, not a flattened single figure
Optional automated action / scheduled job to refresh counter rates from a source you nominate, with manual override always available
Exposed over XML-RPC / JSON-RPC so head office or a BI tool can pull per-currency takings across branches
Works offline-first in line with Odoo POS behaviour — currencies and rates are cached to the session so registers keep selling if the connection drops

按需定制,全程代劳

无需自行搭建——由 ECOSIRE 构建、安装并提供支持的可用应用。

  1. 1

    您下单

    以一次性构建价格开始。我们在启动时与您共同确定范围。

  2. 2

    我们构建与安装

    ECOSIRE 在您的 Odoo 上构建、配置并安装。

  3. 3

    上线 + 支持

    约一个工作周内上线,并包含两周上线支持。我们交付的代码中的缺陷免费修复。

技术规格

Odoo 兼容性
Odoo 17, Odoo 18, Odoo 19
版本
企业版和社区版
许可证
许可证需要确认
Python 要求
Python 3.10+
数据库
PostgreSQL 12+

关于此产品

Tourist-strip, border, and duty-free counters see a wallet of currencies land on the register every day — USD, EUR, local notes, sometimes three in one transaction. Native Odoo POS settles every order in a single company currency, so cashiers reach for a calculator, guess a rate, and hope the drawer balances at close. It rarely does, and the shortfalls are invisible until reconciliation.

POS Multi-Currency Payments is a build-to-order Odoo module ECOSIRE designs, develops, installs, and supports specifically for your registers. It extends the POS payment screen so a cashier can tender part of an order in EUR cash and the balance in local currency, with each tender converted at a rate you control and the change always computed and handed back in your base currency. Every foreign amount is stored on the order alongside the applied rate, so accounting sees exactly what was collected rather than a blurred single-currency figure.

Technically, the module adds a POS-specific rate model (extending Odoo's res.currency / res.currency.rate concepts) with per-payment-method currency assignment, overrides the OWL payment-screen components so conversion happens live as the cashier types, and writes multi-currency detail onto pos.order and pos.payment records. Compute fields use @api.depends so converted totals, change due, and drawer expectations recalculate instantly and never drift out of sync. Access is locked down with ir.model.access.csv plus record rules so only authorised roles edit rates, and QWeb receipt and reconciliation reports show both the tendered currency and its base-currency equivalent.

Because we build it to your exact register workflow, we can wire in cash-denomination handling per currency (so the closing count screen asks for the right notes and coins in each currency), reconcile every POS session across all currencies, and expose the data through Odoo's XML-RPC / JSON-RPC API if your headquarters pulls takings centrally. It targets Odoo 17, 18, and 19, works on Community or Enterprise, and is delivered fully tested with documentation, cashier training, and a support window — never a raw download you have to figure out yourself.

你得到什么

  • The complete, installable Odoo module (source in a versioned repository) packaged for Odoo 17, 18, and 19 with a clean __manifest__.py and declared dependencies
  • Configuration of your currencies, payment methods, counter rates, rounding, and denomination sets on your Odoo instance
  • Installation and deployment onto your environment (Community or Enterprise; self-hosted, Odoo.sh, or ECOSIRE-managed hosting)
  • Customised QWeb receipt and session-reconciliation report layouts showing multi-currency detail
  • Cashier and manager training session covering mixed-currency tendering, change-back, and end-of-day counting
  • Technical + end-user documentation: rate management, session close procedure, and troubleshooting
  • Post-go-live support window with bug fixes and adjustments to rates, rounding, or workflow
  • Optional XML-RPC / JSON-RPC integration notes and sample calls if you pull takings into another system

这是给谁的

Tourist-area retail owner

Runs shops on a tourist strip where visitors pay in their home currency one minute and local cash the next. Needs cashiers to accept the mix confidently and give correct change without hand calculators or drawer shortfalls.

Border / duty-free store manager

Operates counters where two or three currencies circulate side by side every shift. Wants each currency counted, reconciled, and reported separately so end-of-day variances are traceable to a real cause, not a guessed rate.

Multi-branch finance controller

Consolidates takings from several POS locations into one Odoo accounting backbone. Needs foreign tenders posted with the correct currency and rate — and pullable via API — so the P&L reflects true FX exposure across branches.

POS Multi-Currency Payments 如何比较

标准伊科西尔定制建造竞争对手Odoo 原生
Pay one order across multiple currenciesBuilt in — each tender is its own payment linePossible but you design and test the payment-screen override yourselfVaries; many only switch the whole order to one alternate currency不包括在内
Change-back computed in base currencyAutomatic, with applied rate shown on screen and receiptYou must implement the conversion and rounding logic部分支持不包括在内
Per-currency cash denomination counting at closeClosing count prompts for the right notes/coins in each currencyRequires custom session-close screen work不包括在内不包括在内
Multi-currency session reconciliationPer-currency close rolled into one base-currency varianceBuild the reconciliation report and logic yourself部分支持不包括在内
Fits your exact register workflowBuilt to your currencies, rates, rounding, and roles包含不包括在内不包括在内
Rate control separate from bank feedFixed counter rates, role-restricted, optional auto-refreshYou decide and build the rate model部分支持不包括在内
Correct FX posting to accountingTender currency + rate stored and posted to journals包含部分支持部分支持
Delivery, training, and ongoing supportInstall, cashier training, docs, and a support window includedYour team's time and riskDocs only; support varies by publisher不包括在内

关于POS Multi-Currency Payments的常见问题

How long until it's live on my registers?

This is a build-to-order module, not an instant apps.odoo.com download. Typical lead time is one working week from confirmed requirements: we scope your currencies, rates, denominations, and reconciliation rules, build against your Odoo 17/18/19 version, test on a staging copy of your database, then install and train your team. Simple single-branch setups land at the shorter end; multi-branch or heavy accounting integration at the longer end. You get a firm timeline in writing before we start.

What support and updates do I get after go-live?

Every build includes a post-launch support window for bug fixes and reasonable workflow adjustments (rates, rounding, denominations, report tweaks). Because you own the source in a versioned repository, there is no per-seat licence lock-in. When you later upgrade your Odoo version, or want new capabilities, we quote the migration or enhancement as a scoped piece of work — the module is written to Odoo's standard ORM, security, and OWL patterns specifically so it stays maintainable across 17, 18, and 19.

Does it work on Odoo Community or only Enterprise?

Both. The module builds on standard POS, res.currency, and accounting concepts present in Community, and we test the same code against Enterprise. Tell us your edition and exact version (17, 18, or 19) and we build and validate against it. If you use ECOSIRE-managed hosting or Odoo.sh, we handle deployment there too.

Where do the exchange rates come from — are they live bank rates?

You control them. Counter rates are managed separately from Odoo's daily bank-feed currency rates, because retail counters usually apply a fixed posted rate through the day rather than a fluctuating market rate. Authorised staff set and update rates in the back office, protected by record rules. If you prefer, we can add a scheduled automated action to refresh rates from a source you nominate, with manual override always available.

How does the change-back actually work when a customer pays in a foreign currency?

Each tender is converted to your base currency at its applied rate, the order total is settled from those converted amounts, and any change due is calculated and handed back in your base currency — shown clearly on screen and on the QWeb receipt. The customer sees what they paid in their currency and what they received as change in yours, with the rate printed, so there is no ambiguity at the counter.

Will my accounting and session reconciliation stay accurate?

Yes — that's a core reason to build this properly rather than let cashiers improvise. Each foreign tender is stored on the pos.payment / pos.order with its currency and rate, session closing counts are captured per currency against expected denomination totals, and journal entries post with the correct currency so your P&L reflects real FX. The reconciliation report rolls every currency into a single base-currency variance so you can see at a glance whether a drawer balanced.

申请报价

POS Multi-Currency Payments

Take payment in several currencies per Odoo POS order with live rates and correct base-currency change-back.

  • Tender a single POS order across several currencies (e.g. part EUR cash, balance in local notes) with each payment line stored separately
  • Per-currency configurable exchange rates managed by authorised staff, decoupled from Odoo's daily bank-feed rates so counter rates stay stable through the day
  • Live conversion on the OWL payment screen — converted amounts and running balance recompute as the cashier types, using @api.depends compute fields
  • Change always calculated and displayed in your company base currency, with the applied rate shown so nothing is guessed on a calculator

申请报价

告诉我们您对 POS Multi-Currency Payments 的需求,我们将发送价格、许可选项和量身定制的方案,通常在一个工作日内。

现在无需付款。此操作会向我们的团队发送报价请求——我们会通过邮件跟进价格和后续步骤。