Invoice Verification
MM / P2Pintermediate

MM Invoice Verification Part 3: Tolerance Keys, Variance Types and Blocking Logic

Key takeaway

How invoices get blocked: variance types (price, quantity, date, order price quantity, amount), tolerance keys like PP (price), DQ (quantity), ST (date), BD (small differences), AN/AP (amount limits), absolute and percentage limits, blocking reasons on items and stochastic blocking.

Explanation

📌 KEY POINTS
✅ Each tolerance key checks one variance type with upper/lower absolute and percentage limits.

✅ PP price variance, DQ quantity variance, ST date variance, BD small differences, AN/AP amount limits.

✅ Exceeding a tolerance sets a blocking reason on the item and payment block on the invoice.

✅ Stochastic (random) blocking selects invoices for review based on value and probability.

⚠️ BD (small differences) can post differences automatically — keep it tight.

━━━━━━━━━━━━━━━━━━━━
▶ WHERE WE ARE

Part 2 covered configuration. Now blocking logic.

━━━━━━━━━━━━━━━━━━━━
▶ 1. VARIANCE TYPES

  • Price, quantity, date, order price quantity, amount.

━━━━━━━━━━━━━━━━━━━━
▶ 2. TOLERANCE KEYS

  • PP, DQ, DW, ST, BD, AN, AP, KW, VP, LA/LD for limits.

━━━━━━━━━━━━━━━━━━━━
▶ 3. LIMITS

  • Absolute upper/lower; percentage upper/lower; check or not.

━━━━━━━━━━━━━━━━━━━━
▶ 4. BLOCKING

  • Blocking reason per item; payment block R on invoice.

━━━━━━━━━━━━━━━━━━━━
▶ 5. STOCHASTIC BLOCK

  • Company code activation; threshold value and percentage.

━━━━━━━━━━━━━━━━━━━━
▶ STEP BY STEP

  1. Set PP upper 5% / 100 EUR.
  2. Post invoice with 8% price variance.
  3. Check blocking reason.

✅ CHECKPOINT: invoices within tolerance post freely; outside are blocked with reasons.

Code example

ABAP Code
===== STEP 1: examples (OMR6) =====PP price variance: upper 5% / 100.00 | DQ quantity: upper 0 (block overinvoicing) | ST date: 10 daysBD small differences: 2.00 | AN amount w/o order ref: 5,000 | AP amount with order ref: 20,000 ===== STEP 2: result =====Price 8% above PO → item blocking reason price → invoice payment block R ===== STEP 3: stochastic =====Stochastic block: threshold 5,000, percentage 10%

Real project scenario

A team set BD (small differences) to 500 EUR to reduce blocked invoices. Suppliers' small overcharges posted automatically as expense. Reducing BD to a few euros and handling real variances via PP/DQ restored control.

Common mistakes

  • Generous BD limits.
  • Unchecked tolerances.
  • No DQ for quantity overbilling.
  • Ignoring date variance.
  • No stochastic review.

Best practices

  • Keep BD minimal.
  • Align limits with risk.
  • Block over-quantity.
  • Use stochastic checks.
  • Review limits yearly.

Interview angle

Questions: "What tolerance keys do you know?", "What is BD?", "How does blocking work?"
Strong answer: variance types, key tolerance keys with limits, blocking reasons and payment block, stochastic block.

Practice this lesson

Quick check

1. An invoice price is slightly above PO price but within the configured tolerance. What happens?

2. Which tolerance key controls price variances between invoice and PO?

3. In MIRO, if the tax code entered by the user differs from the tax code determined from the purchase order, what generally happens?

Interview questions

1. A global rollout uses an integration platform to push external invoices into SAP for three-way match, but a subset of invoices are posting with quantity variance blocks even though the goods receipt in SAP matches the source system quantity exactly. How would you diagnose the root cause?

Answer it in your own words first, then compare.

2. What are the main tolerance keys used in Logistics Invoice Verification, and why are they important from an audit control perspective?

Answer it in your own words first, then compare.

Practice more with Interview AI →

Reference-verified: the steps are checked against official SAP documentation and tutorials, and object and field names in the sample code are checked for consistency. The code has not been compiled or run on an SAP system by ERPClimb. Syntax marked release-dependent varies by SAP release, so check it in your own system.

More lessons in this topic

Interview questions on this topic

Related SAP topics