SAP MM Study Notes
S4515 · Invoice Verification in SAP S/4HANA · Unit 2

Unit 2: Variances and Invoice Block

When an invoice does not match the PO and the GR, SAP S/4HANA can tolerate the difference, block the invoice for payment, reduce it, or accept a total-level difference. This unit explains variance types and tolerance keys, the additional blocking reasons (manual, quality, amount, stochastic), invoice reduction, total-based acceptance/reduction and the release of blocked invoices with MRBR. It is one of the most heavily examined areas of LIV.

Lesson 1 · Entering Invoices with Variances

After this lesson you can

  • Name the item-level variance types and how they are calculated
  • Explain account movements for quantity, price and order-price-quantity variances
  • Set tolerance limits

Key concepts

With PO reference, LIV proposes quantity and amount for every item from the PO conditions and GR history. If the supplier's figures differ, the clerk should find out why (ask Purchasing, the warehouse, or the supplier). Researching tiny differences is uneconomical, so tolerance limits per variance type and company code define what is acceptable. When the clerk overwrites a proposal, the system checks the result against these limits:

Result of the checkSystem reaction
Within the limitsAccepted silently – no message, no block
Below a lower limitWarning message; invoice can be posted, not blocked
Above an upper limitWarning message; invoice can be posted but is blocked for payment

A block at item level blocks the whole invoice (the payment block is set in the vendor line of the FI document). Blocked invoices must be released in a separate step (Lesson 5).

Variance types

VarianceDefinitionRemarks
QuantityInvoiced quantity ≠ open quantity (delivered − already invoiced)Absolute limit is evaluated as a value (quantity difference × PO price), so cheap items tolerate larger quantity deviations; a percentage check ignores price.
PriceInvoice price (amount / quantity) ≠ PO net priceSeparate tolerances possible for PO prices flagged as estimated.
Order price quantityRatio between PO price-unit quantity and order-unit quantity differs from the ratio at GR (or in the PO if no GR)Relevant when order unit ≠ order price unit (e.g. order in pieces, priced per kg).
Date (schedule)Invoice entered before the planned delivery dateChecked value = amount × (planned delivery date − entry date) in days against an absolute upper limit.

Account movements

Quantity variance (invoice qty > GR qty): the extra invoiced quantity is posted to GR/IR, leaving a balance that clears when the remaining GR arrives or a credit memo for the over-invoiced quantity is posted.

Price variance, invoice after GR: standard price → price difference account (PRD), valuation unchanged. MAP → stock account (BSX) with MAP adjustment if stock coverage exists; without coverage → PRD; with partial coverage the variance is split proportionally.

Price variance, invoice before GR: the invoice value is posted to GR/IR; the variance moves to stock or PRD at the later GR.

Combined quantity and price variance:

  • GR quantity zero: invoice value to GR/IR. A later GR for the same quantity clears GR/IR at invoice price (MAP material: stock valued at invoice price). A GR for more than was invoiced values the invoiced part at invoice price, the rest at PO price.
  • 0 < GR quantity < invoice quantity: GR/IR is cleared at PO price for the delivered quantity, the price variance for that part goes to stock or PRD, and the undelivered part is posted to GR/IR at invoice value.

Worked example: 100 pcs ordered at 5 EUR, 20 received, invoice 30 pcs at 10 EUR = 300 EUR. GR/IR is debited 20 × 5 = 100 (delivered part at PO price) + 10 × 10 = 100 (undelivered part at invoice price) = 200 EUR; the 100 EUR price variance on the delivered 20 pcs goes to stock (MAP) or PRD (standard).

Order price quantity variance: GR and invoice are entered in both units. GR before IR with a deviation in the price unit → posted like a price variance (stock or PRD). No GR → compared to the PO ratio and posted like a quantity variance.

Tolerance keys (OMR6, per company code)

KeyChecks
ANAmount for item without order reference
APAmount for item with order reference
BDForm small differences automatically (total level)
BRPercentage order price quantity variance (IR before GR)
BWPercentage order price quantity variance (GR before IR)
DQExceed amount: quantity variance
DWQuantity variance when GR quantity = zero
KWVariance from condition value (planned delivery costs)
LAAmount of blanket purchase order (value limit)
LDBlanket PO time limit exceeded
PPPrice variance
PSPrice variance – estimated price
STDate variance (value × days)
VPMoving average price variance (maximum MAP change)

Each key has a lower and an upper limit, each as an absolute value and as a percentage, and for each limit you choose Do not check or Check limit. All limits set to "Do not check" → every variance is accepted. To always block a variance, set the upper limit to 0 with "Check limit".

SPRO › Materials Management › Logistics Invoice Verification › Invoice Block › Set Tolerance Limits (OMR6)
Exam focus
  • Variance-related blocking reasons: quantity, price, order price quantity, date – not material or unit of measure.
  • Upper limit exceeded → warning and block; lower limit undercut → warning only.
  • Calculate GR/IR amounts with partly delivered quantities (delivered part at PO price, undelivered part at invoice price).
  • Tolerance keys are company-code-dependent; know PP, DQ, ST, BD, AN/AP, LA/LD, VP. GR over-delivery is not an LIV tolerance.

Lesson 2 · Use Further Blocking Reasons

After this lesson you can

  • Block invoices manually at header or item level
  • Configure quality, amount and stochastic blocks

Overview of block types

BlockLevelTrigger / settings
Manual – headerInvoicePayment block key (e.g. R – invoice verification) on the Payment tab. Own keys: Determine Payment Block (OMR9, per handbook).
Manual – itemItemCheckbox Manual blocking reason (column "Ma") in the item list
QualityItemQM procurement active and a QM control key with invoice block in the material master; inspection lot without usage decision or rejected
AmountItemItem amount check activated (OMRH), item categories/GR indicator selected (OMRI), limits AN/AP (OMR6)
Stochastic (random)InvoiceActivated per company code (OMRF), threshold value + percentage (OMRG)
From payment termsInvoicePayment-block proposal in the terms-of-payment key

Whether set at header or item level, a manual block always results in the payment block in the vendor line of the FI document.

Quality block

In the material master (QM view) you control whether a GR is inspection-relevant (an inspection lot is created per GR) and whether the invoice is blocked until the quality decision is made. The Quality blocking reason is set when:

  • GR-based IV: the inspection lot of that particular GR has no usage decision or was rejected – delivery-specific blocking.
  • PO-based IV: any inspection lot of the PO item lacks a usage decision or was rejected – including lots of earlier deliveries.

Merely having stock in quality inspection is not the trigger – the inspection lot status is.

Amount block

Large invoice items can be blocked automatically so that a second person checks them (four-eyes principle). Activate the check per company code, define which PO items (item category and GR indicator) are checked, and set the amount thresholds with keys AN (items without PO reference) and AP (items with PO reference). If an item exceeds the threshold it receives blocking reason Amount and the whole invoice is blocked.

SPRO › Materials Management › Logistics Invoice Verification › Invoice Block › Item Amount Check › Activate Item Amount Check (OMRH) SPRO › Materials Management › Logistics Invoice Verification › Invoice Block › Item Amount Check › Set Item Amount Check (OMRI)

Stochastic block

Random spot checks apply to the whole invoice and only to invoices that are not already blocked for another reason. With a threshold value and a percentage: invoices ≥ threshold are blocked with exactly that probability; smaller invoices with a proportionally lower probability (e.g. threshold 10,000, 20 % → a 5,000 invoice has a 10 % chance).

SPRO › Materials Management › Logistics Invoice Verification › Invoice Block › Stochastic Block › Activate Stochastic Block (OMRF) SPRO › Materials Management › Logistics Invoice Verification › Invoice Block › Stochastic Block › Set Stochastic Block (OMRG) SPRO › Materials Management › Logistics Invoice Verification › Invoice Block › Determine Payment Block
Exam focus
  • Stochastic block = header level, company code dependent, only if no other block applies.
  • Quality block requires QM in procurement / control key in the material master; GR-based IV gives delivery-specific blocking.
  • Amount block: three settings (activate, item categories, AN/AP).

Lesson 3 · Reducing Invoices

After this lesson you can

  • Perform full and partial invoice reductions
  • Explain the two accounting documents and their postings

Key concepts

If you do not accept a variance – the supplier simply billed too much – you can reduce the invoice instead of posting and blocking it. You do not change the supplier's document: the invoice is posted with the supplier's figures, and the system automatically creates a credit memo for the difference. The net payable is therefore the amount you accept.

  1. In MIRO, in the item, set Correction ID = Supplier error: reduce invoice. Fields "Invoice quantity acc. to vendor" and "Invoice amount acc. to vendor" become available.
  2. Enter the supplier's quantity and amount in these fields.
  3. In the normal Quantity/Amount fields keep (or adjust to) the values you accept.
  4. Post. The system computes the reduction amount and creates two FI documents.
DocumentPostings
1 – InvoiceVendor credited and tax posted with the supplier's values; GR/IR (and any accepted variance) debited with the accepted values; the difference debited to the invoice reduction clearing account (transaction key RKA).
2 – Credit memoVendor debited, invoice reduction clearing account credited; tax corrected (unless Customizing says to reduce tax in the original document).

The PO history shows the accepted values. Posting creates an output message, so a complaint letter (notification of the credit memo) can be sent to the supplier. Optional reasons for invoice reduction can be recorded per item (not visible in the overviews MIR5/MIR6 because they are item data).

Partial reduction

  • Accept the quantity variance, reject the price variance: overwrite the proposed quantity with the invoiced quantity and enter the amount = invoiced quantity × PO price. Example: GR/IR receives 1,000 EUR (a further GR of 30 pcs is expected), the 200 EUR overcharge goes to the reduction clearing account and is cleared by the credit memo.
  • Accept the price variance, reject the quantity variance: keep the proposed (delivered) quantity and enter amount = proposed quantity × invoice price. Example: GR/IR is cleared for 70 pcs and the price difference goes to stock (MAP with coverage); the 360 EUR for the not-delivered quantity is reduced.

Configuration (IMG)

SPRO › Materials Management › Logistics Invoice Verification › Incoming Invoice › Tax Treatment in Invoice Reduction SPRO › Materials Management › Logistics Invoice Verification › Incoming Invoice › Maintain Reasons for Invoice Reduction SPRO › Materials Management › Logistics Invoice Verification › Incoming Invoice › Number Assignment › Maintain Number Assignments for Accounting Documents (OMR4) › Document Types in Invoice Verification

The reduction credit memo needs a document type assigned for the invoice reduction transaction; the system selects it automatically.

Exam focus
  • Invoice reduction = Correction ID in the item; two accounting documents (invoice with original amount + credit memo).
  • No manual document type selection – the reduction document type comes from OMR4.
  • Partial reduction (accept price or quantity variance) is possible.

Lesson 4 · Handling of Variances Without Reference to an Item

After this lesson you can

  • Post invoices with a tolerated total-level difference
  • Configure tolerance key BD and supplier-specific tolerances

Key concepts

At posting, the system checks the balance: gross invoice amount vs. sum of item net amounts + tax (+ planned/unplanned delivery costs). For small differences it is not worth identifying which item is wrong. Two total-level functions allow posting despite a balance:

FunctionWhat happensTypical use
Total-based acceptance (incl. small differences)The difference is posted automatically to an expense/revenue account for small differences (key DIF)Invoice lower than expected; higher amount from a reliable supplier; reasons too minor to research; research cost > benefit
Total-based invoice reductionLike manual reduction: invoice document with a line to the reduction clearing account + automatic credit memo. The cause cannot be communicated because the system does not determine it.Supplier billed slightly too much (positive difference only)

Where the tolerances come from

  • Company-code-wide: tolerance key BD in OMR6. Caution: BD set to "Do not check" accepts every difference as small difference. To accept none, activate the check without entering a value.
  • Supplier-specific: tolerance groups for invoice verification (OMRX), assigned in the supplier's company code data, payment transactions (BP role FI Vendor). If the supplier has a group, it overrides BD.
SPRO › Materials Management › Logistics Invoice Verification › Incoming Invoice › Configure Supplier-Specific Tolerances (OMRX)

Check logic of a supplier tolerance group

DifferenceSequence of checks
Negative (invoice lower than expected)1. Within small difference tolerance → post to small differences account. 2. Else within total-based acceptance lower limit → post to small differences account. 3. Else → cannot be posted.
Positive (invoice higher than expected)1. Within small difference tolerance → small differences account. 2. Else within the invoice reduction limit → automatic total-based reduction. 3. If reduction is set to "Do not check": within total-based acceptance upper limit → small differences account. 4. Else → cannot be posted.

Manual acceptance

If the balance exceeds all tolerances, the traffic light is red. A user with authorization object M_RECH_AKZ can still post via Edit › Accept and Post; the difference goes to the small differences account. Not available when processing parked documents.

Exam focus
  • Supplier-specific tolerance group: maintained in accounting (company code) data of the supplier, not purchasing data; overrides BD.
  • Total-based reduction only for positive differences; produces invoice + credit memo.
  • Small differences are posted to a separate G/L account (DIF); "Accept and Post" needs M_RECH_AKZ.

Lesson 5 · Releasing Blocked Invoices

After this lesson you can

  • Release blocked invoices manually and automatically with MRBR
  • Explain when blocking reasons become invalid
  • Describe the workflow for price-blocked invoices

Key concepts

A blocked invoice carries a payment block in the vendor line, so the payment program skips it. Reasons: item variances, manual header or item block, stochastic block, payment block from the terms of payment. Release removes the payment block from the vendor line.

MRBR (Logistics Invoice Verification › Further Processing › Release Blocked Invoices; also available as a Fiori tile) has three areas: Selection (company code, supplier, dates, buyer…), Processing (manual or automatic release; option to move cash discount days) and Blocking procedure.

Blocking procedureSelectsAutomatic release?
Blocked due to variancesItem blocks: quantity, price, date, quality, amount, manual item blockYes
Manual payment blockHeader payment block entered manually or proposed by the payment termsNo
Stochastically blockedRandom blocks onlyNo

Cash discount days: because the discount period may lapse while an invoice is blocked, you can shift the discount days (not the baseline date) at release; visible only in the vendor line details of the FI document.

Automatic release

The system re-evaluates each blocking reason and deletes those that are no longer valid; when no reason remains, the invoice is released. A reason becomes invalid when:

  • Quantity: the missing quantity has been delivered or a credit memo posted. With GR-based IV the later receipt must be posted as a subsequent delivery to the first GR so it can be matched.
  • Price: the PO price was changed or a subsequent credit posted.
  • Quality: a positive usage decision was made.
  • Date: the planned delivery date has been reached.

Invoices that also carry a manual header payment block are not released automatically. Automatic release can run as a background job with report RM08RELEASE.

Manual release

The list shows the blocked invoices; reasons that are no longer valid are highlighted in yellow. You can delete individual blocking reasons (the invoice is released when the last one is deleted and saved) or release the whole invoice – this removes the payment block but leaves the item blocking reasons untouched. Authorization object M_RECH_SPG controls which blocking reasons a user may delete; display-only M_RECH_EKG prevents overall release.

Process flow

Invoice posted with block→Clarify (GR, credit memo, PO price change, QM decision)→MRBR automatic/manual→Payment block removed→Payment run

Workflow for price blocks

Workflow template WS20000397 informs the buyer responsible for the PO when an item is price-blocked. The buyer can change the PO, release the items by deleting the blocking reason, or flag them as Cannot be clarified – then a work item goes to the invoice verification clerk, who ends the process. The workflow ends automatically when the price block is no longer valid.

SPRO › Materials Management › Logistics Invoice Verification › Invoice Block › Activate Workflow Template
Newer releases (2021–2025)

SAP S/4HANA provides a flexible-workflow scenario for releasing blocked supplier invoices (configured with Manage Workflows for Supplier Invoices, approvals in My Inbox), which SAP recommends over the classic template. In Fiori, blocked invoices are also handled from Supplier Invoices List / Release Blocked Invoices.

Exam focus
  • Automatic release only for blocking procedure "Blocked due to variances"; never for manual header blocks.
  • Invalid reasons: delivery or credit memo (quantity), PO price change or subsequent credit (price), positive usage decision (quality), date reached (date).
  • Deleting the last blocking reason releases the invoice; overall release removes the payment block but not the item reasons.
  • Shift cash discount days (not baseline date) at release.

Unit summary & exam focus

T-codes in this unit

T-codePurpose
MIROEnter invoice with variances, reduction, Accept and Post
OMR6Tolerance limits (tolerance keys)
OMR9Determine payment block (per handbook)
OMRHActivate item amount check
OMRISet item amount check
OMRFActivate stochastic block
OMRGSet stochastic block
OMR4Document types for LIV (incl. invoice reduction)
OMRXSupplier-specific tolerances
MIR5Display list of invoice documents
MIR6Invoice overview
MRBRRelease blocked invoices

Self-check questions

  1. 100 pcs ordered at 5 EUR, 20 delivered, invoice for 30 pcs at 10 EUR. What is posted to GR/IR?
    Answer200 EUR: 20 × 5 (delivered, PO price) + 10 × 10 (undelivered, invoice price).
  2. What happens when a variance exceeds the upper tolerance limit?
    AnswerA warning is issued, the invoice can be posted, and the entire invoice is blocked for payment.
  3. How many FI documents does an invoice reduction create and what are they?
    AnswerTwo: the invoice with the supplier's amount (difference to the reduction clearing account) and an automatic credit memo that clears it against the vendor.
  4. Where is the supplier-specific tolerance group entered, and what does it override?
    AnswerIn the supplier's company code data (payment transactions); it takes precedence over tolerance key BD.
  5. Which blocks can never be released automatically by MRBR?
    AnswerManual header payment blocks (incl. from payment terms) and stochastic blocks.
  6. When is an invoice blocked for quality in PO-based IV?
    AnswerIf any inspection lot for the PO item has no usage decision or was rejected – also from earlier deliveries.
  7. How do you ensure a certain variance always leads to a block?
    AnswerSet the upper limit of that tolerance key to zero and choose "Check limit".