ERPClimb logoERPClimb
SAP messageObjectM8 088ModuleMM_P2P

M8 088 — M8 088 — Quantity Delivered Is Zero

SAP message M8 088 means an invoice is being entered for a purchase-order item whose relevant delivered quantity is zero. It is commonly encountered when invoice verification checks over-invoicing before any goods receipt exists. Verify PO history and GR-based invoice settings, then decide whether receipt must occur first or whether the business intentionally permits invoice-before-GR processing.

SAP M8 088 troubleshooting for supplier invoices entered before any goods receipt, especially GR-based invoice verification and over-invoicing control.

Published 25 Sept 2026· 645 words

What it means

M8 088 states that the delivered quantity is zero. SAP support references this message when organizations want to prevent invoices from being posted before any goods receipt exists. It is part of Logistics Invoice Verification controls and should be interpreted together with the PO item's GR-based invoice verification setting and tolerance or message configuration. The fact that the ordered quantity is positive does not matter if the relevant received quantity for invoice verification is zero.

Root causes

The invoice may simply arrive before the warehouse posts the first goods receipt. A GR can also have been fully reversed, returning the net delivered quantity to zero. The PO may use a process that expects receipt before invoice, while an interface submits invoices immediately. GR-based invoice verification or tolerance configuration can make the warning or error stricter. External invoice systems may not check PO history before sending invoices. Timing differences between warehouse and AP interfaces can create short-lived M8 088 failures even though a receipt is posted minutes later.

What to inspect

Review the PO history and confirm whether any GR exists and whether it was reversed. Check the PO item's GR-based invoice verification indicator and the applicable tolerance or message configuration. Determine whether the business process permits invoice before receipt. If an interface is involved, compare the invoice arrival timestamp with the goods receipt and check whether automatic retries are expected. Verify that the invoice references the correct PO item; a valid GR on another item does not satisfy this check.

Resolution path

If the process requires receipt first, wait for or correct the goods receipt and then repost the invoice. If a GR was accidentally reversed, fix the logistics document flow rather than relaxing invoice controls. If the business intentionally permits invoice-before-GR for a specific procurement model, configure the process and tolerance or message behavior accordingly with Finance approval. For integrations, sequence the flows or implement controlled retry so invoices do not fail permanently because of normal timing lag.

The fix people try first (and why it fails)

Changing M8 088 to a warning everywhere may solve interface timing but can also allow invoices against items that were never received. Creating a dummy goods receipt is worse because it affects inventory and GR/IR. The decision should be based on procurement policy: either receipt is a prerequisite and the process must honor it, or invoice-before-GR is an accepted scenario and controls should be designed intentionally.

Whose problem this is

MM and Logistics Invoice Verification own the PO and invoice-verification configuration. Warehouse or receiving owns timely GR posting. Accounts Payable owns the invoice process and control requirement. Integration teams own sequencing and retry where documents arrive asynchronously. Finance controls should approve any relaxation because it changes three-way-match behavior.

Common pitfalls

Do not look only at ordered quantity; inspect net received quantity after reversals. Check the exact PO item. Distinguish M8 088, M8 081 and M8 504 because each can represent a different stage or control in quantity checking. When integrations are asynchronous, avoid unlimited blind retries. After configuration changes, test no-GR, partial-GR, full-GR and reversed-GR cases so the intended control is clear.

Designing the control correctly

Where invoice-before-receipt is a legitimate business case, document that exception by procurement type instead of weakening the message globally. Separate standard stock procurement from scenarios such as planned prepayment or other approved exceptions, and make sure AP users and interfaces can distinguish them. This keeps M8 088 useful as an early warning for ordinary three-way-match purchases while preventing normal timing differences from becoming permanent interface failures.

Take the next diagnostic step

Use these ERPClimb resources to explore the scenario. Verify all actions in your SAP system before making production changes.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-messages/m8-088ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.