Skip to content
← Resources
Invoice workflows

Catch invoice line-price drift before it eats your margin

Compare each invoice line against expected unit prices and act on real variances, not noise.

Your oil costs €4.50/L in your records. This week's invoice bills it at €4.86 β€” an 8% jump nobody noticed because the case total looked normal next to the meat order. Multiply that pattern across twenty staples and several weeks: this is how kitchens lose two points of food cost without a single dramatic event. Line-price variance checking exists to make each of those small moves visible on the day it happens.

Setting up variance checks that survive busy service

  • Start from normalized units. Variance only means something when both prices are per the same cookable unit.
  • Pick thresholds by impact. Alert at 5% on top-20 lines; ignore 2% wobble on condiments.
  • Record who follows up. A flagged variance without an owner becomes wallpaper within a week.
  • Re-baseline deliberately. When you accept a new market price, update the expected price consciously β€” never let it drift silently.

A worked example

One week of deliveries, three flags

Expected prices from last month's baseline: oil €4.50/L, chicken breast €7.90/kg, flour €0.62/kg. Three invoices arrive.

Oilbilled €4.86 / L+8.0%
Chicken€7.92 / kg+0.3%
Flour€0.68 / kg+9.7%

Oil is up 8.0% and flour is up 9.7% on the stated per-unit basis; both exceed the 5% alert threshold. Verify the pack, specification and agreed price before requesting a correction. Chicken is up 0.3% and stays below the threshold.

Interactive example Β· price spread

Spread between your highest and lowest quoted unit price: €6.30 (€39.90 β†’ €46.20). Compare the quoted prices with each supplier. This is a price difference, not a savings projection.

Running the loop

  1. 1Enter invoices with pack configs intact. Unit prices compute correctly only if case composition is recorded alongside totals.
  2. 2Review the variance list daily in under five minutes. Three flagged lines is a manageable conversation; thirty unread ones are a guilt pile.
  3. 3Challenge with normalized numbers. Suppliers respond to specifics: 'you billed €4.86/L against our agreed €4.50' lands very differently than 'prices went up'.
  4. 4Escalate patterns, not incidents. One bad week is weather. The same line drifting three weeks running is a pricing change you haven't agreed to.

FAQ

Isn't this just reading invoices carefully?
Reading catches what eyes notice. Variance checking compares every line against a stored expectation β€” including the boring middle-of-invoice lines where most drift hides.
What threshold should I set?
Tight enough to matter, loose enough to avoid crying wolf: 5% on major lines works for most kitchens. Tighten to 3% once the habit holds.
How does this relate to pack normalization?
They're partners. Normalization makes prices comparable; variance checking makes them watched. Without normalization, every pack change reads as a false alarm β€” and false alarms kill the practice.
Can I automate the follow-up?
Partially: software can flag, log, and even draft the supplier email. The negotiation itself still needs a human who knows the relationship.

Keep reading

Want to review your purchasing?

Submit the details and we will confirm which invoices are useful.

Review 3 invoices free