SAPFree calculatorPDF, Excel, Word exportSAP S/4HANA

SAP Invoice Verification Tolerance Calculator

When a supplier invoice does not match the purchase order and goods receipt, MIRO blocks it for payment if the variance exceeds the tolerance limits configured in transaction OMR6. This calculator lets you test a variance against limits and see what would be blocked.

Your numbers

$
$
units
units

Goods receipt quantity less quantity already invoiced.

%

Percentage limit in tolerance key PP.

$

Absolute limit in the same tolerance key.

%

Percentage limit for invoiced quantity over received quantity.

Your results

Price variance
4%
Invoice amount blocked for payment
$10,400
Price variance value
$400
Price block triggered (1 = yes)
0
Quantity over received
2
Quantity excess
2%
Quantity block triggered (1 = yes)
1

A simplified model of tolerance checks. The real behaviour depends on your OMR6 settings, tolerance keys, whether limits are conditional, and the PO's evaluated receipt settlement. Test in a sandbox client before changing production tolerances.

Save results:

Price variance value vs invoice price

Sweeps Invoice price per unit from 90 to 120, holding your other inputs fixed.

Blocked invoice root cause review

Optional: we can analyse an export of blocked invoices and group them by cause and supplier.

Optional. The tool and every export work without this. No spam.

How to use the calculator

Enter the PO price, the invoice price and the invoiced quantity. Enter the quantity received that has not yet been invoiced, then set your percentage and absolute price tolerances and the quantity tolerance. The tool shows the price variance in value and percent, whether the price check would trip, the excess quantity beyond the receipt, and the amount that would be held for payment. Use the chart to see how far the invoice price can drift before the absolute limit trips.

  • Take limits from OMR6 for your company code
  • Use unrestricted receipts not yet invoiced
  • Test several scenarios before editing limits

The logic

SAP checks each invoice item against tolerance keys. Price variance (key PP) compares the invoice price with the PO price times invoiced quantity, against an upper limit expressed as an absolute amount and a percentage. If either limit is exceeded the item is blocked. Quantity variance compares invoiced quantity with the quantity received less quantity already invoiced, again against absolute and percent limits. A blocked invoice is posted but flagged, and must be released via MRBR before payment. Each limit left empty means no tolerance for that check in many setups, so confirm how yours behaves.

Reading the results

If a price block triggers, ask whether the PO price is wrong, the invoice is wrong or a condition is missing. Fix price at source rather than raising tolerances, because loose limits let real errors slip through. If the quantity check triggers, the supplier has billed more than you received, so verify the receipt before releasing. Use the blocked amount to prioritise your MRBR queue by value.

Common mistakes

Teams often raise tolerances to clear a backlog of blocked invoices, which hides root causes such as outdated info record prices. Another mistake is forgetting that tolerances are defined per company code and per tolerance key, so a limit that works for one entity can be wrong for another. Finally, remember that goods receipt based invoice verification and evaluated receipt settlement change which price is compared.

  • Fix price master data first
  • Keep a log of OMR6 changes
  • Review top blocked suppliers monthly

Frequently Asked Questions

Where do I set invoice tolerances in SAP?

In transaction OMR6 (Maintain Tolerance Limits in Invoice Verification), per company code and tolerance key such as PP for price variance and DQ for quantity variance. Customizing is under Materials Management, Logistics Invoice Verification.

How do I release a blocked invoice?

Use transaction MRBR to release invoices blocked for payment, after checking the reason. A release authorisation is required, and the block reason is shown per document.

Does a tolerance block stop the invoice posting?

Normally the invoice posts but is blocked for payment, so the liability exists and the payment run skips it. Stochastic blocks and manual blocks work in a similar way with different reason indicators.

Should I set tolerances to zero?

Zero tolerance maximises control but creates many small blocks from rounding and freight. Most companies set small percent limits plus an absolute cap, then review blocked items for patterns.

Netray can analyse your blocked invoice history and show which suppliers and materials cause repeated variances, so you can fix the cause rather than the tolerance.