The Scorecard Nobody Filled In
There was a supplier performance record in our database with three fields on it: on-time delivery rate, quality score, and pricing trend. They were the right three, and nothing had ever written a value into any of them. Since 1 October 2026 it holds every supplier's scorecard, refreshed nightly from their purchase orders.
The verdict
An empty table with the right columns was a peculiar thing to find in our own product, and it said something honest about how software gets built: the modelling is the easy part and the part that gets finished. We have now finished the other end. Each supplier's on-time rate, order quality, dispute rate, price drift and lead time are stored every night and shown on the supplier's own page, with an overall score and grade. What is still yours to judge is quality on the goods themselves, because that comes from inspection and is not yet tied back to the supplier. Ask every vendor the same question we asked ourselves: not whether the table exists, but whether it is populated.
While auditing our own procurement module for this series, we found a model we did not know was there. It is called supplier performance. It has a link to the supplier, and three measures: how often they deliver on time, a quality score, and the direction their pricing is moving.
Those are, more or less exactly, the three things anybody buying from anybody wants to know. Somebody thought about this properly.
And then it was never connected to anything. The class was imported into one controller and never referenced. No code created a record, updated one, or read one. It even pointed at the wrong table name, so it could not have held a value if something had tried. It sat in the schema, complete and empty, waiting for a calculation that had been written elsewhere and never pointed at it.
It was not an unfinished feature. It was a finished data structure with no feature attached to either end.
What changed on 1 October 2026
The calculation existed already: a vendor scorecard computed from purchase orders whenever somebody opened it. What did not exist was a stored copy — something that could be listed, sorted and compared across suppliers without recomputing every order each time. So we connected the two rather than writing a second formula.
Every night a scheduled job stores each supplier's scorecard into the record that had been empty: the share of orders delivered on time, the share not cancelled or rejected, the dispute rate, how far their prices have drifted, the average lead time, and an overall score with a grade and a status. A supplier with no orders stores no score rather than a score of zero, because zero is a claim and no orders is an absence. The supplier's page now carries a Supplier Scorecard card, and the supplier performance report has a score column.
What we already had, which was not nothing
Suppliers go through prequalification before they can be used, so eligibility is a decision somebody makes and records rather than an accident of who was available. A supplier can be blacklisted, and the blacklisting carries a reason, a date and the person who did it — which means an exclusion is defensible afterwards. Suppliers have a portal where they can see the requests, quotations and orders that concern them.
All of that is about status: may we buy from this supplier, and what have we sent them. The stored scorecard is the first part of the product that is about behaviour: what happened the last forty times we did.
Where each measure comes from
What each measure needs, and what the scorecard now does with it
- On-time delivery needs a promised date and an actual one. The scorecard takes the order date plus the supplier's quoted delivery time as the promise, and the completed receipt as the arrival, and stores the share delivered by the promise.
- Price behaviour needs what you paid over time. The scorecard stores the drift in the quantity-weighted price per month, from the first month to the latest.
- Order quality is stored as the share of orders that were not cancelled or rejected. That is an order-level measure. A failed inspection on the goods themselves is held against the consignment and not yet tied back to the supplier, so it does not move the score.
- Delivery accuracy needs ordered quantity against received quantity. The two-way match computes exactly this per line, and turning it into a per-supplier fill rate is still to do.
- Split-delivery behaviour needs receipts per order, which the matching already sums. A supplier who routinely delivers in three parts costs you more than one who delivers once, and the scorecard does not yet capture that.
Why supplier measurement matters more where reliability varies more
If every supplier in your market delivers within a day of promising, a performance score is a curiosity — the variance it would measure is too small to act on, and you would be choosing on price anyway.
The value of the measurement rises with the spread. Where the same product can be sourced from suppliers whose delivery reliability differs by weeks rather than days, and where the cheapest quote and the most dependable supplier are frequently not the same company, the score is not a nice-to-have. It is the entire basis on which a buyer defends choosing the more expensive option — and without it, that defence is one person's recollection against a spreadsheet showing they paid more.
The supplier scorecard you should demand from any procurement system
Ours now stores the first, fourth and part of the fifth. Ask to see the numbers, not the screen.
On-time delivery rate, computed from promised against actual
Make them prove it: Ask for your worst supplier by this measure, ranked.
Fill rate — how much of what you ordered actually arrived
Make them prove it: Ask which supplier short-delivers most often.
Deliveries per order
Make them prove it: Ask who splits deliveries, and how often.
Price movement over time
Make them prove it: Ask whether a supplier's price drift is computed at all.
Quality results attributed to the supplier
Make them prove it: Ask whether a failed inspection is traceable to who sent it.
The score visible when choosing between quotes
Make them prove it: Ask to see it on the comparison screen, not in a report.
The last row is the one that changes behaviour
A supplier score in a report is read once a quarter by somebody in finance. The same score shown next to the quotes at the moment somebody is choosing between them changes the decision. Ours is on the supplier's page, in the report, and beside each quote on the comparison screen, where it can also be switched on as a factor in the ranking. If you are evaluating any system on this, ask where the number appears rather than whether it is computed.
The record is populated and in front of the buyer. Three pieces remain
The scorecard is stored nightly from data every order already carries, and it sits beside the prices when quotes are compared. What is left needs one more input or one more response.
A response to a falling grade
An alert to the buyer, or a review raised, when a supplier's grade drops, so a deteriorating record is noticed between purchases and not only at the next quote.
Fill rate and split deliveries
Ordered against received, and receipts per order, both already computed by the matching on every order. Adding them to the stored scorecard is aggregation, not new recording.
Quality from inspection, attributed to the supplier
Tie an incoming quality result back to the supplier who sent the consignment, so the quality measure reflects the goods and not only whether the order was cancelled.
The overall score and grade are a summary, not a verdict. The raw measures sit beside them on the same card, and those are what a buyer should argue from.
Talk to us about supplier performanceWhat AWRA OpsHub does today
- A stored supplier scorecard, refreshed nightly — on-time rate, order quality, dispute rate, price drift, average lead time, and an overall score with a grade and status.
- The scorecard on the supplier's own page, and a score column in the supplier performance report.
- Prequalification, so eligibility is decided and recorded before a supplier is used.
- Blacklisting with a reason, a date and the person responsible, which is an exclusion you can stand behind later.
- A supplier portal, where a vendor sees the requests, quotations and orders that concern them.
- Quotation comparison across suppliers for a given request, with the supplier score beside each quote and available as a factor in the ranking.
- Receipt matching per order, which already computes the raw material for a fill-rate measure.
More we can add to your workspace
- Quality results attributed to the supplier who sent the goods, from incoming inspection, so the quality measure reflects the goods rather than the order status.
- A fill rate and a deliveries-per-order measure on the stored scorecard, from the matching that already runs.
- An automatic response to a low score — an alert to the buyer, or a review raised when a supplier's grade drops.
Where we point you to a specialist
- We publish no lead-time norms or trade statistics for any market. What a reasonable delivery window is in your sector is your knowledge, not ours.
Bring us two years of purchase orders
From whatever system you use. We will show you on-time delivery, order quality and price drift by supplier, ranked — which tells you more about your buying than any demonstration of ours would.
Talk to us about suppliers