SAP functional issueObjectDelivery cannot be created because the schedule line is unconfirmedModuleSD_O2C

Delivery Blocked by Unconfirmed Schedule Line

The delivery due list or VL01N finds no deliverable quantity because the schedule line's confirmed quantity is zero or its confirmed date falls outside the selection window. This is driven by the availability check result, not by a delivery-side setting, so the fix almost always starts in the sales order, not in shipping.

Covers why a sales order item sits with an open quantity that never turns into a delivery, tracing the failure back to the schedule line confirmation produced by the availability check and scheduling. Lists the configuration and stock situations that produce a zero or delayed confirmation, and the sequence to check before touching delivery customizing.

Published 16 Sept 2026· 1,126 words

The business symptom

Warehouse or customer service reports that an order 'just sits there' - it was entered days or weeks ago, the customer is asking for status, but nobody can create the outbound delivery. Running the delivery due list for the order returns nothing, or VL01N against the order number gives a message that there is nothing to deliver. Sometimes the complaint arrives the other way: a delivery was created but with zero quantity on the item, and picking or goods issue then makes no sense. Planning frequently reports the paired symptom: stock shows as available in MMBE or the plant is not even short, yet the order line still shows an open, unconfirmed quantity. The common thread across all of these reports is that everyone is looking at the delivery step, when the actual decision was made earlier, at order save or at the last rescheduling run, by the availability check.

The configuration behind it

  • Availability check (ATP) genuinely found no stock or insufficient stock at the confirmed check date - the material is short, allocated to another order with higher priority, or blocked stock/quality inspection stock is excluded from the check.
  • Checking group on the material master or checking rule on the schedule line category is misconfigured for the plant - either no check is being triggered when one should be, or the scope of check excludes replenishment elements that would have confirmed the quantity.
  • Requested delivery date falls before the material's replenishment lead time, or before the earliest possible goods issue date given route and loading time - backward scheduling cannot fit the order into the window, so the system pushes the confirmation to a later date outside the delivery due list selection.
  • A higher-priority order or transfer order consumed the stock that was confirming this line after order creation, and no rescheduling (backorder processing) run has been executed since, so the confirmation on the order is stale.
  • Transfer of requirements is not active for the schedule line category or the requirements class, so MRP never sees the demand and stock is never allocated to this order at all.
  • Storage location or plant assignment is missing or wrong on the sales order item, so the availability check is running against the wrong stock segment, one that genuinely has nothing in it.
  • Route determination or shipping point determination failed silently upstream, and scheduling defaulted to a loading date that lands after the requested delivery date, producing an unconfirmed or delayed schedule line as a side effect rather than a cause.

What to check

Start in VA03 on the schedule lines tab of the affected item - compare order quantity, confirmed quantity, and confirmed date line by line; a zero confirmed quantity with a pushed-out date is the definitive symptom. Run CO09 for the material and plant to see the live ATP situation and which MRP elements are consuming stock ahead of this order. Check MMBE for actual unrestricted stock versus what CO09 shows, to rule out a stock segment mismatch (batch, storage location, blocked stock). Look at MD04 to see whether the requirement from this order is even listed, which points to a transfer-of-requirements gap if it is missing. Review the checking group on the material master (material master MRP3 view) against the checking rule on the schedule line category in customizing. If stock looks fine but the order line is still unconfirmed, check whether a rescheduling (backorder processing) run has been executed since the competing demand was created.

How to prove it in the data

Pull the schedule line table for the order item and show order quantity, confirmed quantity, and confirmed date side by side with the requested delivery date - a gap between requested and confirmed date, or a confirmed quantity below the order quantity, is the evidence. Pair it with CO09 output at the same timestamp to show what stock and MRP elements were competing for the same material and plant, which turns 'the order won't deliver' into a specific, attributable shortage or configuration gap.

Resolution path

If the cause is genuine stock shortage, this is a planning and allocation decision, not a system fix - either expedite supply, reduce the order quantity, or accept the later confirmed date; no configuration change is appropriate. If checking group or checking rule is wrong, correcting the material master checking group is a data fix per material, but changing the checking rule assignment on the schedule line category, or the scope of check content itself, is IMG configuration and needs a transport through the landscape. If transfer of requirements is inactive, the fix is in the requirements class or schedule line category configuration, also transport-based, and should be assessed carefully since it affects every order using that category. If the issue is a stale confirmation after stock was reallocated, running rescheduling (backorder processing) against the order or the affected material is a data-level corrective action, not a config change, and resolves the immediate case without touching customizing. Route or shipping point determination failures behind the scheduling problem are usually a master data or condition record gap and should be fixed at that layer before re-triggering ATP.

The fix people try first (and why it fails)

The reflex fix is to manually overwrite the confirmed quantity or confirmed date on the schedule line, or to force-create the delivery with the full order quantity regardless of confirmation. This gets a delivery document to exist, but the stock is not actually there to pick, so goods issue fails downstream or the warehouse ships against inventory that belongs to another order. It also breaks the ATP situation for every other order competing for the same stock, since the system's allocation logic no longer matches reality, and the shortage resurfaces as a picking or stock discrepancy problem instead of an order confirmation problem.

Whose problem this is

Order management or customer service owns the initial escalation since they see the symptom first, but the resolution sits with demand planning or MRP controllers when it is a genuine stock shortage, and with SD configuration when the checking rule, checking group, or transfer of requirements setup is at fault. The handover note should include the order and item number, the schedule line confirmation detail, and the CO09 snapshot at the time of complaint.

Related SAP objects

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

Source: ERPClimb — https://erpclimb.com/sap-functional-issues/delivery-cannot-be-created-because-the-schedule-line-is-unconfirmedERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.