AURA

Purchase Price Variance and the Three-Way Match

The order, the delivery note and the invoice describe one delivery, and the total on the invoice cannot say which of two losses happened. Price variance is negotiated with the supplier; quantity variance is returned at the back door, and only until the signature.

Published
22 min read4393 words
Aura editorialAuthor

Key takeaways

  • A three-way match compares the order, the delivery note and the invoice line by line; any two of the three leave a hole exactly the size of one of the two losses.
  • Price variance is multiplied by the accepted quantity and quantity variance by the contract price — only this pairing sums to the total difference, and any other leaves an unexplained remainder.
  • The decomposition is possible because Polish law requires quantity, unit net price and discounts as separate mandatory fields on the invoice (VAT act, article 106e paragraph 1 points 8, 9 and 10).
  • The paper route back exists for both losses: a correcting invoice under article 106j paragraph 1, and a reduced tax base under article 29a paragraph 10.
  • Quantity variance closes at the signature on the delivery note; price variance stays open until the next price list, which is why the two need different people.
  • Netting hides both: gross line movement of PLN 118.00 can sit under a net of −PLN 22.00, so the two figures belong in separate columns and are never added.
  • There is no industry benchmark for purchase price variance — the full Eurostat catalogue holds no such dataset — so the threshold is built from your own previous months.

Three documents describe one delivery: the order, the delivery note and the invoice. Comparing all three catches two different losses that look alike in the total — a price that moved and a quantity that did not arrive. Separating them matters, because a price gap is negotiated and a quantity gap is returned, and only one of them can be fixed at the door.

Three documents for one delivery, and three different numbers in them

A single crate of chicken breast leaves three paper trails. The order says what you asked for and at what price. The delivery note says what the driver handed over at the back door. The invoice says what the supplier expects you to pay. In a month where nothing goes wrong these three describe one event three times. In a normal month they do not.

The gap is not usually fraud. It is a warehouse that ran out of the 5 kg pack and sent 4.6 kg, a price list updated mid-week on the supplier's side, a discount that expired quietly, a unit of measure that reads "box" on the order and "kg" on the invoice. Each is small and easy to sign off. Together they form a number nobody has calculated, because calculating it means putting three documents side by side at 07:00 on a Friday.

Three-way match — the line-by-line comparison of the order, the delivery note and the invoice for one delivery. Any two of the three miss the case the check exists for.

That sentence is worth showing rather than asserting. Order against invoice only: a short delivery invoiced in full passes — both say 100 units, and you pay for 100 you never received. Delivery note against invoice only: a price increase passes — both say 96 units at PLN 10.50, and neither sheet remembers you agreed to PLN 10.00. Order against delivery note only: you catch the short delivery but never see what you are charged. Two out of three is not most of the check; it is a check with a hole the size of one of the two losses.

What each document is evidence of

The order is evidence of the price you agreed and the quantity you planned — the only document written before the supplier acted, which is why it is the honest baseline. The delivery note is evidence of the quantity that physically arrived, and the only document your own staff signs. The invoice is evidence of the amount claimed, and in Poland its contents are not left to the supplier's taste: the VAT act lists what a faktura must contain, and among the mandatory items are the measure and quantity of goods delivered and the unit net price of each item as separate fields (the Polish VAT act, consolidated text under Dz.U. 2025 poz. 775, art. 106e ust. 1 pkt 8 and pkt 9, retrieved 28.08.2026).

That detail is not decoration. The decomposition below is possible only because quantity and unit price must stand as separate fields, with discounts as a third (art. 106e ust. 1 pkt 10). A supplier who sends a single "value per position" line is not giving you less service — that document does not carry what the act requires, and no decomposition can be done on it.

The three-way match: what is compared with what, and in which order

The order is not arbitrary. In the wrong sequence you spend attention on a gap you can no longer act on.

Step one: order against delivery note, at the door

A quantity comparison, made while the driver is still standing there. Line by line: was this item ordered at all, and did the counted amount match? Everything caught here is reversible — a short crate goes back on the truck, a substitution is refused, a wrong unit is corrected before anyone signs. The receiver needs no price list, which is why this step can be handed to a person who does not manage the money.

Step two: delivery note against invoice, when the invoice lands

A price and completeness comparison, made in the office days later. Was every delivered line invoiced, was anything invoiced that never arrived, and does the invoiced unit price match what was agreed? No negotiation skill needed — it is a lookup.

Step three: order against invoice, once a period

The agreement comparison, and the only one that catches a supplier drifting from the agreed price. It cannot happen at the door — the receiver has no contract — and rarely per delivery, because a single PLN 0.20 movement is beneath anyone's attention. It is a sum over the month, per supplier; see quiet increases below.

In this order each step is done by the person who can act on its result. In reverse you get a manager reading delivery notes from three weeks ago, unable to send anything back.

Price variance and quantity variance are different losses

The total on the invoice cannot say which of the two happened, and that is where most restaurant procurement control stops.

Price variance — the difference between the contract price and the invoiced price, multiplied by the accepted quantity. It is negotiated with the supplier and almost never caught at the door.

Quantity variance — the difference between what was ordered and what was accepted, multiplied by the contract price. It is caught at the moment of receipt, and after the signature it does not come back.

They differ in owner, deadline and remedy:

Price varianceQuantity variance
Where it originatessupplier's price list or contract termswarehouse, packing, transport, or your own order
Where it is visiblethe invoice, days laterthe crate, at the back door
Who can actwhoever negotiates the contractthe person receiving the delivery
How it is fixedrenegotiation, or a correcting invoicerefusal, return, a corrected delivery note
Deadlineuntil the next price listuntil the signature
What it means if it is largethe agreement is stalethe receiving process is not working

Polish law names the mechanism for the price side explicitly. When, after an invoice has been issued, the tax base or the tax amount has changed, goods and packaging have been returned to the taxpayer, or an error has been found in any position of the invoice, the seller issues a correcting invoice (the Polish VAT act, art. 106j ust. 1 pkt 1, 3 and 5, retrieved 28.08.2026). The act says "in any position of the invoice", not "in the price": a wrong unit, a wrong quantity and a wrong price are the same kind of defect there. The correcting invoice must carry the correct content of the corrected positions (art. 106j ust. 2 pkt 6).

The mirror provision says the same from the other end: the tax base is reduced by discounts granted after the sale and by the value of returned goods and packaging (art. 29a ust. 10 pkt 1 and pkt 2). The paper route back exists for both losses. What does not exist is a route back for a quantity you signed for and never counted.

The decomposition formula: how much the price took, how much the quantity took

Two formulas, and the multiplier in each is not a matter of taste.

Price variance = (Invoice price − Contract price) × Accepted quantity

  • Invoice price — the unit net price actually charged on the invoice line, PLN per unit;
  • Contract price — the unit net price you agreed on, from the order or the price list, PLN per unit;
  • Accepted quantity — the amount you actually took in and signed for, in units.

Dimension: (PLN/unit − PLN/unit) × unit = PLN.

Quantity variance = (Accepted quantity − Ordered quantity) × Contract price

  • Accepted quantity — the amount signed for at the door, units;
  • Ordered quantity — the amount on the order, units;
  • Contract price — the agreed unit net price, PLN per unit.

Dimension: unit × PLN/unit = PLN.

Multiply the price variance by the accepted quantity, not by the ordered quantity. Multiply the price gap by what you ordered and you charge the difference to units that never entered your kitchen; the two variances then stop adding up to the real difference, and the leftover goes into a third line nobody can explain.

In reverse, the quantity variance is multiplied by the contract price, not the invoice price. Use the invoice price and part of the price movement is counted twice.

The check that proves the pair

Total variance = Invoice price × Accepted quantity − Contract price × Ordered quantity

  • both terms in PLN; the whole expression in PLN.

This is not a third measurement but the proof that the pair is complete: with these multipliers, and only these, the two variances sum to the total. Worked on one line:

Value
Contract: PLN 10.00 × 100 units orderedPLN 1 000.00
Invoice: PLN 10.50 × 96 units acceptedPLN 1 008.00
Price variance: (10.50 − 10.00) × 96PLN 48.00
Quantity variance: (96 − 100) × 10.00−PLN 40.00
Sum of the twoPLN 8.00
Total variance: 1 008.00 − 1 000.00PLN 8.00

The two agree to the grosz.

0.8%
Notice what the total alone would have said: you overpaid PLN 8.00 on a PLN 1 000.00 order — 0.8 %, which nobody investigates.

What happened is that PLN 48.00 of price movement was partly hidden by a PLN 40.00 short delivery. One is a conversation with the supplier's representative, the other with your own receiver; the total names neither.

The figures here illustrate the arithmetic on made-up inputs and are not a benchmark. Put your own contract, order and invoice into the same four lines.

Why the sum of line variances is larger than the variance on the invoice total

Variances have signs, and signs cancel. A supplier who raises one item and shorts another produces an invoice whose total is almost exactly what you expected — while both movements are large.

Take one invoice with three lines:

LinePrice varianceQuantity varianceLine total
Chicken breast+PLN 48.00PLN 0.00+PLN 48.00
Cooking oil−PLN 30.00PLN 0.00−PLN 30.00
Tomatoes, tinnedPLN 0.00−PLN 40.00−PLN 40.00
Invoice total+PLN 18.00−PLN 40.00−PLN 22.00

The invoice total variance is −PLN 22.00. Read alone it says the delivery came in PLN 22.00 under the order, and nobody looks further. The gross movement across the lines is a different number:

Gross line movement = Σ |Price variance| + Σ |Quantity variance|

  • each term in PLN; the sum in PLN.

Here: 48.00 + 30.00 + 40.00 = PLN 118.00 — over five times the net figure, and the number that says how much of this invoice is unstable.

Gross movement is not a loss and must never be reported as one — it is a measure of instability, honest only against itself over time. If it grows month over month for one supplier while the net stays flat, the relationship is drifting and the netting hides it.

⚠️ Two traps. Treating the net as reassurance: a net of zero sits on top of any amount of gross movement. And treating gross movement as money lost: adding absolute values counts a discount as a loss. Separate columns, never one sum.

Goods-in is the place where a variance can still be reversed

Of the two variances exactly one has a deadline you control, and that deadline is the signature on the delivery note.

Before the signature, a quantity variance is a decision: accept short and note it, refuse the line, or refuse the delivery. After it, the variance is a claim — your word about a crate already in your fridge against a document your own staff signed. Such claims sometimes work; they are never as strong as a count at the door.

So receiving is a control point, and the person doing it needs three things: what was ordered, in what unit, and how to write down what arrived. Not the price — handing over the price list adds nothing they can act on and slows the truck down.

The five checks that fit into a minute

  1. Is this line on our order at all? An unordered item is the cheapest thing to refuse and one of the most expensive to find later in the accounts.
  2. Does the unit match? "Box" against "kg" is the commonest source of a variance that later looks like a price problem.
  3. Does the counted amount match the delivery note? Not the order — the delivery note. The order comes next.
  4. Does the delivery note amount match the order? Anything short is written on the note before signing, in front of the driver.
  5. Is the item what it says it is? Grade, size, packing. The one check that does not turn into a number, and the next section says why that matters.

None of this requires software. It requires the order to be readable at the back door when the truck arrives — usually the real problem. A shared record of orders and deliveries across office, kitchen and accounts is what our integration work is for, and the checklist itself is a recurring task with an owner and a deadline.

Contract price against delivery note price: how a quiet increase is caught

6%
A supplier rarely announces a 6 % increase.

Instead four items move by PLN 0.20 each, on different weeks, and every movement is defensible on its own.

Quiet increase — a price rise without notice, spread across items so each difference looks negligible. It is caught only by a sum over a period, never by one delivery note.

The measurement is the price variance from above, summed:

Quiet increase over the period = Σ (Invoice price − Contract price) × Accepted quantity

  • summed over every line of every delivery from one supplier in the period;
  • each term in PLN; the sum in PLN per supplier per period.

Worked on a small kitchen: four items, each up PLN 0.20 per unit, each moving 300 units a month. Per item 0.20 × 300 = PLN 60.00; across four items PLN 240.00 a month, or PLN 2 880.00 a year — from movements each worth twenty groszy on the day it appeared.

Why there is no percentage here to compare yourself against

There is no official statistic for purchase price variance in food service. We looked: the full Eurostat dataset catalogue (opened 28 August 2026) holds no dataset for price variance, invoices or delivery notes, and the ten entries matching "purchase price" are agricultural inputs — fertilisers, feeding stuffs, farm energy — not restaurant supply. The Polish statistical office publishes trade and price statistics for the market as a whole, not variance against contracted prices.

So the threshold cannot be borrowed; it is built from your own series. Measure the quiet increase per supplier for three months and the fourth has something to be compared against. An industry percentage repeated with no primary source behind it looks like a benchmark and behaves like a guess.

Keep two questions apart. "How much more expensive has our basket become" is answered by a purchase price index built on your own weights; "where exactly did we lose it on this delivery" is answered by the decomposition on this page. Same suppliers, different questions.

Weight and quality: the variance that does not show in the numbers at all

The three documents can agree perfectly and you still lose money on the delivery.

Quality variance — a loss no document expresses in numbers: same weight, different yield. It is measured by your own yield test, not by matching paperwork.

A case of tomatoes at exactly the stated weight but two days riper yields less usable product. Chicken at the agreed weight in a heavier brine yields less cooked portion. A cheaper grade of the same nominal item passes all three documents, because none of them describes yield.

That is why the fifth check at the door never turns into a variance number and is still the one most worth training. The measurement that catches it is a yield test: take a known input weight, process it as you actually do, weigh the usable output, record the ratio. Do it twice for the same item three months apart and you have evidence the supplier's representative can discuss.

Yield sits in the gap between what your recipes say you should have used and what you did use — a measurement of its own, held by the comparison of theoretical and actual food cost. This page names quality variance and stops: paperwork cannot measure it, and pretending otherwise would put an unsupported number on the page.

One related boundary: changing supplier for the same nominal item is not only a price event. If the specification changes, the allergen line in your menu may change with it — see allergen information in the menu.

Variance and food cost: where exactly it surfaces in the report

Purchase price variance has no line of its own in a standard monthly report. It arrives disguised inside the cost of goods, and moves the percentage everyone does look at.

The path is short. Price variance raises the value of what you bought without changing what you cooked, so the numerator of your food cost percentage grows while sales stay flat. Quantity variance does the opposite: the value bought is right but the shelf is short, and the gap shows up at the next stocktake as an unexplained shortage.

Where they surface is diagnostically useful:

Symptom in the reportMore likely cause
Food cost percentage drifts up, stocktake reconciles cleanlyprice variance
Food cost percentage roughly flat, stocktake keeps showing shortagesquantity variance
Both, in the same periodthe receiving process stopped working and the price list moved at the same time
Neither, but gross line movement is growingnetting is hiding both

The percentage itself and what a sensible range means are held elsewhere — what food cost percentage actually measures — and this page does not restate it. One warning belongs here because it changes the arithmetic: a percentage of revenue depends on whether revenue is taken gross or net of tax, so which denominator you are using must be settled before any variance is compared against a percentage.

For the numbers to reach the report at all, invoice values, delivery records and sales have to land in the same place — the job of the finance layer, not of a spreadsheet rebuilt monthly. Then the decomposition is a standing report instead of an investigation.

Payment term and price: why they are negotiated together, not one after the other

A discount that costs thirty days of cash is not the same discount.

Suppliers price accordingly: a lower unit price against payment in seven days, a higher one against sixty. Settle the price first and the term afterwards and the only lever that makes the price movable is already gone.

The Polish act on excessive delays in commercial transactions caps the payment term between businesses: the term set in a contract may not exceed 60 days from the delivery of the invoice, and shorter limits apply in specific configurations of the parties (the Polish act on preventing excessive delays in commercial transactions, consolidated text Dz.U. 2023 poz. 1790, art. 7 ust. 2, retrieved 28.08.2026). The act also fixes statutory interest on late payment by definition rather than by a figure, which is why no percentage for it appears here — a rate written out would go stale silently.

That is the whole of the payment term here, deliberately. The calendar arithmetic, the interest mechanism and the fixed recovery compensation are held by supplier payment terms and the cash plan; a second copy would drift from the first.

What to put on the receiver's tablet so the match takes a minute

The three-way match fails in practice for one reason: when the truck arrives, the order is not at the back door.

What the receiver needs on one screen, in this order:

  1. Today's expected deliveries, by supplier, so an unannounced truck shows up as unannounced.
  2. The order lines: item, ordered quantity, unit. Not the price.
  3. A field for the counted amount, empty by default, never pre-filled with the ordered figure — a pre-filled field is a signature waiting to happen.
  4. A reason code for every difference: short, substituted, refused, damaged, wrong unit.
  5. A photograph on the line, for anything refused or accepted short.

Five fields, and that is the entire input side of the decomposition. Everything else — contract price, invoice price, the two variances, the monthly sum per supplier — is arithmetic on data you already hold, provided the receiving record and the invoice record can find each other. Matching them is an integration problem before an accounting one, and the analytics layer becomes useful only once that link exists.

The measure of whether this works is deliberately unflattering:

Matched delivery share = Deliveries with all three documents reconciled ÷ All deliveries

  • numerator: deliveries where order, delivery note and invoice were compared line by line, deliveries;
  • denominator: every delivery in the period, including those where a document was never found, deliveries;
  • dimension: deliveries ÷ deliveries = a dimensionless share between 0 and 1.
73.08%
Worked: 38 reconciled out of 52 deliveries is 38 ÷ 52 = 0.7308, that is 73.08 %.

⚠️ The denominator is the trap. Count only the deliveries where all three documents were present and you get 38 ÷ 38 = 1.00 — a perfect score blind to exactly the deliveries you should worry about — those where a document is missing.

100%
A share built this way will report 100 % on the day half your delivery notes are lost.

For the same arithmetic on your own figures without building a sheet, that is what the calculators are for. When the reconciliation starts producing a queue of supplier conversations rather than a single number, which system layer should own that queue becomes a real question — CRM or ERP.

Two more connections: the accepted-quantity record from the door also feeds food waste measurement — one count, two uses — and its invoice side is the same flow as invoicing and KSeF. Restaurants that already put reservations, suppliers and reviews on one rail usually find the receiving record is the last one on paper, and the cost of automating a process is worth knowing first.

Frequently asked questions

What is a three-way match in restaurant procurement?

It is the line-by-line comparison of three documents describing one delivery: the order, the delivery note and the invoice. Any two of the three leave a hole. Order against invoice misses a short delivery invoiced in full; delivery note against invoice misses a price that moved; order against delivery note never shows what you are charged.

Why separate price variance from quantity variance?

Because they have different owners and deadlines. A price gap is settled with whoever sets the supplier's prices and stays open until the next price list. A quantity gap is settled at the back door and closes when somebody signs the delivery note. Reported as one number they cancel out, and the report says nothing actionable.

Which one can still be fixed at the door?

The quantity variance. Before the signature, a short or substituted line can be refused, returned or written down on the note in front of the driver. After it, the same thing is a claim against a document your own staff signed. The price variance cannot be fixed at the door — the receiver does not hold the contract and should not be given it.

How do I catch a quiet price increase across many items?

By summing the price variance per supplier over a period instead of reading single deliveries. Four items moving PLN 0.20 each on 300 units a month is PLN 240.00 a month, and no single delivery note shows anything worth stopping for. The sum does, and the comparison is against your own previous months, because no official statistic exists.

What multiplier goes with each variance formula?

Price variance is multiplied by the accepted quantity; quantity variance by the contract price. Only this pairing makes the two add up to the difference between what the invoice claims and what the order promised. Any other leaves an unexplained remainder that gets quietly written off.

How does purchase price variance show up in food cost?

Not as its own line. Price variance raises the value of goods purchased without changing what was cooked, so the percentage drifts up while the stocktake still reconciles. Quantity variance leaves the purchased value correct but the shelf short, and appears later as an unexplained shortfall at the count.

Why are price and payment term negotiated together?

Because a lower price against payment in seven days and a higher price against sixty can be the same offer, and settling one before the other gives away the lever. Polish law caps the contractual payment term between businesses at 60 days from delivery of the invoice, so the range is bounded on one side before the conversation starts.

Take the last full month with one supplier and split it into price and quantity variance with the two formulas above. If the price side is the larger one, the conversation you need is with the supplier, not with your receiver — and everything else we publish for restaurant operators sits in the restaurant section.

Related services

In this section

Let us look at your numbers

Tell us how enquiries are handled today — how many there are, who picks them up, where they get lost. Aura walks the process with you and shows what can be taken off a person, and what is better left alone.

Talk to Aura

The home page with Aura opens. Give a company name — she looks at it in public data and shows what a client sees. No promises of a result.

Prefer to write? marketing@auraglobal-merchants.com

Next step

Let us check whether Aura fits your place

We do not take everyone: first we look at your processes, sales and current systems and tell you honestly whether it makes sense for us to come in. A few questions, about five minutes.

Take the assessment →