Manual Currency Exchange Rate for Invoice and Payment
by Serpent Consulting Services Pvt. Ltd. https://www.serpentcs.com$ 29.79
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Lines of code | 548 |
| Technical Name |
manual_currency_exchange_rate_invoice_payment |
| License | LGPL-3 |
| Website | https://www.serpentcs.com |
| Versions | 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Lines of code | 548 |
| Technical Name |
manual_currency_exchange_rate_invoice_payment |
| License | LGPL-3 |
| Website | https://www.serpentcs.com |
| Versions | 17.0 18.0 19.0 |
Manual Currency Exchange Rate for Invoice and Payment
This module enables businesses to apply a custom manual exchange rate on customer invoices and payments in Odoo, overriding the system's default currency conversion. Users can define a specific rate directly on the invoice, payment form, or register payment wizard, which is then accurately reflected in the generated journal entries and bank moves. The module preserves original invoice amounts to ensure P&L integrity, supports write-off line adjustments, and displays the applied rate as an optional column in journal entry line items — making it ideal for companies that deal with negotiated or fixed foreign exchange rates.
Highlighted Features
Set Your Own Exchange Rate
Tired of Odoo using the wrong rate? Simply enter the rate you agreed upon with your client or bank — no more surprises in your accounts.
Rate Auto-Fills at Payment Time
When you go to collect payment, the rate from your invoice is already filled in. Just verify and pay — done in seconds.
Payment Amount Calculates Itself
Change the rate and watch the payment amount update instantly. No manual calculations, no errors.
Every Journal Entry Stays Accurate
Your bank entries always reflect the exact rate you applied — what you see on the invoice matches what hits your books.
Your Invoice Never Gets Touched
Changing the rate at payment time? Don't worry — your original invoice amount stays exactly as it was. Clean P&L, always.
Detailed Features
Manual Exchange Rate Input
Every business dealing in foreign currencies knows that the market rate and the agreed rate are rarely the same. This feature allows you to set a custom exchange rate directly on the customer invoice, the direct payment form, or the Register Payment wizard. Instead of being forced to use whatever rate Odoo fetches from the system, you have complete control over the exact conversion value that gets applied to your transaction and reflected in your books.
Auto Pre-fill from Invoice
When a foreign currency invoice is created with a specific rate, that rate is automatically carried forward when you open the Register Payment wizard. You no longer need to remember or manually re-enter the rate at payment time. The wizard picks it up from the invoice, displays it for your review, and applies it directly — saving time and eliminating the risk of entering a mismatched rate during payment processing.
Instant Payment Amount Calculation
As soon as you enter or update the manual exchange rate in the payment wizard, the payment amount recalculates itself on the spot. This works intelligently based on your payment currency — if you are paying in the foreign currency, the invoice amount is used as-is; if you are paying in your company base currency, the amount is derived by dividing the foreign amount by the entered rate. No manual math, no spreadsheets, no errors.
Accurate Bank Journal Entries
One of the most common pain points in multi-currency accounting is when the rate on the invoice does not match the rate on the bank journal entry. This module solves that completely. When a payment is posted, the manual exchange rate is automatically propagated to the corresponding bank journal entry (PBNK), ensuring that every line in your books reflects the exact rate that was agreed upon and applied during the transaction.
Invoice Amount Protection
Changing the exchange rate at payment time should never affect the original invoice. This module is built with that principle at its core. No matter what rate you enter during payment, the original invoice amounts — including the foreign currency total, the company currency balance, and the receivable amount — remain completely untouched. Your profit and loss statements stay accurate, your outstanding balances remain correct, and your audit trail stays clean.
Rate Visibility in Journal Items
Transparency in accounting means being able to trace every number back to its source. This feature adds an optional Manual Currency Rate column directly in the Journal Items tab of any journal entry. With a single click to enable the column, you can see exactly which exchange rate was applied on any invoice or payment — past or present — without having to open the original record or dig through logs.
Screenshots
Select Foreign Currency
Path:- Accounting → Customers → Invoices → New Draft Invoice → Journal field → Currency dropdown
While creating a Draft Customer Invoice, the currency dropdown is opened next to the Journal field. INR is selected by default and the USD option is visible — the user will select USD for a foreign currency invoice.
System Rate on Draft Invoice
Path :-Accounting → Customers → Invoices → Draft Invoice → Journal field (currency section)
After selecting USD currency, the system automatically displays the current exchange rate: 1 INR = 50.000000 USD. The product [DESK0005] Customizable Desk has been added to the invoice line with an amount of $1,000.00 and the Invoice is still in Draft state.
Posted Invoice Journal Items
Path :- Accounting → Customers → Invoices → INV/26-27/0022 → Journal Items tab
After confirming (posting) the invoice, the Journal Items tab is opened. Account 200110 Local Sales is credited ₹20.00 and account 100400 Debtors is debited ₹20.00 — INR value of ₹20.00 is booked based on rate 50.000000. Invoice status: Posted.
Pay Wizard Pre-filled Rate
Path :- Accounting → Customers → Invoices → INV/26-27/0022 → Pay button → Pay dialog
Clicking the Pay button opens the Pay wizard. The Apply Manual Currency Rate checkbox is automatically checked and Manual Currency Rate: 50.000000 is pre-filled — which is the system rate at the time of invoice posting. Amount $1,000.00 USD, Journal: Bank.
Modify Rate in Wizard
Path :- Accounting → Customers → Invoices → INV/26-27/0022 → Pay button → Pay dialog → Manual Currency Rate field
In the Pay wizard, the Manual Currency Rate field has been manually changed to 80.000000. The original invoice rate was 50 and setting the payment rate to 80 will generate an exchange difference. Payment will be confirmed using the Create Payment button.
Invoice PAID with Exchange Difference
Path :- Accounting → Customers → Invoices → INV/26-27/0022
The payment has been created — a PAID green stamp is visible on the invoice. The invoice bottom section shows ₹7.50 Exchange Difference and Paid on 06/09/2026 $1,000.00. Amount Due: $0.00. An Invoice paid log entry is visible in the chatter.
Reconciled Journal Items
Path :- Accounting → Journal Items → PBNK1/26-27/0023 (INV/26-27/0022) → 100400 Debtors
Three journal entries are visible in the reconciliation view: Payment entry PBNK1/26-27/0023 Credit ₹12.50, Invoice entry INV/26-27/0022 Debit ₹20.00, and Exchange difference entry EXCH/26-27/06/0010 Credit ₹7.50. All three are reconciled with matching number 36. Residual: $0.00.
Posted Vendor Bill Journal Items
Path :- Accounting → Vendors → Bills → BILL/26-27/06/0008 → Journal Items tab
The Vendor Bill has been posted. Journal: Vendor Bills, Currency: USD, Rate: 1 INR = 30.000000 USD. In Journal Items, 210700 Purchase Expense is debited ₹84.00 and 112110 Creditors is credited ₹84.00. Vendor: Azure Interior, Amount: $2,520.00.
Pay Wizard Auto-filled
Path :- Accounting → Vendors → Bills → BILL/26-27/06/0008 → Pay button → Pay dialog
The Pay wizard for the Vendor Bill is opened. Apply Manual Currency Rate is checked and Manual Currency Rate: 30.000000 is auto-filled — which is the rate at the time of bill posting. Amount: $2,520.00 USD, Journal: Bank, Memo: BILL/26-27/06/0008.
Modify Rate in Wizard
Path :- Accounting → Vendors → Bills → BILL/26-27/06/0008 → Pay button → Pay dialog → Manual Currency Rate field
In the Pay wizard, the Manual Currency Rate has been manually changed to 50.000000. The bill rate was 30 and the payment rate is set to 50 — this difference will generate a ₹33.60 exchange difference entry. The Create Payment button is visible.
Vendor Bill PAID with Exchange Difference
Path :- Accounting → Vendors → Bills → BILL/26-27/06/0008
The Vendor Bill is fully paid — a PAID green stamp is visible. The bottom section shows ₹33.60 Exchange Difference and Paid on 06/09/2026 $2,520.00. Amount Due: $0.00. Due to the difference between the invoice rate (30) and payment rate (50), ₹33.60 exchange difference has been auto-posted.
Reconciled Journal Items
Path :- Accounting → Journal Items → PBNK1/26-27/0022 (BILL/26-27/06/0008) → 112110 Creditors
Three journal entries are visible in the reconciliation view: Payment PBNK1/26-27/0022 Debit ₹50.40, Exchange difference EXCH/26-27/06/0009 Debit ₹33.60, and Vendor Bill BILL/26-27/06/0008 Credit ₹84.00. All three are reconciled with matching number 34. Residual: $0.00 — fully settled.
User Guide
FAQ
No, third-party apps can not be used on Odoo Online. Unfortunately, Odoo SaaS blocks such a possibility.
In many cases, yes. We offer Demo videos, Screenshots, Live demo links (for selected apps) If you need a personalized demo, you can contact our support team.
Yes, the module is fully compatible with Odoo Community and Enterprise editions.
You will get 30 Days of free support on any doubts, queries, bug fixing, or any issue related to this addon.
We request you contact our team via contact@serpentcs.com to discuss the features and customization required so that we can provide you assistance with your request.
Our Odoo Services
Odoo Consulting
Odoo Implementation
Odoo Development
Odoo Testing
Odoo Data Migration
Odoo Training
Odoo Support
Features
Screenshots
FAQs
WhatsApp
Email
Website
Please log in to comment on this module