Choose how repeat orders will be controlled

A blanket agreement records the terms for repeated purchases. A call-off is an individual order released against those terms. For a café group, the practical decision is whether branch managers may release orders themselves or must send requests to a central buyer. Assign one buyer to own the agreement, even when several people place orders. Define whether its quantity is a planning estimate, a purchasing ceiling or a commitment agreed with the supplier; a number entered on a screen does not settle that distinction.

Separate purchase orders remain a reasonable choice when specifications or suppliers change frequently. A shared register can also work for a small operation if one buyer reconciles every release before sending it. A blanket-order workflow becomes more useful when the same items recur across branches and staff need a common reference for price and remaining quantity. It also introduces work: someone must maintain terms, resolve changes and prevent parallel requests from consuming the same remaining allowance.

Keep agreement terms and release evidence together

Use the following as an operating template, not a claim that every field or approval exists in a particular product. Keep the supplier’s accepted terms with the agreement reference. Each release should retain the terms used at approval, rather than relying only on a live agreement that may later change. For packaging, specify the cup size, matching lid and ordering unit: a price per piece cannot be compared directly with a price per carton.

Agreement versus call-off control template
Buyer and supplierNamed buyer, supplier and agreement referenceRequester, branch and matching referencePurchasing lead resolves wrong supplier or missing link
ValidityStart, end and renewal decisionCheck proposed release date against termsBuyer obtains renewed terms before release
Unit priceProduct specification, unit, currency and agreed priceCompare price and record delivery charges separatelyBuyer resolves price differences with supplier
Linked quantitiesAgreed quantity and what that quantity meansLinked order IDs, statuses and quantities; proposed new releasePurchasing lead resolves excess or competing requests
Changes and approvalAccepted version and authorised change ownerReason, approval evidence and version usedNamed manager decides whether to revise or reject
Download CSV

Recommended operating controls; configure and test their implementation separately.

What the Odoo 19.0 example establishes

Odoo 19.0 documents buyer, vendor, currency and validity fields. Product prices require manual entry; otherwise they remain zero. Linked quotation quantities update the agreement’s Ordered field. Confirmed agreements can still be edited. These documented behaviours support a shared purchasing record, but this source does not establish mandatory approval or a hard quantity cap. Require a demonstration in your configured system before relying on either control.

Before staff use the workflow, have a second person compare the entered prices with the accepted supplier terms. Set an internal rule that a zero price or unexplained price change pauses release. Keep an approved version and a reason for each amendment. If the software cannot restrict edits in the way your team needs, use a controlled approval record and central release while the gap is resolved. Treat that as a manual dependency with a named owner.

Check the next order against a worked example

Consider an illustrative agreement for 10,000 identical cups at HK$0.80 each, valid from 1 October to 31 December 2026. Assume the business has explicitly set 10,000 cups as its internal release ceiling. Two confirmed, linked orders contain 3,000 and 4,000 cups, with no cancellations or other pending requests. The remaining allowance is 10,000 − 3,000 − 4,000 = 3,000 cups. A new request for 3,500 cups exceeds it by 500 cups. Its goods value is HK$2,800; the excess represents HK$400. These are invented planning inputs, excluding freight and other charges, not supplier quotes or savings.

The buyer can reduce the release to 3,000 cups if that meets the branch’s needs, seek an agreed amendment for the additional 500, or arrange a separately approved purchase. Do not silently increase the agreement quantity to make the warning disappear. Also separate ordered quantity from received stock: an undelivered order can still consume your purchasing allowance. Reconcile cancelled, draft and revised orders explicitly, and demonstrate when each status changes the displayed total before using that total as the release decision.

Run a purchasing demonstration before rollout

  • Try the excess request using an ordinary buyer account. Record whether it is blocked, warned or allowed, who can override it, and where the decision is retained.
  • Try a zero price, an expired agreement and a changed confirmed price. Check whether approval is required before an order can be sent or confirmed.
  • Have two branch users request the remaining quantity at the same time. Then cancel or amend one test order and reconcile every linked status and total.

For the next purchasing cycle, select one packaging item and one supplier, complete the control table, and rehearse a normal release plus the exceptions above. Record expected and actual outcomes with the buyer and exception owner. If a required block fails, keep central approval in place and assign the repair before widening access. If this becomes part of a wider ERP rollout, use the implementation guide for migration and cutover planning; the service page provides a route to discuss the configuration work.

ERP implementation guide: migration and cutoverSystem Integration & ERP service

Before you proceed

  • Can each release be traced to the accepted agreement version, unit price and quantity allowance?
  • Has an ordinary buyer demonstrated the actual approval, excess-order and edit behaviour?
  • Does every exception have an owner and a recorded decision before release?

Sources & further reading

Put this into practice