Zero Confirmation Despite Unrestricted Stock
The order line confirms zero quantity even though MMBE shows unrestricted stock because the availability check is not looking at that stock at all. The scope of check (checking group plus checking rule) excludes the stock type, plant, or storage location holding the quantity, or the check is running against a replenishment lead time window instead of physical stock.
Covers why a sales order or delivery schedule line shows zero confirmed quantity when the material master and stock overview both show plenty of unrestricted stock. Walks through the checking group and scope of check configuration that actually decides what the ATP logic looks at, the sequence to trace it in a live order, and which fix is data versus which is transportable configuration.
Published 16 Sept 2026· 1,127 words
The business symptom
The order taker enters a sales order for a material the warehouse insists is sitting on the shelf. The schedule line comes back confirmed for zero, or with a delivery date weeks out, while a stock report pulled at the same moment shows a healthy unrestricted quantity in the same plant. The customer service team escalates it as a stock master data error because stock overview clearly shows availability. Sometimes it is reported only for certain plants or certain storage locations, or only after a recent material master change, a new plant rollout, or a batch-managed material going live. The complaint is framed as inventory being wrong in the system, not as a configuration problem in how the check itself is scoped.
The configuration behind it
- Scope of check for the checking group and checking rule combination does not include unrestricted stock as an included stock category, or includes it but nets it against outbound deliveries and reservations that consume it entirely; configured in the ATP scope of check table.
- The storage location or plant holding the stock is excluded from the scope of check, common after a new distribution center goes live and its storage location was never added to the include list.
- Material master checking group on the MRP3 view is set to a checking group different from the one the business assumes, or was changed and the schedule line category still points to a requirements class tied to the old checking rule.
- Replenishment lead time is switched on for the checking rule and the system ignores current stock entirely once the requested date falls inside the lead time window, confirming only against planned receipts.
- Material is batch-managed and the order line has no batch determined; the check runs against total stock without a batch split while the actual unrestricted quantity sits under a specific batch the check cannot see.
- Stock physically exists in a different plant than the delivering plant on the order (stock transfer or intercompany scenario) and the check correctly confirms zero for the ordering plant.
- Version of the availability check is inactive or the check is being run under version 00 while relevant stock movements are only reflected under a simulative version used for planning.
- Schedule line category has the availability check indicator switched off entirely, which paradoxically produces a hard zero rather than an automatic confirmation, if a downstream copy control or requirements class override forces a check anyway.
What to check
- CO09 for the material and plant on the order line, to see the ATP breakdown by stock category and confirm which elements the system is actually netting.
- MMBE for the same plant and storage location to compare raw stock against what CO09 is showing; a mismatch here is the proof point.
- MM03 on the material, MRP3 view, to read the checking group actually assigned.
- OVZ9 for that checking group and checking rule combination, to see which stock categories, storage locations, and plants are included or excluded from the scope of check.
- VOV6 on the schedule line category used on the order item, to confirm the availability check indicator and the requirements class it feeds.
- MD04 for the material and plant to see whether the confirmed quantity lines up with a replenishment lead time offset rather than a real stock shortage.
- Batch master and classification, if the material is batch-managed, to see whether the batch actually holding the stock was excluded by a batch search strategy or simply never selected on the order.
How to prove it in the data
Pull CO09 for the exact material, plant, and requested date used on the failing order and compare its stock category breakdown line by line against MMBE for the same plant and storage location. Any unrestricted quantity visible in MMBE that does not appear as an included element in CO09 is direct proof the scope of check is excluding it, and the OVZ9 entry for that checking group plus checking rule will show exactly which include indicator is missing.
Resolution path
If the scope of check excludes the relevant stock category, storage location, or plant, that is IMG configuration under the ATP scope of check table and requires a transport; it is not something a single order can be fixed around. If the checking group on the material master is wrong for that plant, correcting it is a data change on the material master, plant by plant, and does not need a transport, but it must be reconciled with what other plants using the same material expect. If replenishment lead time is the cause and it is intentional company policy, the resolution is process education, not a system fix; if it was switched on in error for that checking rule, disabling it is configuration requiring a transport and impact analysis across every material using that checking rule. If batch determination is the gap, adding a batch search strategy or having the order taker specify the batch directly is a process fix, not a configuration change. If stock sits in the wrong plant, the fix is a stock transfer order or a corrected sales order plant, not an ATP setting.
The fix people try first (and why it fails)
The reflex fix is to post a manual goods movement to shuffle stock between storage locations or plants, or to have the warehouse re-confirm the physical count, on the theory that the inventory numbers must be wrong. This does nothing because the physical stock was never in question; the check was configured to ignore the category or location it was already sitting in. The stock move sometimes appears to fix it by accident, only because the material happened to land in a storage location that is included in scope, leaving the real exclusion undiagnosed and waiting to recur on the next order.
Whose problem this is
Scope of check and checking rule configuration is owned by the SD or MM functional consultant maintaining ATP settings, never by the warehouse team. The handover note states the material, plant, checking group, checking rule, the missing include flag in the scope of check, and whether the fix requires a transport or is a material master data correction confined to one plant.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-functional-issues/availability-check-confirming-zero-despite-unrestricted-stockERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.