Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 2 of 6

Variances, tolerances and blocking reasons

8 min

Real invoices rarely match to the cent. Lakeside might bill $42.30 instead of $42.00, invoice 510 rotors when 500 arrived, or send the invoice for a delivery that is not due until next week. SAP does not refuse these invoices. It posts them and, if the variance is too large, sets a blocking reason that stops payment until someone resolves it. The rules that decide "too large" are the tolerances.

How tolerance limits work

Tolerances are configured per company code and tolerance key (in Customizing under Logistics Invoice Verification, Invoice Block, Set Tolerance Limits). Each key can have a lower and an upper limit, as an absolute amount, a percentage, or both. If both are active, both are checked, so the tighter one decides. The behavior is consistent across keys:

  • Within the limits: no message, no block. The variance is posted (for example to a price difference account) and the invoice is free for payment.
  • Below the lower limit: SAP issues a message, but the invoice can be posted and is not blocked.
  • Above the upper limit: SAP issues a message, the invoice can still be posted, and it is blocked for payment automatically.
  • One blocked item blocks the whole invoice for payment.
Small, quietWithin limits: posts, no message, free for payment; difference to price difference or stock
Large, blockedAbove upper limit: message, posts, payment block on the supplier line
Small, noticedBelow lower limit: message only; Contoso pays less than expected, which is not a risk to cash
Large, releasedBlocked invoice resolved by the buyer or AP, then released for payment
Where an invoice lands depending on the size of its variance.
The Sign-Off Table · thesignofftable.com/academy/sap-mm-204

The tolerance keys you meet most

KeyChecksContoso setting (example)
PPPrice variance: invoice value against PO price times quantityUpper: $250 and 2%
DQQuantity variance: invoiced quantity against received quantity, valued at PO priceUpper: $100
DWQuantity variance when no goods receipt has been posted yetChecked: invoice before receipt is blocked
STDate variance: invoice posted before the planned delivery dateUpper: value × days limit
BDSmall differences: the invoice balance is written off automatically up to a limitUpper: $2.00
AN / APItem amount check for items without / with PO referenceActive for items over $50,000
KW / PSVariance from condition value / price variance on an estimated priceDefaults

Common tolerance keys. Keys and their meaning are SAP standard; the limits are Contoso's decision.

Two keys trip up projects. DW applies when an invoice arrives before any goods receipt: if no DW limit is maintained for the company code, SAP blocks every such invoice, and the fix is a business decision, not a defect. BD writes off small balances automatically to an expense or income account so that a one-cent rounding difference does not hold up posting; set it too generously and you are approving overbilling without anyone looking.

A blocked invoice, step by step

Lakeside bills the 500 rotors at $43.00, not $42.00. The invoice value is $21,500; the PO value for the received quantity is $21,000. The $500 variance is 2.4%, above both the $250 and the 2% upper limits for PP.

  1. EnterAP enters $21,500 and amends the item amount to match the invoice
  2. MessageSAP warns that the price variance exceeds tolerance and the invoice will be blocked
  3. PostInvoice document posts; price blocking reason set on the item
  4. Journal entryGR/IR debit $21,000, price difference debit $500, Lakeside credit $21,500 with payment block R
  5. Payment runThe blocked open item is skipped and listed as blocked
  6. ResolutionBuyer confirms the price, or Lakeside sends a credit; then the invoice is released
What happens to an invoice above the price tolerance.
The Sign-Off Table · thesignofftable.com/academy/sap-mm-204

For a moving-average-price material, a price variance is posted to the stock account as far as the received quantity is still in stock, and the rest to a price difference account. For the rotor, which uses a standard price, the whole variance goes to price difference. Either way the PO price, not the invoice price, decides what GR/IR clears.

What would you do?

Maria from the order-to-cash team is helping in AP. Lakeside's invoice is $40 higher than the PO value, within the PP tolerance. She asks whether to change the PO price before posting. What should she do?

Key points
  • Tolerances are set per company code and tolerance key, with lower and upper limits as amounts or percentages.
  • Above the upper limit the invoice still posts but is blocked for payment; the whole invoice is blocked.
  • Know PP (price), DQ and DW (quantity), ST (date), BD (small differences) and AN/AP (item amount).
  • Switching a key to "do not check" removes the control and needs owner approval.

Check your understanding · not graded

Lesson check

  1. 1. What happens when an invoice item exceeds the upper tolerance limit?

  2. 2. Which tolerance key covers price variances against the PO?

  3. 3. What does tolerance key BD do?

  4. 4. Only one of five items on an invoice exceeds tolerance. What is blocked?

  5. 5. If no DW limit is maintained, what happens to invoices received before any goods receipt?