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. Purchase
  3. Manual Currency Rate on Purchase Orders v 17.0
  4. Sales Conditions FAQ

Manual Currency Rate on Purchase Orders

by TRUODO SOLUTIONS LLP https://www.truodo.com
Odoo

$ 9.00

v 17.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Discuss (mail)
• Purchase (purchase)
• Inventory (stock)
Community Apps Dependencies Show
Manual Currency Rate per Transaction
Lines of code 1129
Technical Name trdo_purchase_currency_rate
LicenseOPL-1
Websitehttps://www.truodo.com
Versions 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Invoicing (account)
• Discuss (mail)
• Purchase (purchase)
• Inventory (stock)
Community Apps Dependencies Show
Manual Currency Rate per Transaction
Lines of code 1129
Technical Name trdo_purchase_currency_rate
LicenseOPL-1
Websitehttps://www.truodo.com
Versions 17.0 18.0 19.0
  • Description
  • License
  • Overview
  • Workflow

Exchange Rate on Purchase Order

Lock in the exchange rate you actually agreed with your vendor — and carry it automatically through to the vendor bill and inventory valuation, instead of letting Odoo's date-based market rate quietly take over.

✓ Odoo 17 Community & Enterprise ✓ Bidirectional Rate Display ✓ Bills & Stock Valuation Synced

What This Module Does

When you raise a purchase order in a foreign currency, Odoo normally converts it using that day's market rate. This module lets you enter the exact rate you negotiated with your vendor instead — shown both ways (e.g. 1 USD = 3.80 AED and 1 AED = 0.26 USD). That same rate then carries forward automatically to the vendor bill and is used to value your stock when the goods arrive, so the order, the bill, and your inventory all agree on one number.

How It Works

  1. Pick a foreign currency on the order — a starting rate fills in automatically.
  2. Override it with the rate you actually agreed with your vendor.
  3. Confirm the order — the rate locks so it can't be changed afterward.
  4. Create the vendor bill — it picks up the same rate automatically.
  5. Receive the goods — stock valuation uses that same rate, not the market rate.

Who Should Use This

  • Companies that negotiate a fixed exchange rate with vendors instead of using the daily market rate.
  • Purchasing and accounting teams who need the PO, bill, and inventory valuation to match exactly.
  • Businesses dealing in semi-fixed or pegged currencies (e.g. AED, SAR) where the "market rate" doesn't reflect the real deal.
  • Anyone tired of manual exchange-difference journal entries at month-end.
02 — WHY CHOOSE US

Built by Odoo Experts.
Trusted by Businesses.

✦

Dedicated Support

We stand behind every product we ship, responsive support when you need it most. ✦10-hour free trial included

✦

Industry-Specific Expertise

Deep knowledge across manufacturing, retail, services, healthcare, and more — we don't apply generic ERP templates, we tailor solutions to your sector.

✦

Fast & Phased Implementation

Our agile delivery model gets your core ERP live quickly, then scales with your needs — reducing risk and accelerating ROI.

Email us

sales@truodo.com

→

WhatsApp

+91 99255 58791

→

LinkedIn

https://www.linkedin.com/company/truodo-solutions

→
Visit our website www.truodo.com
03 — FAQ

FAQ

Everything worth knowing before you install. Still unsure about something specific?

Talk to a human

Our product team replies fast — usually within a few hours.

Contact support →
What does the Exchange Rate on Purchase Order module do? ↓
It adds a manual currency rate field to purchase orders that overrides Odoo's date-based market rate. You set the exact rate you agreed with your vendor, and it carries through automatically to the vendor bill and to inventory valuation when goods are received.
How is this different from Odoo's standard currency handling? ↓
Standard Odoo recalculates the exchange rate from the date-based rate table every time related fields change, which can silently overwrite any manual entry you make. This module replaces that calculation with your manual rate whenever one is set, and protects it through the order, bill creation, and stock valuation.
When does the rate get locked, and can I still change it after? ↓
The rate fields are editable while the purchase order is in draft/quotation states. The moment you confirm the order, both rate fields automatically become read-only to prevent the agreed rate from being changed afterward — the same protection Odoo gives other confirmed purchase fields.
Does the rate carry over if I create the bill differently — manually or via Auto-Complete? ↓
Yes. Whether you click Create Bill directly from the confirmed order, use the Bill Matching screen, or create a bill manually and link the purchase order afterward via Odoo's Auto-Complete field, the module re-applies the order's manual rate so the bill is never left with a different, freshly-fetched market rate.
Does this affect inventory valuation too? ↓
Yes, for products costed with FIFO or Average Cost (AVCO). When goods are received against the order, the stock move's value is calculated using your manual rate instead of the receipt date's market rate, so the purchase order total, vendor bill, and inventory valuation all stay consistent. Products on Standard Price costing ignore the move's price entirely, by Odoo design, so this has no effect on those.
04 — MORE FROM US

Related apps
you might need

Browse all apps →
Required

Manual Currency Rate per Transaction

The companion app this module builds on — brings manual currency rates to invoices and journal entries across all of Accounting.

View →
Inventory

Stock Effective Date

Set an effective date on inventory transfers before validation.

View →
Website

Website Cart Cleaner

Clear all cart items from website cart page.

View →
Point of Sale

Minimum Order Amount | Restrict Orders

Restrict low-value orders by enforcing a minimum cart amount during checkout.

View →
1

Enable Multi-Currency & Activate a Foreign Currency

Go to Settings → Accounting, scroll to the Currencies section, and Then click through to Currencies and activate the foreign currency you'll be purchasing in (for example USD, EUR, or AED) — make sure it has at least one exchange rate set.

Step 1 - Enable Multi-Currency Step 1.1 - Enable Multi-Currency

Settings → Currencies → Activate a foreign currency

2

Create a Purchase Order in a Foreign Currency

Create a new Request for Quotation and select your vendor. Change the order's Currency field to the foreign currency you activated. As soon as you do, this module's bidirectional rate widget appears just below the currency field, pre-filled automatically with today's market rate as a convenient starting point.

Step 2 - Create PO in foreign currency Step 2.1 - Create PO in foreign currency

New RFQ → Pick Vendor → Change Currency

3

Override the Rate to Match What You Agreed

Type the rate you actually negotiated with your vendor into either side of the widget — "1 [Company Currency] = X [Order Currency]" or "1 [Order Currency] = X [Company Currency]". Whichever side you edit, the other field updates instantly to stay mathematically consistent.

💡 Tip: This doesn't need to match today's market rate — it's the rate you and your vendor actually agreed on for this purchase.
Step 3 - Override the manual rate

Edit either rate field — the other side updates automatically

4

Add Products & Review the Total

Add your order lines as usual — products, quantities, and unit prices in the order's currency. The order's company-currency total is calculated using your manual rate instead of the date-based market rate, so the figure you see is the true cost that will land in your accounting currency.

Step 4 - Order total reflects manual rate

Order total reflects your manual exchange rate

5

Confirm the Purchase Order

Click Confirm Order. The moment the order becomes a confirmed Purchase Order, both rate fields automatically switch to read-only — locking in the agreed rate so it can't be changed after the fact.

⚠️ Rate fields lock automatically once the order state is "Purchase Order" or "Cancelled".
Step 5 - Confirm purchase order Step 5.1 - Confirm purchase order

Confirm Order → Rate fields become read-only

6

Create the Vendor Bill

Create the vendor bill from the confirmed order — whether through Create Bill, the Bill Matching screen, or any other standard route. The bill is generated in the same currency, using the exact same rate as the purchase order — no need to re-enter or correct it.

Step 6 - Create vendor bill Step 6.1 - Create vendor bill Step 6.2 - Create vendor bill

Create Bill → Same currency rate carried over

7

Still Works via Manual Auto-Complete

Even if a bill is created separately and the purchase order is linked afterward through Odoo's Auto-Complete field, the module re-applies the correct rate. This is the trickiest path to get right — Odoo's own auto-complete logic normally resets the rate to a freshly-fetched market value right after filling the lines, and this module quietly corrects it back.

✔️ Verified against Odoo's "_onchange_purchase_auto_complete" flow — the path most likely to silently lose a manual rate.
Step 7 - Auto-complete carries the rate Step 7.1 - Auto-complete carries the rate Step 7.2 - Auto-complete carries the rate

Manual Auto-Complete → Rate still matches the original PO

8

Receive the Goods

Validate the receipt linked to the purchase order as you normally would. Behind the scenes, the module values the incoming stock moves using your manual rate — not the market rate on the day the goods happen to arrive.

Step 8 - Validate the receipt Step 8.1 - Validate the receipt

Validate Receipt → Stock valued with the manual rate

9

Inventory Valuation Stays Aligned

For products costed with FIFO or Average Cost (AVCO), the product's running cost updates using your manual rate, keeping the purchase order total, the vendor bill amount, and the inventory valuation report all telling the same story.

✅ Consistent rate across PO, Bill, and Stock Valuation
  • Purchase order total reflects the manual rate
  • Vendor bill carries the same rate, with no re-entry needed
  • Stock valuation layer uses the same rate for FIFO/AVCO products
  • No manual exchange-difference journal corrections needed
Step 9 - Inventory valuation aligned Step 9.1 - Inventory valuation aligned Step 9.2 - Inventory valuation aligned Step 9.3 - Inventory valuation aligned

Product cost reflects the agreed exchange rate

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