Not sure which Odoo apps you actually need? Start with a free diagnostic call Book a call →
Odoo Purchase

Every bill checked before it’s paid, not after.

Odoo Purchase runs RFQ-to-PO, vendor pricelists, and 3-way matching between order, receipt and bill out of the box. What actually protects your margin is whether that matching is enforced or just available — and whether someone configured the approval thresholds before the first six-figure PO went through unsupervised.

Get a purchasing audit → See what we set up
What we configure

Six pieces that decide whether purchasing controls spend or just records it.

Purchase is one of the modules where the default setup technically works — and quietly lets discrepancies through for months because nobody switched on the checks that catch them.

RFQ-to-PO flow

Request for quotation sent to one or several vendors, compared side by side, converted to a confirmed purchase order — with the audit trail of who quoted what intact, not lost in an email thread.

$

Vendor pricelists

Multiple vendors per product, each with their own price, minimum quantity, and lead time. Odoo picks the right vendor automatically on reorder — if the pricelists were actually set up per vendor and not just copied from one.

3-way matching

Purchase order, goods receipt, and vendor bill reconciled against each other before payment. Quantity or price mismatches get flagged instead of silently approved — this is the control most SMB Odoo instances never actually turn on.

Vendor performance tracking

On-time delivery rate and lead-time variance tracked per vendor, so “our supplier is always late” becomes a number you can renegotiate with, not a feeling.

Blanket orders

A standing agreement with a vendor — fixed price, fixed quantity ceiling, drawn down against over months — instead of re-negotiating and re-keying a fresh PO every time you reorder the same part.

Approval thresholds

PO value bands routed to the right approver automatically. Below a limit, auto-confirm; above it, it waits for a manager. Configured against your actual delegation of authority, not Odoo’s single default rule.

The part everyone underestimates

Multi-currency vendor bills are where the numbers quietly drift.

Illustrative pattern — not a specific client, but a recurring shape we see in businesses that import from overseas vendors and post bills in a foreign currency.

Unmanaged FX on vendor bills

  • Vendor bill posted in USD or EUR using whatever exchange rate Odoo has cached that day
  • No rate locked to the PO or the receipt date — the bill and the PO can silently disagree on landed cost
  • Month-end revaluation runs on rates nobody can trace back to a source
  • Landed cost never gets tied to the actual receipt, so per-unit cost in the ledger doesn’t match what was actually paid
  • Finance discovers the drift at year-end audit, not at bill entry

Rate-anchored vendor bills

  • Historical FX rate attached to the bill at the date it’s actually recorded, not a floating daily rate
  • PO, receipt, and bill currency and rate reconciled as part of 3-way matching, not after the fact
  • Landed cost (freight, duty, insurance) automated against the purchase receipt, allocated back to the PO lines it belongs to
  • Realised vs unrealised FX gain/loss visible and traceable to source documents
  • Approval thresholds apply in the vendor’s currency and your reporting currency both — so a large PO can’t slip through on a favourable exchange-rate technicality
Beyond the standard app

What we build on top of stock Purchase.

Approval-threshold workflows by value band and department Landed cost automation tied to purchase receipts Vendor portal access for RFQ responses Multi-currency bill validation against historical FX rates 3-way matching enforcement with mismatch alerts Vendor lead-time & on-time delivery dashboards Blanket-order drawdown tracking Purchase-to-import compliance docs (bill of entry, customs)

Import-heavy businesses shouldn’t have to reconcile landed cost in a spreadsheet after the fact — we tie freight, duty and insurance to the receipt automatically so per-unit cost is right the first time it posts.

3documents matched — PO, receipt, bill
0tolerance for FX rate drift left unreconciled
Nvendors per product, ranked by price & lead time
1approval workflow, matched to your actual delegation of authority

Get a free purchasing audit.

We’ll look at your current PO-to-bill flow, whether 3-way matching is actually enforced, and how vendor bills handle foreign currency. Within 5 business days you’ll have a written audit — with a fixed-scope quote for what needs fixing. No deck.