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 check | System reaction |
|---|---|
| Within the limits | Accepted silently – no message, no block |
| Below a lower limit | Warning message; invoice can be posted, not blocked |
| Above an upper limit | Warning 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
| Variance | Definition | Remarks |
|---|---|---|
| Quantity | Invoiced 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. |
| Price | Invoice price (amount / quantity) ≠ PO net price | Separate tolerances possible for PO prices flagged as estimated. |
| Order price quantity | Ratio 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 date | Checked 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)
| Key | Checks |
|---|---|
AN | Amount for item without order reference |
AP | Amount for item with order reference |
BD | Form small differences automatically (total level) |
BR | Percentage order price quantity variance (IR before GR) |
BW | Percentage order price quantity variance (GR before IR) |
DQ | Exceed amount: quantity variance |
DW | Quantity variance when GR quantity = zero |
KW | Variance from condition value (planned delivery costs) |
LA | Amount of blanket purchase order (value limit) |
LD | Blanket PO time limit exceeded |
PP | Price variance |
PS | Price variance – estimated price |
ST | Date variance (value × days) |
VP | Moving 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)
- 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
| Block | Level | Trigger / settings |
|---|---|---|
| Manual – header | Invoice | Payment block key (e.g. R – invoice verification) on the Payment tab. Own keys: Determine Payment Block (OMR9, per handbook). |
| Manual – item | Item | Checkbox Manual blocking reason (column "Ma") in the item list |
| Quality | Item | QM procurement active and a QM control key with invoice block in the material master; inspection lot without usage decision or rejected |
| Amount | Item | Item amount check activated (OMRH), item categories/GR indicator selected (OMRI), limits AN/AP (OMR6) |
| Stochastic (random) | Invoice | Activated per company code (OMRF), threshold value + percentage (OMRG) |
| From payment terms | Invoice | Payment-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
- 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.
- 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.
- Enter the supplier's quantity and amount in these fields.
- In the normal Quantity/Amount fields keep (or adjust to) the values you accept.
- Post. The system computes the reduction amount and creates two FI documents.
| Document | Postings |
|---|---|
| 1 – Invoice | Vendor 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 memo | Vendor 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.
- 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
BDand 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:
| Function | What happens | Typical 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 reduction | Like 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
BDin OMR6. Caution:BDset 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
| Difference | Sequence 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.
- 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" needsM_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 procedure | Selects | Automatic release? |
|---|---|---|
| Blocked due to variances | Item blocks: quantity, price, date, quality, amount, manual item block | Yes |
| Manual payment block | Header payment block entered manually or proposed by the payment terms | No |
| Stochastically blocked | Random blocks only | No |
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
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
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.
- 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-code | Purpose |
|---|---|
| MIRO | Enter invoice with variances, reduction, Accept and Post |
| OMR6 | Tolerance limits (tolerance keys) |
| OMR9 | Determine payment block (per handbook) |
| OMRH | Activate item amount check |
| OMRI | Set item amount check |
| OMRF | Activate stochastic block |
| OMRG | Set stochastic block |
| OMR4 | Document types for LIV (incl. invoice reduction) |
| OMRX | Supplier-specific tolerances |
| MIR5 | Display list of invoice documents |
| MIR6 | Invoice overview |
| MRBR | Release blocked invoices |
Self-check questions
- 100 pcs ordered at 5 EUR, 20 delivered, invoice for 30 pcs at 10 EUR. What is posted to GR/IR?
Answer
200 EUR: 20 × 5 (delivered, PO price) + 10 × 10 (undelivered, invoice price). - What happens when a variance exceeds the upper tolerance limit?
Answer
A warning is issued, the invoice can be posted, and the entire invoice is blocked for payment. - How many FI documents does an invoice reduction create and what are they?
Answer
Two: the invoice with the supplier's amount (difference to the reduction clearing account) and an automatic credit memo that clears it against the vendor. - Where is the supplier-specific tolerance group entered, and what does it override?
Answer
In the supplier's company code data (payment transactions); it takes precedence over tolerance keyBD. - Which blocks can never be released automatically by MRBR?
Answer
Manual header payment blocks (incl. from payment terms) and stochastic blocks. - When is an invoice blocked for quality in PO-based IV?
Answer
If any inspection lot for the PO item has no usage decision or was rejected – also from earlier deliveries. - How do you ensure a certain variance always leads to a block?
Answer
Set the upper limit of that tolerance key to zero and choose "Check limit".