You agree with a supplier on 1,200 units at SAR 18 per unit, giving a planned agreement value of SAR 21,600 before VAT in this hypothetical example. After three linked purchase orders of 300, 450 and 150, the total reaches 900 and 300 remain in the plan. The buyer now faces a decision. Do we complete the balance because the agreement exists, or stop because demand has changed?
At ToDoOps, we help purchasing establish a flow where the agreed price and linked orders can be reviewed before the next order is approved. Owners can see what was actually ordered, and buyers have a clear reference for supplier discussions. The Odoo purchasing guide covers receipt and billing controls.
What the Agreement Gives You in Odoo 19
The Odoo 19.0 documentation describes a long-term agreement with a vendor, where the agreed unit price is entered manually, a confirmed agreement can still be edited, RFQs are linked to it, and the ordered quantity updates for the linked purchase orders 1. We use those links to review orders from a common reference.
So we do not treat the quantity or amount recorded in the agreement as a hard ceiling, and we confirm its behaviour through testing. Ordered, received and invoiced are three different numbers, reviewed by the buyer, the warehouse and finance according to each role. Automatic replenishment follows the broader routes and rules in the system, and it does not start just because an agreement exists.
Comparing Repeat-Purchase Prices in Odoo
| Item | Calculation | Value (units or SAR before VAT) |
|---|---|---|
| Agreement total | 1,200 × 18 | 21,600 |
| Quantity on purchase orders | 300 + 450 + 150 | 900 units |
| Planned balance | 1,200 − 900 | 300 units |
| 900 at agreement price | 900 × 18 | 16,200 |
| 900 at a valid comparable price of 19.20 | 900 × 19.20 | 17,280 |
| Price difference on the 900 | 17,280 − 16,200 | 1,080 |
| The 300 balance if bought without need | 300 × 18 | 5,400 |
The 1,080 is a price difference on the same 900 units before VAT, and it ignores freight, quality and terms. It is not guaranteed cash savings or profit. Buying the full 1,200 without need could tie up an extra SAR 5,400 in stock nobody asked for.
Why We Segment Recurring Items First
McKinsey’s 2018 international analysis, titled Long tail, big savings, states that 80 to 90% of purchased items account for only 10 to 20% of total spend 2.
That international analysis gives context for segmenting items before choosing how to buy them. Start with repeat items with stable specifications, then identify what needs a separate sourcing decision. Compare the same unit, packaging and delivery basis so the agreed price represents an offer your team can actually use.
What Buyers and Finance Gain From Linked Odoo Orders
The buyer sees the remaining call-off balance before sending a new order. Finance asks about the agreed price and who entered it. The owner knows how much commitment exists on paper and how much of it is real demand. The calculators help estimate implementation costs and the potential operational value of improving this workflow.
Odoo Blanket-Order Acceptance Tests
| Test | What we do | Evidence saved |
|---|---|---|
| Price | Agreement at a manually entered 18 for 1,200 units | Agreement screenshot |
| Linking | Three linked orders of 300, 450 and 150 | Ordered quantity 900 and each order number |
| Exceeding the balance | A fourth order of 400 units, recording what happens without assuming a block | Screenshot and the buyer’s decision |
| Edit after confirmation | Change a field on a confirmed agreement and review the effect on existing orders | Before and after record |
| Receipt and invoicing | Receive 200 and invoice 100 | Three separate figures for ordered, received and invoiced |
| Replenishment | Review the product routes and rules | Confirmation that the agreement alone creates no request |
Common Questions About Odoo Purchase Agreements
Does the system stop purchases above the agreement quantity? We do not assume so. The quantity and amount are not treated as a hard ceiling, so we test the case and set an approval rule with the buyer.
Does the agreement trigger replenishment automatically? No. Replenishment follows routes and rules, and the agreement does not enable it on its own.
Which items suit an agreement? Items with repeat demand, a known supplier and a comparable price. Rare purchases stay as ordinary orders.
Scoping Blanket Purchase Agreements for Your Team
Agreements belong to the purchasing cycle within the Odoo apps, and the suitable items differ by the industry you work in. To see a limited sales and stock journey, you can open the demo to explore how sales and inventory connect.
What We Agree Before Moving Supplier Agreements Into Odoo
Start with one supplier and a manageable item group. The buyer reviews descriptions, units of measure and pack sizes, then records the agreed price, validity period and offer reference. Different pack sizes can distort unit-price comparisons until the quantities share the same basis.
Agree who can edit the price after confirmation, how colleagues learn about changes, and who reviews orders above the planned quantity. In the example, a fourth order for 400 units takes ordered quantity to 1,300, which is 100 above the plan. The reason and approver should be traceable. If the supplier contract includes a purchase minimum, the responsible person reviews that commitment before cancelling planned quantities.
References
[1] Odoo 19.0 official documentation, blanket orders section in Purchase.
[2] McKinsey, Long tail, big savings, 2018.
Next Step
Prepare a short list of repeat items, a supplier offer with sensitive information removed, and your current approval process. Discuss Odoo implementation with us to define system configuration and the buyer decisions that support it. Estimate your project budget with the calculators and explore implementation services at ToDoOps.
