Skip to main content
Practical Blog · Apr 28, 2026 · 9 min read

Invoice does not match the purchase order: 5 steps to fix it

By , founder · Published on · Updated on

When an invoice does not match the purchase order, do not approve it yet. Compare pre-tax unit prices and quantities line by line, never header totals. Decide whether the gap is price, quantity or both. Hold the payment if a line exceeds 2% or 1.50 absolute. Then ask the supplier for a credit note or a correction invoice.

How the difference is actually calculated

Two formulas, per line, on pre-tax unit prices:

  • Price variance = (invoice unit price − PO unit price) × invoiced quantity
  • Quantity variance = (invoiced quantity − PO quantity) × PO unit price

Worked example. PO line: 200 units at 1.00 each. Invoice line: 200 units at 1.12 each.

Price variance = (1.12 − 1.00) × 200 = 24.00. In percentage terms: 12%. Quantity variance = 0.

12% is above 2%, and 24.00 is above 1.50 — so the line is out of tolerance on both dimensions and payment stops. Amounts are shown without a currency symbol because the rule is the same in any base currency; the 1.50 absolute threshold is the default in euros and should be set to the equivalent in yours.


Friday, 6:05 pm. You open the last supplier invoice and the total does not match. EUR 312 difference. The buyer has already left. The supplier does not answer. What do you do?

This article is the concrete recipe. If you want the maths of the calculation, see how to calculate price variance between invoice and PO.

What should you do first when an invoice does not match the PO?

Five actions, in this order, in less than 15 minutes:

  1. Do not approve. Mark as “under review”. If it was in a batch, remove it.
  2. Locate the three documents. PO, delivery note and invoice. Without all three you are flying blind.
  3. Compare line by line, not by totals. Two lines can offset each other internally.
  4. Record the difference in euros pre-tax. Absolute and percentage. Both.
  5. Document the case. Screenshot, IDs, amount in dispute and who owns it. So you don’t start from scratch on Monday.

With that you have the diagnosis. From here you decide everything else.

Is the mismatch about price, quantity or both?

Not every invoice-to-PO mismatch is the same. ininvoice labels each flagged line as price or quantity, and the fix depends on the type:

  • Price mismatch. Same quantities, different unit price. Usually a rate change not notified. Goes to purchasing.
  • Quantity mismatch. Same unit price, invoiced quantity different from the one delivered. Usually a partial delivery note. Goes to the warehouse.
  • Double mismatch. Price and quantity off. Two exceptions, each routed to its team.
  • Totals match, lines don’t. The most dangerous case. +EUR 50 on A, -EUR 50 on C. Total 0. If you cross-check by header, it slips through without alerting.

That is why serious reconciliation is always line by line. The total never lies, but the lines do.

Type of mismatchWhat the line showsUsual root causeWho owns it
PriceSame quantity, different unit priceRate change not notifiedPurchasing
QuantitySame unit price, invoiced quantity ≠ deliveredPartial delivery noteWarehouse
BothUnit price and quantity outTwo independent errorsPurchasing + warehouse
Totals match, lines don’tHeader total identical, lines offset each otherCompensating errorsAP — only line-level matching catches it
Invoice below POLine total under the ordered amountDiscount or partial deliveryAP — document, do not silently approve

When should you stop the payment?

Stopping the payment follows a simple per-line rule, in OR mode (either condition triggers it):

Per-line differenceAction
< 2% AND < EUR 1.50 absoluteApprove and pay. Log but do not escalate.
> 2% OR > EUR 1.50 absoluteStop payment. Open exception.
> 5% OR > EUR 50 absoluteStop payment + escalate to the purchasing lead within 24h.
> 10% OR > EUR 500 absoluteStop payment + contract review + formal supplier communication.

You don’t stop for millicents: it blocks treasury and sours the relationship. But repeated monthly EUR 50 over a year is EUR 600 that evaporate.

Cases where you do NOT stop even if the line is out

  • VAT rounding. Millicents when dividing total by quantity. Royal Decree 1619/2012 regulates the breakdown.
  • Documented contractual adjustment. Signed addendum or index-based escalation not reflected on the PO.
  • Early-payment discount. Invoice arrives gross and the discount is applied at payment.

What should you write to the supplier?

Editable text. Replace the brackets and send:

Subject: Invoice [Number] — mismatch with PO [PO No]

Hi [Name],

We received invoice [Number] dated [Date] for an amount of [EUR X].

When cross-checking against PO [PO No] we found the following
line-by-line differences (pre-tax amounts):

- Line [SKU/description]: PO [EUR X/u] x [Y units] = [EUR Z]
 invoice [EUR X'/u] x [Y' units] = [EUR Z']
 difference: [± EUR D]

Until we confirm the origin of the mismatch we are holding
the invoice under review and it will not be paid in the
scheduled run.

We need you to confirm within 48h:
1. Whether the difference is due to a rate change.
2. If yes, a copy of the rate change notice.
3. If a mistake, an estimated date for the correction invoice.

Looking forward to your reply.

Thanks,
[Your name] · [Company] · [Phone]

Pre-tax figures, concrete deadline (48h) and a closed routing. No meeting needed.

Should you ask for a credit note or a correction invoice?

Common confusion. Two different artefacts under Spanish tax law:

  • Correction invoice (factura rectificativa). Replaces or amends an issued invoice with an error. You request it when the mismatch is clear and the supplier acknowledges the mistake. Governed by article 15 of Royal Decree 1619/2012.
  • Credit note. A document that reduces the amount without cancelling the original invoice. You request it for partial returns, post-invoice discounts or commercial adjustments.

Wrongly issued invoice → correction invoice. Correctly issued invoice but later commercial adjustment → credit note. The distinction matters for the Spanish SII system.

How fast should each mismatch be resolved?

Match urgency with the wallet. A simple policy:

Disputed amountMax response timeIf they don’t reply
< EUR 505 business daysPay under protest and log it.
EUR 50-50048 business hoursEscalate to the supplier’s sales rep.
EUR 500-5,00024hCall the sales lead.
> EUR 5,000Same dayFormal written communication + block open POs.

“Pay under protest”: you pay but you formally register the dispute. That way you can claim later.

Want to match purchase order, delivery note and invoice today? The three-way matching Excel template does it line by line with formulas and tolerances; the three-way matching guide explains each step. Download the three-way matching template

How do you stop invoice-to-PO mismatches from repeating?

A mismatch handled by hand once is bearable; every week it is not. ininvoice cross-checks each invoice line with its purchase order and delivery note when it reads the invoice, so the mismatch is visible before anyone approves it.

The alternative is touchless AP processing: intake from Gmail, structured reading of PDF, image and scanned invoices, line-by-line matching with a 2% / EUR 1.50 OR-mode tolerance, each exception labelled as price or quantity so your team knows whether it is for purchasing or the warehouse, and approval by a person.

Want to see how many mismatches you have right now?

ininvoice cross-checks line by line with a 2% / EUR 1.50 OR-mode tolerance and tells you exactly which line is out and why. Request a walkthrough with your invoices.

What do typical mismatches look like? Three cases with synthetic data

Case 1: the supplier raises the price without notice

PO at EUR 1.00/u for 200 units. Invoice arrives at EUR 1.12/u. Difference: (1.12 − 1.00) × 200 = EUR 24. Percentage: 12%. Stop payment, escalate to purchasing, ask for a copy of the rate change notice.

Case 2: they invoice more than what was delivered

PO of 100 units. Delivery note confirms 80. Invoice shows 100. Quantity variance: (100 − 80) × EUR 5.00 = EUR 100 excess. Stop payment, verify second delivery note and request credit note or correction invoice for the 20 units.

Case 3: the total matches but the lines don’t

PO of EUR 1,000 in three lines. Invoice of EUR 1,000. Header perfect. Line A: +EUR 50. Line C: -EUR 50. If you cross-check by totals, it passes. Line by line, you detect two unannounced contractual changes and protect future margin.

How do you resolve a mismatch in 15 minutes?

Print this. Stick it to your monitor.

  1. Mark invoice as “under review” in the system. (1 min)
  2. Open PO, delivery note and invoice in three tabs. (1 min)
  3. Compare line by line: pre-tax unit price and quantity. (5 min)
  4. Record differences in absolute euros and percentage. (2 min)
  5. Classify: price, quantity, both, or totals trap. (1 min)
  6. Decide according to tolerance table. (1 min)
  7. If you stop payment: send template to supplier + cc internal buyer. (3 min)
  8. Document case in system with screenshot and references. (1 min)

Fifteen minutes. If it takes longer, the problem is not the case, it is the tool.

Frequently asked questions

How do you handle a discrepancy between an invoice and a PO?
Hold the invoice, pull the PO, the delivery note and the invoice together, and compare line by line on pre-tax unit prices. Classify the gap as price, quantity or both, quantify it with the two variance formulas above, then route it: price gaps to purchasing, quantity gaps to the warehouse. Only release the payment once the line is inside tolerance or the supplier has issued a correction invoice or credit note.
What is the difference between the PO amount and the invoice amount?
The PO amount is what you committed to buy; the invoice amount is what the supplier is asking you to pay. They should agree line by line, but they legitimately diverge with partial deliveries, agreed discounts or notified rate changes. The difference only becomes an exception when a line exceeds tolerance — comparing the two header totals is not a reliable test, because two line errors of opposite sign cancel out and leave the totals identical.
How do you handle a rate mismatch between the PO and the invoice?
A rate mismatch is a price variance: same quantity, different unit price. Calculate (invoice unit price − PO unit price) × invoiced quantity and compare it against your tolerance. If the supplier notified the rate change and it was accepted, update the PO and approve. If it was not notified, stop the payment and ask purchasing for the rate change evidence before releasing anything.
What do I do if the invoice is for less than the PO?
Same as if it were more: document and open exception. It could be a promotional discount or a partial delivery note.
Is it legal to stop payment if I dispute the invoice?
It depends on the contract and on the reason for the dispute, so confirm it with your adviser. Law 3/2004 on late payment (art. 4) sets the maximum payment terms; in any case, communicate the reason for the dispute to the supplier formally and in writing.
How long do I have to claim against the supplier?
Article 15 of Royal Decree 1619/2012 allows correction invoices up to 4 years. In practice, claim as soon as you detect the error.
And if the supplier does not reply on time?
Sales escalation. If they still don’t reply, pay under protest or block open POs. For large amounts, registered postal notification.
Do I have to redo the Spanish SII reporting if I request a correction invoice?
Yes. The correction invoice generates a new SII record that replaces or complements the original.
What if the mismatch repeats every month with the same supplier?
It’s a pattern. Review the contract, current rate and master data. Usually it is outdated data on your side or undisclosed supplier pricing.

How many Friday-6pm fires have you had?

Connect Gmail. ininvoice cross-checks every invoice as it arrives, so you see the mismatch on Tuesday at 10 am, not Friday at 6 pm. Arrange a demo.

What should you remember when an invoice does not match the PO?

  1. The total never lies, but the lines do. Always compare line by line, pre-tax. The totals-match trap is the most expensive.
  2. Tolerance: 2% OR EUR 1.50 OR-mode per line. Don’t stop for millicents. Don’t approve euros that pile up over a year.
  3. Traceable documentation from minute one. Screenshot, template, deadline, escalation. Without paper trail, no claim is possible.

If you want to see how this looks on your own invoices, see it working on your data. Pricing is tailored: a proposal in 48 hours, once we have seen your invoices.

Related content

Check your own invoices against their POs

Connect Gmail. ininvoice ingests, cross-checks line by line with a 2% / EUR 1.50 OR-mode tolerance; a person approves, and approved invoices are exported as CSV or Excel for your ERP.

Every invoice line, matched against its purchase order and delivery note

ininvoice matches every line against its purchase order and delivery note, with partial deliveries, grouped invoices, credit notes and rebates, and configurable tolerances (2 % or €1.50 by default). Send me 3–5 supplier invoices and, if you have them, the purchase order and delivery note for one of them.

Request a demo with your own invoices