01 / The problem
Why a purchase process needs more than a Purchase Order
In Odoo, a purchase order is not the whole purchasing process. A reliable workflow must explain why the purchase was needed, who approved the commitment, what the supplier delivered, whether the bill matches the commercial agreement, and when the payment cleared.
When teams skip steps or create documents outside the connected workflow, common symptoms include duplicate vendor bills, receipts that do not match supplier invoices, incorrect product costs, late purchase approvals, and month-end balances that are difficult to explain.
The goal is not to add unnecessary approvals. It is to create the minimum set of linked records that lets purchasing, warehouse, operations, and accounting answer the same question: what did we commit to, what did we receive, and what do we owe?
Purchasing
Right supplier
Price, delivery date, and approval are visible before the order is confirmed.
Inventory
Right quantity
Receipts record what physically arrived, including partial deliveries and exceptions.
Accounting
Right liability
Vendor bills can be reviewed against source documents before payment.
02 / The operating model
A practical 7-stage Odoo purchase workflow
Use the sequence below as a starting point. A manufacturer buying raw materials may need tighter receiving and valuation controls than a service business purchasing software subscriptions. Configure the flow around the actual purchase, not around a one-size-fits-all diagram.
Identify and document the need
Start with a reason: stock replenishment, a confirmed customer order, an approved manufacturing requirement, a project, or an operating expense. Record the product or service, required quantity, need-by date, destination, and responsible owner. For recurring stock items, review whether replenishment rules are appropriate.
Create and review the RFQ
Create a Request for Quotation (RFQ) for the intended supplier. Confirm vendor, product, description, quantity, unit of measure, currency, expected lead time, taxes, shipping charges, payment terms, and delivery address. For material purchases, compare supplier quotations when a competitive quote is required.
Control: Supplier names, products, and units of measure should be standardized. Similar-looking duplicate product or vendor records can undermine reporting and price comparisons.
Approve and confirm the Purchase Order
Use a clear approval threshold based on spend, category, or risk. Once authorized, confirm the RFQ into a Purchase Order (PO) and send the order to the supplier using the agreed communication process. The PO should be the documented commercial commitment—not an informal email or a warehouse note.
If formal multi-level approvals are required, confirm which approval rules or customizations are actually enabled in your Odoo database. Do not assume an approval gate exists simply because a policy document says it should.
Receive goods or record service completion
For stocked products, process the incoming receipt against the PO and validate actual quantities, packaging condition, destination location, and lot or serial details where relevant. If the supplier ships in stages, record the quantity received and manage the remaining quantity using the appropriate partial-receipt or backorder process.
For services, use a documented service-completion or acceptance step appropriate to the business. A physical inventory receipt is not a substitute for confirming that consulting, maintenance, or other contracted work was delivered.
Create the vendor bill from the right source
Where the workflow supports it, create the vendor bill from the related PO so supplier, lines, prices, and references carry through. Check the supplier invoice number, invoice date, due date, currency, tax treatment, freight, discounts, and billed quantities. Avoid entering the same invoice independently in a way that creates a duplicate liability.
Bill-control behavior can depend on product type and Odoo configuration—for example, whether bills are controlled by ordered quantities or received quantities. Choose deliberately and test the real-life cases before rollout.
Resolve exceptions before posting or paying
Compare the agreed PO terms, the quantities recorded as received where relevant, and the supplier invoice. Investigate price differences, short shipments, damaged goods, freight variances, tax differences, duplicate invoices, and supplier credits. Route exceptions to a named owner instead of leaving them in a shared inbox.
Exception rule: Do not silently change the PO just to make an invoice match. Record the commercial reason and obtain approval for legitimate changes.
Register payment and reconcile the bank
Pay according to approved terms, preserve remittance details, and reconcile the bank transaction to the recorded payment. Handle credits, partial payments, early-payment discounts, and foreign-currency payments according to the company’s accounting policy. At month-end, review overdue bills, receipts awaiting bills, and bills awaiting payment.
For US businesses, keep tax treatment and supporting documentation aligned with the company’s facts and accounting policy. Odoo workflow configuration does not replace tax or accounting review.
03 / Choose the path
Which purchase path fits your operation?
Select the situation closest to your business. Use the guidance as a starting design, then validate routes, document behavior, and accounting impact in your own Odoo environment.
Recommended design
Stock replenishment
Use reliable on-hand and forecast quantities, vendor lead times, minimum/maximum levels, and appropriate replenishment rules. Review generated RFQs before confirming the supplier commitment.
Key control
Avoid duplicate buying by reviewing open RFQs, POs, and incoming receipts.
Test before launch
Run a demand example and verify the suggested quantity, vendor, lead time, and destination.
04 / Controls & exceptions
Controls that keep purchasing and accounting aligned
The right workflow should reduce manual follow-up—not just create more records. Define ownership for the following controls and decide how exceptions will be handled before the first live purchase.
The three-document match
For many stocked-product purchases, a useful review compares three records. The precise automation differs by version and settings, so treat this as a control principle—not a claim that every Odoo database blocks every mismatch automatically.
1 · Purchase Order
What was approved?
Supplier, agreed price, quantity, terms.
2 · Receipt
What arrived?
Received quantity, date, condition, destination.
3 · Vendor Bill
What is being charged?
Billed quantity, unit price, tax, freight, credits.
05 / Before go-live
Odoo purchase process readiness check
Mark the checks you have completed. Use this as a short workshop agenda with purchasing, warehouse, and accounting.
0 of 8 controls reviewed
Start by reviewing the controls with the people who will use the process.
Practical troubleshooting
Common Odoo purchasing problems—and where to investigate
The same vendor bill appears more than once +
Review invoice references and the team’s bill-entry process. Confirm whether one bill was created from the PO while another was entered manually. Use a clear rule for who creates bills and how vendor invoice numbers are captured; available duplicate checks depend on configuration.
The received quantity does not match the supplier invoice +
Check the validated receipt, units of measure, partial shipments, and supplier packing slip. Confirm whether the bill-control policy is based on ordered or received quantities, then resolve the commercial difference instead of forcing the records to match.
Purchase orders are not linked to the production or sales demand +
Review the demand source and configured procurement routes. Make sure the business knows whether it buys to replenish stock, buy-to-order, or based on manufacturing component needs. Do not use a generic manual PO process for every case if traceability to the original demand is important. See our Odoo manufacturing sales process guide.
Inventory and accounting costs do not agree after a purchase +
Check product costing method, inventory valuation configuration, receipt and bill timing, landed costs, valuation entries, and account mapping. The right investigation depends on the product category and inventory accounting setup. Avoid posting a manual journal entry before identifying the source of the difference.
06 / Frequently asked questions
Odoo purchase process FAQs
What is the normal purchase workflow in Odoo? +
A common flow is RFQ, supplier review, PO confirmation, receipt or service acceptance, vendor bill review, payment, and bank reconciliation. The exact sequence depends on product type, procurement policy, and configuration.
Should the vendor bill be created before receiving the goods? +
It depends on supplier terms, product type, and the business’s bill-control configuration. For stocked goods, the receipt record is important for comparing what arrived with what is billed. Services, deposits, and prepayments may need different handling.
What does three-way matching mean? +
It is a review of the purchase order, receipt or recorded delivery quantity, and vendor bill. It helps identify differences in quantity, pricing, freight, or billing before payment. Automation and blocking behavior depend on Odoo version and setup.
Can Odoo generate purchase orders automatically? +
Odoo can support replenishment-driven purchasing when the relevant routes, vendors, and rules are configured. Depending on the setup, the replenishment action may generate draft procurement documents for review. Test how it behaves for each important product category before relying on it operationally.
How should a small US business start? +
Start with a small set of purchase categories, standard vendor and product data, clear approval limits, and a consistent PO-to-bill process. Test the normal case plus partial receipts, price changes, credits, and duplicate invoice scenarios before expanding the workflow.
A useful operating principle
A purchase should be traceable from the business need to the supplier commitment, the goods or services received, and the amount ultimately paid.
Odoo can support that chain, but the outcome depends on sound master data, practical roles, tested routes, and consistent document handling. Review the full workflow with procurement, operations, inventory, and accounting together—especially when purchasing is connected to manufacturing or customer-specific demand.
Accountrise · Odoo accounting support
Need help cleaning up your Odoo purchasing workflow?
Accountrise helps businesses review Odoo purchasing, inventory-to-accounting handoffs, vendor bills, reconciliations, and month-end processes. Support starts at $10/hour; final pricing depends on scope, transaction volume, complexity, and engagement requirements.