Invoice Quantity Greater Than Goods Receipt (M8 081)

SAP raises M8 081 when a billed quantity beats the goods receipt. Tell a timing gap from a unit mismatch from a real over-invoice before you release it.

invoice-verification

A vendor’s invoice posts for 120 units. Your goods receipt says 100 arrived. The matching run stops, SAP writes Quantity invoiced greater than goods receipt quantity (& &), and the whole invoice sits blocked for payment while accounts payable waits on an answer that should take minutes. Maybe the extra 20 are a second delivery nobody has booked yet. Maybe the vendor billed a full pallet before the dock finished counting. Maybe someone invoiced in pieces against a receipt posted in boxes, and the two numbers were never comparable to begin with. Each of those has a different fix, and only one of them is the vendor’s mistake. Reaching for the release transaction before you know which one it is — that is how a genuine over-invoice slips through, and how a correct invoice gets disputed for nothing. This guide walks message M8 081 back to its real cause before anything gets released.

Where an over-invoiced quantity actually hides

The message is the same every time; the cause rarely is. These are the five places it comes from.

Where it hides What you see What is really going on
Timing `Quantity invoiced greater than goods receipt quantity (& &)` (M8 081) The invoice arrived before the second goods receipt was posted — both quantities are right, just not yet in step
Unit mismatch Invoice quantity beats GR quantity by a clean round factor The vendor billed in pieces against a receipt booked in a pack unit, so 10 boxes read as 10 against 100
No receipt at all `Quantity delivered is zero` (M8 088), or a line blocked with no GR GR-based verification expects a receipt that was never posted; tolerance key DW decides whether that blocks
Partial over-delivery Invoice matches the delivery note but beats the posted GR Goods were received short, or an over-delivery tolerance absorbed quantity the invoice then billed in full
Wrong direction `Quantity invoiced is smaller than GR quantity` (M8 194) The mirror case — you were under-billed, which is not an over-invoice and needs the opposite follow-up

Only the first row and the mirror case are blameless timing. The middle three are data faults, and they will fire again on the next delivery of the same item unless the unit or the receipt is fixed at the source rather than released once by hand.

Before and after: releasing blind vs. matching the quantity

Releasing blind Matching the quantity first
AP releases the block in MRBR just to clear the queue The missing second goods receipt is posted and the block clears itself on the next match run
A correct vendor is emailed about an over-invoice that was really a late GR No vendor contact — the receipt simply caught up with the invoice
A pieces-vs-boxes mismatch released once, then repeated on every delivery The purchase unit and conversion corrected so invoice and receipt quantities are comparable
Tolerance key DQ widened until M8 081 stops firing DQ left strict; the quantity reconciled so the variance never computes
An invoice with no goods receipt paid through because DW was switched off DW maintained, so unreceived invoices stay blocked until a GR exists

Match the quantity — do not just release the block

  1. 1
    Read the message, not just the block

    Quantity invoiced greater than goods receipt quantity (& &) (M8 081) is an over-invoice against the goods receipt. Quantity invoiced is smaller than GR quantity (M8 194) is the opposite. Invoice quantity greater than PO quantity (item without GR) (M8 087) is a PO-level check with no receipt in the picture at all. Three messages, three different fixes.

  2. 2
    Compare the units before the numbers

    Confirm the invoice quantity and the GR quantity are expressed in the same unit. A unit and dimension converter settles in seconds whether 120 pieces and 10 boxes are describing the same delivery or two genuinely different quantities.

  3. 3
    Look for an unposted goods receipt

    Is there a delivery on the dock that was received but never booked? If so, post the goods receipt — the block clears on the next match run and nobody needs to contact the vendor.

  4. 4
    Check the tolerance keys, don't widen them

    The quantity check runs on keys DQ and DW maintained in OMR6. DQ caps how far the invoice may exceed the receipt; DW governs the no-receipt case. If M8 081 keeps firing, the keys are doing their job — the same way a stuck SAP price tolerance is almost never fixed by loosening it.

  5. 5
    Only then release in MRBR

    Once the quantity genuinely reconciles, release the block in MRBR. The breach sets an item blocking reason (DRSEG-SPGRP) automatically, and the reason here is Quantity — one of Quantity, Price, Quality and Date. Quality comes from inspection, not a tolerance key; do not confuse the two.

Build a quantity-match checklist into your invoice verification

Why identity resolution is the real fix

A quantity that will not match is usually an identity problem wearing a quantity’s clothes: the system cannot line up the unit the vendor shipped and billed in with the unit you received and stock in — the same misdiagnosis behind a price block whose cause is really units. Release one invoice and the next delivery of the same item fails the same way, because nothing taught the two sides to agree. The durable fix is to resolve each line to one trusted record whose units, pack sizes and conversion factors are known, so invoice quantity and goods receipt quantity are always expressed on the same footing — which is the whole job of reconciling every invoice line against trusted catalog data. Get identity and units right once, and M8 081 stops being a daily queue.

FAQ

What does SAP message M8 081 mean?

M8 081 is the invoice-verification message Quantity invoiced greater than goods receipt quantity (& &). It fires during goods-receipt-based invoice verification when the quantity on a vendor invoice exceeds the quantity posted to goods receipt for that purchase order item. The & & is SAP’s placeholder for the quantity and its unit. The message is not by itself proof of an over-invoice — it only means the invoice and receipt quantities do not yet agree, which can be a timing gap, a unit mismatch, or genuine over-billing. Its message type is configurable.

Is M8 081 an error or a warning?

Either — it is configurable. SAP Help states that for goods-receipt-based invoice verification you can set M8 081 to error or warning under “Define Attributes of System Messages”. As a warning it typically lets the invoice post but blocks it for payment with blocking reason Quantity; as an error it can stop posting. Because the type is a Customizing setting, the same variance can behave differently on two SAP systems, so never assume one behaviour carries across company codes.

What is the difference between tolerance keys DQ and DW?

Both govern quantity variances in invoice verification and live in transaction OMR6 per company code. DQ is “Exceed amount: quantity variance” — how far the invoiced quantity may exceed the goods receipt before the invoice is blocked. DW is “Quantity variance when GR quantity = zero” — it governs the case where no goods receipt has been posted at all. If DW is not maintained, invoices without a posted goods receipt are blocked. Widening either key to silence M8 081 accepts real over-invoices on every later document; reconcile the quantity instead.

How do I release an invoice blocked by M8 081?

Once the quantity genuinely reconciles — the missing goods receipt is posted, or the unit mismatch is corrected — release the block in transaction MRBR (Release Blocked Invoices). The tolerance breach sets an item blocking reason automatically in field DRSEG-SPGRP, and the reason here is Quantity. Remember that the entire invoice is blocked for payment even if only one line varies, so every line waits on the one that broke. Do not release while a real over-invoice is still unexplained.

Does Dynamics 365 have an equivalent of M8 081?

Dynamics 365 Finance does not publish a verbatim quantity error string. It surfaces the same check through its matching columns instead: an invoice line shows Passed or Failed under Product receipt quantity match. A Failed there is the Dynamics equivalent of M8 081 — the invoice quantity does not match the received quantity — but there is no fixed message text to search for, so you read the status and the column rather than an error code.

REVIEW-NOTES

  • M8 081 short text needs an SE91 spot-check before publication. Two sources word M8 081 differently, and this guide quotes it verbatim (Quantity invoiced greater than goods receipt quantity (& &)) in the intro, the hiding table, step 1, FAQ Q1 and FAQ Q5. Please confirm the exact short text in SE91 (message class M8, number 081) before this ships. (Brief accuracy rule 6.)
  • Accuracy trace. Every message number and key traces to the brief appendix: M8 081, M8 194, M8 087, M8 088 short texts (SAP quantity-variance section); the configurable error-vs-warning behaviour under “Define Attributes of System Messages” (SAP Help, GR-based invoice verification); tolerance keys DQ and DW and the “DW not maintained → unreceived invoices blocked” behaviour (OMR6 key list); blocking reasons Quantity/Price/Quality/Date, whole-invoice-blocked rule, MRBR release, field DRSEG-SPGRP, transactions MIRO/OMR6 (SAP blocking-and-release section). SAP ampersand placeholder & & (quantity + unit) is preserved throughout. No Dynamics error string is invented: the D365 reference uses only the Passed/Failed status and the Product receipt quantity match column from the appendix.
  • No deferred links. All five inline links and all eight Related cards point at pages that already exist (verified at authoring time), so no cross-link is waiting on a sibling.

Claro

Stop maintaining this by hand

Claro keeps product and supplier data trusted as catalogs change — matching, deduplication, enrichment, and validated write-back into the systems you already run.

Book a demo