What to measure
On-time-in-full (OTIF) is the core metric for most scorecards: the percentage of purchase orders that arrived on or before the promised date, with the full quantity ordered. A shipment that arrives on time but short counts as a miss; so does one that arrives complete but late. Both matter, which is why OTIF combines them rather than tracking timeliness and completeness as separate, easier-to-fudge numbers.
Quality rate is the percentage of received quantity that passed inspection or was not later returned as defective. This requires recording quality issues at receiving or return, not just accepting whatever arrives as automatically good.
Price stability tracks whether a supplier's pricing has held to what was quoted or contracted, or drifted upward between orders without explanation — useful for negotiation leverage as much as for the scorecard itself.
Lead time consistency (not just average lead time, but how much it varies order to order) matters as much as the average: a supplier that is reliably 10 days is easier to plan around than one that averages 7 days but ranges from 3 to 15.
- OTIF: on-time AND in-full, not either alone
- Quality rate: received quantity that passed inspection
- Price stability: actual vs. quoted price over time
- Lead time consistency: variance, not just the average
How to calculate OTIF
OTIF = (number of orders delivered both on time and in full ÷ total number of orders) × 100, over a chosen period.
A single order counts as a miss if it fails either condition: it arrived complete but three days late, or it arrived on the promised date but two units short — both are OTIF failures, even though each individually might look like a minor issue in isolation.
This requires recording, per purchase order, the promised delivery date, the actual delivery date, the ordered quantity, and the received quantity — data most receiving workflows already capture, if the promised date is recorded at the time the order is placed rather than reconstructed later from memory.
Building the scorecard from data you already have
The scorecard does not need a separate system if purchase orders and receiving are already tracked in your inventory or purchasing software — OTIF, quality rate, and price variance can all be calculated from the same purchase order and receipt records used for day-to-day stock, rather than a parallel spreadsheet maintained by hand.
Keep it to a handful of metrics per supplier, reviewed on a fixed cadence (quarterly is common), rather than a large dashboard that requires more upkeep than the insight is worth. A scorecard nobody updates is worse than no scorecard, since a stale number gets trusted as if it were current.
Score consistently across suppliers using the same period and the same calculation, so comparisons mean something — a supplier scored over their best quarter compared against another scored over their worst quarter is not a fair scorecard, even if both numbers are individually accurate.
Making the scorecard actually change decisions
The scorecard only earns its keep if it feeds a real decision: which supplier gets the next order when more than one could fill it, whether a chronically late or short supplier gets a direct conversation about their numbers, or whether persistent misses justify qualifying a second source for a critical item.
Share the relevant numbers with the supplier, not just internally. Most suppliers respond better to a specific, data-backed conversation ("your OTIF has been 78% over the last two quarters, driven mostly by short shipments") than a vague complaint about reliability, and it gives them something concrete to fix.
Trusted by small businesses
What our customers say
“Super Kind! Quick replies from their support and very easy fixes, changed the dashboard a bit and customized it. Also gave me 450 items extra on the free plan just for me. Highly recommend and again great service!”
“Best customer service! Stockflow's customer support is fast and extremely helpful. They assisted me with customization of the software to improve my experience as a user.”