OdooWiki OCA HUB

Purchase - Manual Currency

purchase_manual_currency folder_open OCA/purchase-workflow open_in_new
Purchase Management License: AGPL-3

This module allows users to update the currency manual of Purchase Order in draft state.

Example, The company will make a deal with vendor before buy product that process maybe not same day. So, currency rate in purchase order will calculated from order date but Company get currency rate from date of make a deal or special currency rate.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Lets buyers set a manual currency rate on draft purchase orders instead of using Odoo's automatic rate, and choose whether vendor bills inherit that rate from the purchase order or use their own.

On a draft purchase order, when the order currency differs from the company currency, a new Manual Currency option appears next to the currency field. Users can tick it, type a specific exchange rate, and choose how the rate is expressed: either the foreign currency per one unit of company currency, or the company currency per one unit of foreign currency. A refresh button recalculates the rate from the order date, but only while the order is still in draft; once confirmed, the rate fields become read-only.

The purchase order lines show an extra column, Amount (Company Currency), which converts each line subtotal into the company currency using the manual rate. This column is hidden when the order already uses the company currency.

In Purchase settings, a new option called Bill Manual Currency lets the company decide what happens when a vendor bill is created from a purchase order: either the bill keeps its own currency settings, or it copies the manual currency, rate type and rate from the purchase order. When copying is active, Odoo blocks creating a bill that mixes purchase orders with different manual currency settings or different manual rates, showing an error message instead.

The module extends purchase.order, purchase.order.line, res.company and res.config.settings, and adds fields to the purchase order form and the Purchase settings screen.

Depends on

Required by other modules

Models and fields (4)
  • res.company · extends an existing modelmanual_currency_po_inv (Manual Currency Purchase - Invoice)
  • purchase.order · extends an existing modeltype_currency, manual_currency, company_currency_id (Company Currency)
  • purchase.order.line · extends an existing modelcompany_currency_id (Company Currency), subtotal_company_currency (Subtotal (Company Currency))
  • res.config.settings · extends an existing modelmanual_currency_po_inv

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 5 confirmed, 4 with no information of 9 versions.

Sources · Odoo 18.0

Confirmed on 2026-11-03 in branch 18.0 of OCA/purchase-workflow.

terminal Installation and usage

OCA documentation · Odoo 18.0

To use this module, the company have to access rights Multi Currencies.

Step to used manual currency: #. Go to Invoicing \> Configuration \> Settings \> Currencies \> Multi-Currencies #. Go to Purchase \> Create new purchase. #. Change to other currency (not company currency) #. Check Manual Currency and specify your currency rate

No verified information in OCA: Installation, Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.