Lorixen.

Supplier Blanket Orders: Keep the Agreement Separate from Each Purchase

If you repeatedly buy from the same supplier under agreed terms, your purchasing tool should distinguish the standing agreement from the individual orders placed against it. An agreement can explain the price and period without proving that any particular delivery has been ordered, confirmed or received.

This guide is about specifying that relationship in a business application. Have the commercial terms and any minimum-purchase obligations reviewed by an appropriate adviser. A field called Agreement does not establish the legal effect of the document.

What belongs to the agreement?

Record the supplier, covered products, currency, agreed prices, effective period and responsible buyer. Keep the underlying document or reference available. If the agreement includes quantity or spending limits, distinguish a binding commitment from an estimate used for planning.

Odoo's official blanket-order documentation describes recurring purchasing from a supplier with predetermined prices. Its agreement form includes supplier, buyer, currency, validity dates, products, quantities and unit prices. That is a product-specific example, not evidence that every blanket order has identical terms.

The same guide warns that product prices are not automatically added to a new blanket agreement: the agreed unit price must be entered, otherwise it remains zero. The practical requirement is to distinguish an intentionally agreed zero price from a missing price. Do not let an empty configuration become an apparently valid free purchase.

Each call-off needs its own identity

For each purchase drawn from the agreement, show its own reference, product quantities, requested delivery and status. Preserve a link back to the agreement version used. A draft request is not a supplier acknowledgement; a confirmed purchase is not a goods receipt.

Odoo documents creating linked requests for quotation from a confirmed blanket order, with information prefilled from the agreement and an Ordered quantity field updated from linked requests. This demonstrates why the relationship matters. It does not settle which draft, confirmed, cancelled or returned quantities your business should count against a contractual commitment.

Define those measures separately. You may need requested quantity, committed quantity, received quantity and remaining allowance. Give each a clear meaning. If a purchase is cancelled or partially received, the tool should explain which measures changed rather than showing one ambiguous remaining total.

Changes should not rewrite earlier purchases

The Odoo guide says confirmed blanket agreements can still be edited. For a commissioned workflow, decide who may make such changes and when they affect future purchases. Keep earlier orders' accepted terms available rather than silently recalculating their prices from today's agreement.

When replacing or extending an agreement, specify how open purchases are handled. A new validity period should not quietly move an old purchase into another agreement. Where terms genuinely change for an open order, use an explicit amendment and review process.

If the tool enforces a remaining allowance, test competing buyers. Two acceptable-looking drafts must not both consume the same final allowance without the agreed review. Also decide whether exceeding a limit blocks action or produces an exception for approval. A warning is not enforcement.

What happens when the agreement expires?

Agree which event determines eligibility: preparation, approval, sending or another defined business event. Show the reason when an old agreement cannot be used. Do not silently substitute a current supplier price and present it as the agreed price.

For existing open orders, follow the reviewed commercial policy rather than assuming expiry cancels them. Expiry, cancellation of an individual purchase and termination of the agreement are separate events.

Demonstration checklist

Use fictional agreements in the acceptance tests:

  • A missing price cannot masquerade as an agreed zero.
  • Every call-off traces to its agreement and applicable terms.
  • Draft, ordered and received quantities remain distinguishable.
  • Cancellation and partial receipt update the correct measures.
  • A price amendment does not silently rewrite earlier purchases.
  • Competing buyers follow the allowance rule.
  • Expired agreements and open orders follow the agreed policy.

Discuss this structure when commissioning a purchasing workflow tool. The value is an explainable purchasing record, not an unsupported promise of savings. The cited Odoo 19 guide supports the agreement fields, missing-price warning, linked requests and editability; version snapshots, allowance enforcement and expiry-event rules above are proposed requirements.

WhatsAppLet’s talk