The Price You Already Agreed
A framework agreement is negotiated once and then quietly undone order by order: re-quoted from scratch, priced a little above the rate, or drawn past its ceiling with nobody counting. Why a call-off should start from the agreed price and still pass approval, how the ceiling is counted, and what a quote above the contract should trigger.
In February the facilities team spends three weeks negotiating a two-year agreement for cleaning supplies. Forty items, an agreed unit price for each, a total value the board signed off. Bin liners come to 12.00 a roll. In August a site office runs short, and a coordinator who joined in June does what the procurement policy says: she sends a quotation request to three suppliers. The framework supplier replies at 14.50. It is the cheapest of the three, so it wins, it is approved, and it becomes a purchase order. Every step was correct. The agreement was simply never consulted.
Nobody in that chain did anything wrong, and the organization still paid twenty per cent above a price it had already secured. The supplier did nothing wrong either, strictly: they were asked for a quote, and they gave one. The failure is that the agreement lived in a signed file, and the order was raised in a system that had never heard of it.
What a framework agreement is for
A framework, a blanket order, a standing offer, a price agreement — the names vary and the bargain is the same. You commit volume, or at least the prospect of it, and in exchange the supplier commits to a price for a period. The negotiating happens once, at the start, when you have leverage and attention. After that, every order is meant to be administration: pick the items, state the quantities, receive the goods.
That bargain is only worth anything if each order actually starts from the agreed price. An agreement that is not on the screen where orders are raised is a document, and documents are consulted by people who remember they exist. The person who negotiated it remembers. The coordinator who joined in June does not.
Re-quoted every time
- Each order starts a fresh comparison, as if nothing had been agreed.
- Prices drift upward by small amounts nobody is checking against.
- Three suppliers spend time quoting for business already placed.
- The total drawn against the agreement is a figure somebody assembles at year end.
Called off the agreement
- The order starts from the agreed items at the agreed prices.
- A quote above the agreed rate is visible as exactly that.
- The comparison was done once, at signing, and is not repeated.
- What is drawn and what is left are known before the next order is raised.
Three ways an agreement leaks
| Leak | What it looks like | Who usually notices |
|---|---|---|
| Re-tendering | An order goes out for quotes to suppliers including the one you already agreed prices with. | Nobody, unless the agreed supplier complains. |
| Quiet uplift | The agreed supplier quotes, or invoices, a little above the contract rate. | An auditor sampling invoices, months later. |
| Ceiling overrun | Orders keep coming after the approved value of the agreement is spent. | Finance, when the annual spend is reconciled against the approval. |
All three have the same root. The agreement is not a record the ordering process reads, so it cannot price an order, cannot object to a price, and cannot count what has been drawn. Fix that, and most of the leaking stops without asking anyone to remember anything.
An agreed price that the order screen cannot see is a price somebody has to remember. The whole point of agreeing it was that nobody would have to.
A call-off is a quotation that arrives already priced
In AWRA OpsHub an agreement is a supplier contract. It names the supplier, carries a number and a title, a start and an end date, an optional value ceiling, and a renewal notice period. Its catalogue is a list of items, each with the agreed unit price and, if you want one, a maximum quantity that may be bought under the contract. A contract can be draft, active, expired or terminated, and it is in force only when it is active and today falls between its dates.
To order against it, you open the contract, enter quantities beside the catalogue lines and raise a call-off, on the web or from the mobile app. What that creates is deliberately ordinary: a pending quotation from that supplier, priced line by line from the catalogue, marked as the contract’s. Behind it the system files the requisition and the quotation request the rest of procurement expects to find, both already marked complete and noted as priced from the contract rather than tendered — because the decision they would record, who supplies this and at what price, was made when the contract was signed.
-
Raise the call-off
Anyone allowed to raise purchase requests enters quantities against the contract’s items. The quotation is created at the agreed prices, and the call-off is recorded in the audit log under their name.
-
Approve the quotation
Someone with permission to approve quotations approves it, exactly as for any other quote. If your workspace has approval rules by value, they decide whether that press is the award or one step of a chain. If it has budget control switched on, the budget check runs here.
-
Raise the purchase order
The order follows from the approved quotation by the usual step, under the usual permission. Receiving and matching the supplier’s bill work as they do for any order.
Why the call-off is never approved by the contract
It would be easy to treat a contract as standing approval and let a call-off become an order on its own. We chose not to. The contract settles the price; it does not settle whether this office needs forty rolls this month, or whether the department has the budget left. Those are the questions approval exists for, and they do not go away because the price is agreed. So there is no separate blanket-order object with its own rules — a call-off is a quotation, and everything that governs quotations governs it.
That is also why a call-off is easy to audit. It is a quotation, so it appears in the quotation register, carries a link back to its contract, and states on its page that it was priced from the contract and not tendered. Anyone reviewing spend sees the same documents they would see for a tendered purchase, with the reason the tendering step was skipped written on them.
What a call-off refuses
The contract earns its keep at the moment a call-off is raised, because that is when it can still say no. Each refusal comes back as a sentence the person can act on, and nothing is created when one fires:
- A contract not in force today — a draft, an expired or terminated one, or one whose dates do not cover today. Nothing can be called off it.
- An item that is not on the contract. The catalogue is the list of what was agreed; anything else goes through ordinary sourcing.
- Part of a unit. Call-offs are in whole units of each item.
- More than an item’s cap. If a line carries a maximum quantity, the call-off is refused past it, and the message says how many more may still be bought.
- More than the ceiling has left. The call-off’s total is checked against what remains, and the message gives both figures.
How the ceiling is counted
The interesting question about a ceiling is not whether to have one but what draws on it. The obvious answer is “what has been ordered”, and it is subtly wrong for a ceiling that is meant to stop something. If only approved or ordered call-offs counted, two coordinators could each raise a call-off on the same afternoon, each would fit in what was left, and together they would overrun it the moment both were approved.
So every call-off that has not been rejected or cancelled draws on the contract, including the ones still waiting for approval. A pending call-off has already claimed its share. Rejecting it gives the share back. The same rule applies to per-item caps: quantities on live call-offs count against the cap from the moment they are raised.
A 60,000 ceiling, four call-offs in
If call-off 2 is rejected, 37,600 is left and call-off 4 can be raised.
Two consequences of this choice are worth knowing before you rely on it. The figure drawn is the value of the call-off quotations, not of what was later received or invoiced, so a delivery that comes short does not hand back the difference. And the ceiling counts call-offs only. A quotation from the same supplier raised through ordinary sourcing, outside the contract, does not draw on it — which is exactly the case the next check exists for.
The quote that ignored the agreement
Go back to August. The coordinator sent a quotation request instead of calling off the contract, and the framework supplier quoted 14.50 for a roll agreed at 12.00. With a contract on the system, that quotation’s page now opens with a warning: priced above this supplier’s contract, bin liners at 14.50 against an agreed 12.00 — consider calling off the contract instead. The same comparison is returned over the API with the quotation.
The check is precise about what it compares. For every line on a quotation that is not itself a call-off, it looks up the agreed price for that item from that same supplier on any contract that is active and in date today, and takes the lowest if there is more than one. A line above that price is listed. A line at or below it is not, and an item the supplier has no contract for is not compared at all.
It compares only the same supplier, on purpose. Another supplier quoting more than your framework rate is not breaching anything; that is a competing quote, and the evaluation of competing quotes is a different job, covered in Three Quotes and No Way to Score Them. What the variance catches is narrower and more pointed: a supplier who has already agreed a price, offering the same item to you for more.
And it is a warning, not a refusal. There are honest reasons to accept a price above the contract — delivery to a remote site the agreement did not contemplate, an emergency order outside normal lead times, a specification that has quietly changed. Blocking every one of them would push people back to raising orders outside the system. The warning puts the agreed price in front of the person approving, at the moment they approve, which is when the question is cheapest to ask.
The quote is for the same items, terms and delivery the contract covers
Reject it and call off the contract
The order is raised at the agreed price, draws on the ceiling, and the supplier learns that the agreement is being read.
The quote covers something the contract did not — a site, a deadline, a specification
Approve it, and say why
Record the reason in the quotation or approval notes, so the next review sees an exception that was decided rather than a leak that was missed.
The same supplier keeps quoting above the agreed rate
Raise it with the supplier
Either the agreement no longer reflects their costs and needs renegotiating, or it is being worked around. Both are conversations for whoever owns the contract.
Dates, expiry and the renewal conversation
An agreed price has a shelf life, and a contract that silently outlives its dates is how an organization ends up ordering at last year’s price from a supplier who considers the agreement over — or paying this year’s price while the file says otherwise. A sweep runs every morning. Contracts past their end date are marked expired, after which nothing can be called off them and their prices stop being the benchmark for the variance check. Contracts that have entered their own notice window, thirty days by default and anything up to a year, send a notice to the bell of everyone allowed to keep supplier records, once per contract, linking to the contract.
Renewing is an edit, not a separate step. Move the end date and the renewal warning is re-armed for the new date; change the prices and the catalogue now carries the new ones, while call-offs already raised keep the prices they were raised at. If the new agreement is materially different, raising a new contract with its own number keeps the old one as the record of what was agreed then. A contract is held in your workspace’s base currency, as its call-offs are. For the wider question of what else a supplier record does and does not hold — payment days, delivery terms, lead times — see A Supplier With No Standing Terms.
Where each part works
| Task | Web | Mobile app |
|---|---|---|
| Create and edit a contract and its catalogue | Yes | No |
| See a contract, what is drawn and what is left | Yes | Yes |
| Raise a call-off | Yes | Yes |
| Approve the call-off and raise the order | Yes | Yes |
| See the price-variance warning on a quotation | Yes | No |
| Renewal notice before the end date | Yes | Yes |
Built and maintained Configurable by you, not maintained by us Not built
Viewing contracts follows the permission to view suppliers, keeping them follows the permission to edit suppliers, and raising a call-off follows the permission to raise purchase requests.
Before you load your first contract
- Load the catalogue as items you already stock or buy, so a call-off lands on the same records your stock and reports use.
- Set a ceiling if the agreement had an approved value. Without one, the contract still prices call-offs but never refuses on value.
- Use per-item caps for anything the agreement limited by quantity, not only by value.
- Choose a notice period long enough to renegotiate, not just to notice. Thirty days is rarely enough for a tender.
- Tell the people who raise orders that the contract exists, and point them at the call-off. The variance warning catches the ones who miss it.
What AWRA OpsHub does today
- Supplier contracts with a catalogue of agreed unit prices, start and end dates, an optional value ceiling, optional per-item caps and a renewal notice period.
- Call-offs from the web and the mobile app that raise a pending quotation at the agreed prices, approved and ordered by the same steps as any quotation.
- Refusals at the point of call-off for a contract not in force, an item not on it, part units, a per-item cap and the remaining ceiling.
- A ceiling drawn by every live call-off, pending ones included, so two call-offs raised together cannot overrun it.
- A price-variance warning on any ordinary quotation priced above the same supplier’s agreed rate, also returned over the API.
- A daily sweep that expires contracts past their end date and sends one renewal notice per contract inside its notice window.
More we can add to your workspace
- Call-off lines held to the contract after they are raised, so editing a call-off quotation re-checks its prices, its caps and the ceiling.
- A ceiling measured on ordered, received or invoiced value, chosen per contract, alongside the quoted value it uses today.
- Price history on a contract, keeping each agreed price with the dates it applied, with scheduled indexation where the agreement provides for it.
- A renewal step that rolls a contract into its successor with the catalogue carried over and every price change shown side by side.
- Contracts in the supplier’s own currency, alongside contracts in the workspace’s base currency.
- A recorded reason for accepting a quote above the contract, asked for at approval when the variance warning is showing.
- The variance warning and contract editing in the mobile app, matching the web.
- A ceiling alert at a threshold you choose, such as eighty per cent drawn, to whoever owns the contract.
Where we point you to a specialist
- We do not decide what a fair price is. The agreed price is whatever you and your supplier signed; the system holds it and compares against it, and whether an uplift is justified is a commercial judgement for the people who negotiated it.
- We do not let a contract approve its own call-offs. Agreeing a price and approving a purchase are different decisions, made by different people at different times, and collapsing them is how an agreement turns into an open cheque.
The first item is a check on an edit path that already exists; the second and third extend how the contract counts and remembers. Renewal, currency and the alerts build on the contract record as it stands. Tell us which agreement in your organization leaks first, and we will start there.
Anything above that you need, we can build for you
Everything listed above as something we can add describes what ships in the standard product today — it is a starting point, not a limit on what AWRA OpsHub can do for your organisation. Kenya's eTIMS integration and its maintained payroll engine are both in the product because clients needed them and commissioned them; neither appeared by itself, and the same door is open for whatever you just read about. One qualification so this is worth what it claims: a small number of things on this blog we deliberately leave to a specialist rather than build — a statutory ledger we will not sign our name to, a rule that would decide a tax question for you, a clinical or member-funds record that belongs in a regulated system — and where that is true the post says so in those words. Everything else is a scope, a timeline and a price.
The operational work, which is what most commissions actually are
An extra approval stage in a chain that does not match the standard one, a custom field set on employees or assets that only your sector needs, an expiry that has to block an order rather than send an email, a report your board asks for in a shape nothing produces, or a scanner or weighbridge feeding the goods-in door. These are the commissions we are asked for most often and the smallest ones we quote — and unlike a revenue-authority pipeline, none of them waits on a regulator.
The module-shaped additions, which are the ones readers ask for most often
A price list with real discount authority, a customer-facing quotation that expires, a bill of materials or recipe costing, a staff advance that is issued, acquitted and chased, a member or unit ledger, a matching rule that holds a payment. Each of these is a build rather than a setting, and each has been quoted before — a bigger piece of work than a custom field, with a written spec and a date instead of a roadmap slide.
The report, document or pack nothing currently produces
The board pack in the shape your board actually asks for, a donor or funder layout, an invoice or receipt template carrying what your regulator or your customer expects, a dataset the report builder cannot reach yet. Usually the fastest thing on this list to deliver, because the data is already in the system.
Systems, rails and hardware you already run
The accounting package, CRM, online store, core banking or custom database you intend to keep — connected through our API so a fact is entered once and appears everywhere it is needed. Plus the physical edge: a scanner, a scale, a weighbridge or a till peripheral feeding the door it belongs to.
How it works: you describe the requirement, we return a written scope, timeline and cost, and once agreed it is built into your environment and maintained as part of the product. Nothing here waits on a regulator or a published specification, which is why operational builds are the ones we quote fastest. Tell us the requirement that would otherwise rule us out — that is a better first conversation than a demo.
Tell us what your operation needsFour questions for any system that claims to handle framework agreements
When I order against the agreement, where does the price come from?
What you will probably hear
You can attach the contract to the order.
How to read it
Attaching is filing. Ask whether the order lines are priced from the agreement without anyone typing them.
Does a call-off skip approval?
What you will probably hear
Yes, it is pre-approved by the contract.
How to read it
Then the contract is an open cheque up to its ceiling. Ask whether need and budget are still checked per order.
What counts against the ceiling, and when?
What you will probably hear
Approved orders.
How to read it
Then two requests raised together can both fit and jointly overrun. Ask whether pending call-offs hold their share.
What happens when the same supplier quotes above the agreed rate outside the contract?
What you will probably hear
The quote is compared with the other quotes.
How to read it
Compared with competitors is not compared with the agreement. Ask whether the quote is checked against the supplier’s own contract price.
Our take
A framework agreement is negotiated once so that every order after it is cheaper and quicker. It only delivers that if the agreement is a record the ordering process reads: one that prices the call-off, counts what has been drawn before it is spent, and objects when the same supplier offers the same item for more. What it must not do is approve the purchase for you — the price was agreed in February, but whether this office needs forty rolls in August is still a decision. A call-off that starts from the agreed price and then passes the same approval as any other quote keeps both halves of that bargain. What remains to add is memory and measurement: holding an edited call-off to its contract, counting the ceiling on what arrived, and keeping the price history a renewal needs.
See procurement in AWRA OpsHub
Requisitions, quotations, supplier contracts and call-offs, purchase orders and matching, with approval rules and budget control where your organization wants them.
Explore procurementFrequently asked questions
What is a call-off against a supplier contract?
It is an order drawn against a framework agreement. In AWRA OpsHub you enter quantities on the contract and the system raises a pending quotation from that supplier at the agreed prices, which is then approved and turned into a purchase order like any other quotation.
Is a call-off approved automatically because the price is agreed?
No. The contract settles the price, not the need or the budget. A call-off is a pending quotation, so it needs someone with permission to approve quotations, and any approval rules or budget control your workspace uses apply to it.
What counts against the contract ceiling?
Every call-off that has not been rejected or cancelled, including call-offs still waiting for approval, at the value of the call-off quotation. Rejecting a call-off returns its share. A call-off that would take the total past the ceiling is refused and the message shows what is left.
What happens when a supplier quotes above the contract price?
If an ordinary quotation from a supplier prices an item above that supplier’s agreed price on a contract in force today, the quotation page shows a warning naming the item, the quoted price and the agreed price. It is a warning rather than a block, so a justified exception can still be approved.
What happens when a contract reaches its end date?
A daily sweep marks it expired, after which nothing can be called off it. Before that, everyone allowed to keep supplier records gets one notice when the contract enters its renewal notice window, which is thirty days by default.
How do I renew a supplier contract?
Edit the contract to move its end date and update any prices, which re-arms the renewal notice. Call-offs already raised keep the prices they were raised at. If the new agreement is materially different, raise a new contract so the old one remains the record of what was agreed.