The exchange rate you actually agreed to on every document
Enter the rate a bank quoted or a contract locked in — across quotations, orders, invoices, bills, payments and expenses — with guardrails, approval and a full audit trail.
The problem
Odoo pulls one daily rate from a central table and applies it automatically. The rate a bank quoted, a customer agreed to, or a signed contract locked in is often different — and editing the shared currency table to match it silently changes every other document dated that day.
The solution
Enter the actual rate on the document itself. It stays locked from quotation through payment, is checked against the market rate, and is written to a permanent audit log — without ever touching Odoo's shared daily rate table.
Everything international finance teams need
Every capability below is implemented in the module.
Full document lifecycle
Set a manual rate on quotations, sales orders, RFQs, purchase orders, customer invoices, vendor bills, credit and debit notes, payments, and employee expenses — one module instead of three or four.
Bidirectional rate entry
Company-per-foreign and foreign-per-company rates are shown together and kept in sync automatically as you type either one.
Live converted-amount preview
See the resulting base-currency total update as you type the rate, before the document is even saved.
Tolerance validation
Every manual rate is checked against the current market rate within a configurable percentage band, so a fat-fingered entry is caught at the point of entry.
Approval workflow
Rates outside the tolerance band route the document to a To Approve state with dedicated Approve and Reject actions before it can post.
Per-document audit trail
Every applied rate, its deviation from market, and its approval state is written to a permanent Rate Audit Log you can search and review.
Pre-fill last-used rate
The rate field defaults to the last rate used for the same currency pair, cutting repetitive re-entry for recurring partners.
Rate lock-in on confirmation
Once a document is confirmed, its manual rate is locked so it cannot drift mid-transaction from quotation to payment.
Bulk update and daily import
Apply one agreed rate to every draft document for a currency pair in a single wizard run, or let a scheduled import keep rates current with a transparent per-currency report.
How it works
Enable manual rate
Toggle manual entry on any supported document once its currency differs from the company currency.
Enter the rate
Type the agreed rate in either direction; the reverse rate and the converted total update live.
Guardrails apply
The rate is checked against the market rate; anything outside tolerance is sent for approval before posting.
Lock and log
Confirming the document locks the rate in place and records it in the audit log for later review.
Frequently asked
No sales fog. If your question isn't here, email us and we'll answer it the same way.
Quotations and sales orders, RFQs and purchase orders, customer invoices, vendor bills, credit and debit notes, payments, and employee expense reports all carry the same manual rate control.
Buy it on the Odoo App Store
Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.
Manual Currency Exchange Rate
Per-document manual rates across sales, purchasing, invoicing, payments and expenses — bidirectional entry, live converted-amount preview, tolerance validation, approval and rate lock-in on confirmation.
Buy on Odoo App StoreMore Odoo accounting apps
Mass Invoices & Bills Send by Email
Bulk-send posted customer invoices and vendor bills straight from the list view — role-based recipients, visible daily quota, a draft-to-sent approval step, and per-document delivery status with one-click retry.
Multi Currency Partner Ledger
Per-partner statements in any currency you pick, showing native and converted amounts with the rate on every line, opening and closing balances, receivable and payable split and unrealized FX exposure.
Multi Invoice Payment — Batch, Partial & Smart Allocation
Batch invoice and bill payment, precise per-invoice allocation, and confident reconciliation — built natively on Odoo.
Multiple Write-off Lines on Payments
Split a payment difference across multiple write-off accounts by amount or percentage, with reusable templates and a live balance check before posting.
Payment Double Approval Workflow
Multi-tier payment approval rules combining amount, journal, method, partner and partner tags — with a live match preview, delegation, SLA escalation, bulk approval and no-login email approve or reject.
Payment Installments
Split customer invoices and sales orders into tracked, frequency-based installment plans with down payments, late fees and early-payment discounts.