SAP functional issueObjectGoods issue cannot be posted for the outbound deliveryModuleSD_O2C

Goods Issue Blocked on Outbound Delivery

Goods issue fails on an outbound delivery most often because picking has not been confirmed, the stock shown as available no longer exists in that batch or storage location, the material movement has no automatic account determination entry, or the material's posting period is closed in inventory management. The error message on the delivery screen names the exact blocker; it is rarely a generic system fault.

Covers why the post goods issue step on VL02N fails or is greyed out for an outbound delivery, ranking the recurring causes from picking and stock issues through account determination and closed posting periods. Gives the check sequence across delivery, stock, and configuration transactions, and separates data fixes from config changes that need a transport.

Published 16 Sept 2026· 1,117 words

The business symptom

Reported as the truck is at the dock and the delivery will not confirm, or the warehouse clicked post goods issue and got a red message instead of a material document number. Sometimes it is phrased as the PGI button is greyed out, or the delivery keeps saying picking not completed even though the team physically loaded the goods. Occasionally it surfaces as a batch job failure: a background PGI run for a wave of deliveries throws errors for some documents and posts others cleanly, and nobody can explain why one delivery in the batch is different from the rest. The common thread is that everyone treats it as a technical block, when in most cases the delivery is correctly refusing to post because a precondition genuinely is not met.

The configuration behind it

  • Picking not confirmed: the delivery still shows an open picking quantity because the transfer order or warehouse task was created but never confirmed, so the system has no evidence the goods physically left the storage location.
  • Stock has moved since confirmation: availability was checked and confirmed at order or delivery time, but another delivery, a stock transfer, or a physical count consumed the specific batch or storage location stock before goods issue was posted, leaving less unrestricted stock than the delivery quantity requires.
  • Missing automatic account determination for the movement type and valuation class combination triggered by the goods issue posting, so the system cannot derive a G/L account and rejects the movement outright.
  • Posting period closed in materials management for the posting date on the delivery, distinct from the financial accounting period, which is a separate control.
  • Batch not determined or batch classification incomplete, so the system cannot commit stock from a specific batch even though total plant stock looks sufficient.
  • Serial number profile on the material requires serial numbers to be entered and none have been captured on the delivery item.
  • Delivery item is in a status that logically blocks goods issue: quality inspection stock not yet released, or a warehouse management task still open against a handling unit that has not been fully packed.
  • Material master flagged for deletion at plant or storage location level, or the storage location itself no longer valid for the movement.
  • Authorization missing for the specific plant, storage location, or movement type combination, which produces a permission error that gets misread as a data problem.

What to check

  • Open the delivery in VL03N and read the exact status line for picking, packing, and goods movement, and capture the full error message text rather than a summary of it.
  • Check the picking and transfer order status in the warehouse transaction (LT23 or the equivalent monitor) to confirm whether the task was actually confirmed.
  • Check unrestricted stock for the exact plant, storage location, and batch in MMBE or MB52, not just plant-level stock, since batch-specific shortages are the most common trap.
  • If the error references accounts or valuation, check the automatic account determination configuration in OBYC for the movement type and valuation class in question.
  • Check whether the material's posting period is open using MMRV for the posting date on the delivery.
  • Check the material master's batch management and serial number profile settings in MM03 for the item causing the block.
  • Run SU53 immediately after the failed attempt if there is any suspicion of an authorization gap.

How to prove it in the data

Pull the list of deliveries with an open goods movement status for the affected shipping point or route using the delivery monitor, then cross-reference each one against stock overview for the specific batch and storage location at the same posting date. For the account determination theory, reproduce the exact movement type and valuation class combination in a test posting and capture the error text, which will name the missing G/L account determination entry directly.

Resolution path

If picking is unconfirmed, this is a warehouse execution fix: confirm or reprocess the transfer order, no config or transport involved. If stock has been consumed elsewhere, the fix is operational: re-source from another batch or storage location, or hold the delivery until replenishment, again a data and process decision, not a system defect. Missing account determination is a configuration gap and must go through OBYC with a transport to reach production; do not let anyone post a manual journal entry as a workaround, since that breaks the automatic linkage for every future posting of that combination. A closed posting period is opened deliberately through MMRV by whoever owns period-end close, and should never be opened blanket-wide just to push one delivery through, since that reopens the period for every material and every movement. Batch or serial number gaps are corrected by completing the missing master data on the specific batch or material, which is a data fix. A deletion flag or invalid storage location is a master data correction requiring the material master owner to confirm the plant or storage location is actually still meant to be active.

The fix people try first (and why it fails)

The reflex is to change the delivery quantity down to whatever the system will accept, or to delete the delivery and recreate it from the order. Both hide the real shortage instead of resolving it: a reduced quantity means the customer gets less stock than ordered without anyone deciding that deliberately, and recreating the delivery loses any batch, serial number, or packing work already done and simply reproduces the same error against the new document once it hits the same stock or account determination gap. Asking basis to open every posting period broadly is equally common and equally wrong, since it removes a control for the whole plant to fix one document.

Whose problem this is

Warehouse operations owns picking confirmation and physical stock accuracy. The SD or MM consultant owns diagnosing which of the causes above applies and routing the config gap to the right owner. FI or MM configuration owns account determination and posting period control. The handover note should state the delivery number, the exact error text, the stock check performed with quantities, and which specific cause was confirmed before any fix is applied.

Related SAP objects

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

Source: ERPClimb — https://erpclimb.com/sap-functional-issues/goods-issue-cannot-be-posted-for-the-outbound-deliveryERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.