Example message: "Purchase Order 4500022393 does not contain item for a stock transfer" -the exact PO number in your own error will differ, but the fix below is identical.
This error appears when the stock transport order configuration behind the scenes isn't fully set up for the plant combination you're trying to transfer stock between. This guide covers the exact configuration fix in SPRO, then goes deeper into what a stock transport order actually is, one-step vs two-step transfers, the role of document type, delivery type, and checking rule, a real business scenario, and a full troubleshooting checklist.
SAP requires a specific set of Stock Transport Order (STO) configuration steps to be completed for every supplying plant/receiving plant combination before it will recognize a purchase order line as a valid stock transfer item. If any of these steps are missing for the plant pair involved, SAP cannot process the transfer and raises this error.
Go to SPRO → Purchase Order → Set Up Stock Transport Order → Assign Document Type, One Step Procedure, Underdelivery Tolerance.
Select One Step -tick, and Underdelivery Tolerance -tick.
Next, select Plant -3005 – Pune.
Select Assign Delivery Type and Checking Rule.
Select Assign Plant, Document Type -NLCC, Checking Rule -B, Ship Scheduling -tick.
Save.
A Stock Transport Order (STO) is a special purchase order used to move stock between two plants -either within the same company code or across company codes -using standard purchasing document processing rather than a simple MB1B transfer posting. Using a purchase order for internal transfers might sound unnecessary at first, but it unlocks capabilities a plain transfer posting doesn't offer: a formal delivery document with its own picking and packing process, in-transit stock visibility during multi-day transfers, shipment tracking and route determination through Sales and Distribution, and optional intercompany billing when the two plants belong to different company codes.
Because an STO borrows heavily from both Purchasing (MM) and Shipping (SD) configuration, it needs more setup than a standard purchase order -this is exactly why this error exists: SAP is checking that every piece of that combined MM/SD configuration (document type, delivery type, checking rule, shipping data) has actually been completed for the specific plant pair you're transferring between, and if even one piece is missing, the PO line can't be recognized as a valid stock transfer.
| Aspect | One-Step Transfer | Two-Step Transfer |
|---|---|---|
| Postings required | A single posting completes both goods issue and goods receipt | A separate goods issue, then a separate goods receipt at the receiving plant |
| Stock-in-transit | No stock-in-transit period -stock appears at the receiving plant immediately | Stock sits in transit status between the two postings, useful for multi-day transport |
| Best suited for | Nearby plants, fast transfers, or transfers where in-transit visibility isn't needed | Longer-distance transfers where tracking stock while it's on the road/in shipping matters |
| Configured via | The "One Step" checkbox ticked in STO document type assignment | The "One Step" checkbox left unticked |
The choice between these isn't just a configuration preference -it reflects a genuine business decision about whether your organization needs visibility into stock that has left one plant but hasn't yet arrived at another. Getting this setting wrong (for example, leaving One Step ticked when the business actually needs multi-day in-transit tracking) won't necessarily cause this specific error, but it can cause confusing downstream stock visibility issues once transfers are running.
| Configuration Element | What It Controls | Example From This Guide |
|---|---|---|
| STO Document Type | The purchasing document type used for stock transport orders (e.g. UB for intra-company transfers) | Assigned during Step 1, with One Step and Underdelivery Tolerance settings attached |
| Delivery Type | The SD delivery document type generated for the STO, controlling how the outbound delivery from the supplying plant behaves | NLCC -assigned in Step 4 |
| Checking Rule | Controls which availability check logic applies specifically to STO deliveries, distinct from the standard sales order checking rule | B -assigned in Step 4 |
| Shipping Scheduling | Enables route and shipping point determination-based scheduling for the STO delivery, calculating realistic transit dates | Ticked in Step 4 |
Each of these is assigned per supplying plant, receiving plant, and (for delivery type/checking rule) purchasing document type combination -which is exactly why a company with many plant pairs can find some transfer routes working perfectly while a newly added plant pair throws this exact error, simply because nobody has completed this specific assignment for the new combination yet.
When the supplying and receiving plants belong to different company codes, a Stock Transport Order can optionally trigger intercompany billing -an internal invoice from the supplying company code to the receiving company code, valued at a transfer price rather than the standard external sales price. This adds a further layer of configuration beyond what's covered in this guide: a pricing procedure for intercompany billing, an intercompany billing document type, and account determination for the intercompany revenue and cost of goods sold postings.
If your organization's stock transfers cross company code boundaries and this error appears alongside pricing or billing-related messages, the root cause may extend beyond the four STO steps in this guide into intercompany billing configuration specifically -worth flagging to your FI/SD consultant if a within-company-code transfer works fine but a cross-company transfer to the same physical plant doesn't.
Stock Transport Order configuration and processing logic -document type, delivery type, checking rule, one-step/two-step behavior -are unchanged in SAP S/4HANA, since this spans core Materials Management and Sales and Distribution configuration rather than something restructured by the Universal Journal. On the interface side, Fiori apps such as "Manage Stock Transport Orders" and "Create Outbound Deliveries" provide the same STO creation and delivery processing as ME21N and VL10B, reading from the same underlying configuration, so the troubleshooting steps in this guide apply whether your team works in classic SAP GUI or through Fiori.
One S/4HANA-specific consideration: if your organization has adopted Advanced Available-to-Promise (aATP), the checking rule referenced in STO delivery configuration may interact with aATP's product allocation or alternative-based confirmation logic, which can add another layer to check if STO deliveries seem to confirm unexpected quantities or dates even after the core configuration steps in this guide are correctly in place.
| Error | Root Cause | Typical Fix |
|---|---|---|
| Purchase Order does not contain item for a stock transfer | STO configuration (document type, delivery type, checking rule) incomplete for the plant pair | Complete the four-step STO setup in SPRO for that specific plant combination |
| No goods receipt possible for purchase order (M7022) | GR indicator, confirmation control, or a fully-received line on a standard PO | Check PO History and the Delivery/Confirmations tabs in ME22N |
| No schedule lines due for delivery up to the selected date | No confirmed schedule line, ATP shortfall, or a delivery block on a sales order | Check VA02 schedule lines, widen date range, resolve ATP or delivery block |
| Deficit of BA Unrestricted-use / Restr.-use (M7021) | Insufficient stock in the specific status a movement expects | Check MMBE by batch/status before creating stock or transferring |
Although these all surface as blocked postings during goods movement or delivery processing, each has a distinct root cause in a different configuration area (purchasing document setup, sales schedule lines, or inventory status), which is why identifying the exact message and transaction context first saves significant troubleshooting time.
Priya Pawar, an SAP MM consultant, was brought in after a company opened a new distribution plant and immediately hit this error trying to transfer finished goods from an existing manufacturing plant to the new location. The manufacturing plant had transferred stock to several other existing plants for years without any issue, so the internal team assumed something had gone wrong with the new plant's basic setup -plant creation, storage locations, and material extension had all been done correctly.
What had been missed was the STO-specific configuration: while the new plant had been correctly set up as a plant and had all necessary materials extended to it, nobody had gone through the four-step STO setup shown in this guide for this specific new supplying-plant-to-new-plant combination. Priya walked through document type assignment, delivery type and checking rule assignment, and shipping scheduling activation specifically for the new plant pair, and stock transport orders began processing correctly. This is one of the most common real-world triggers for this error: it isn't usually about something breaking on an existing, working transfer route -it's almost always about a new plant, new plant pair, or new document type combination that hasn't had this specific STO configuration completed yet.
| Transaction | Purpose |
|---|---|
| ME21N | Create a stock transport order (purchase order with STO document type). |
| VL10B | Create an outbound delivery for a stock transport order. |
| MIGO | Post the goods issue and/or goods receipt for the stock transfer. |
| ME2W | List stock transport orders and their status. |
| OMGN | Overview of STO configuration checks, including document type, delivery type, and checking rule assignment. |
| OVZ9 / OVZ2 | Configure checking rules used in availability checks, including those referenced by STO. |
Q: Why does SAP require a purchase order for internal plant-to-plant stock transfers instead of a simple transfer posting?
A Stock Transport Order enables delivery document processing, in-transit tracking, route and shipping scheduling, and optional intercompany billing -capabilities a plain MB1B transfer posting doesn't provide, which matters for longer-distance or cross-company-code transfers.
Q: What is the practical difference between choosing One Step and leaving it unticked?
One Step combines goods issue and goods receipt into a single posting with no in-transit period, suited to fast, nearby transfers. Leaving it unticked creates a two-step process with a stock-in-transit period, suited to longer transfers where visibility during transport matters.
Q: If STO configuration works for one plant pair but fails for a newly added plant, what's the most likely cause?
The document type, delivery type, checking rule, or shipping scheduling assignment specific to the new plant pair likely hasn't been completed yet -STO configuration must be set up per plant combination, not globally.
"Purchase Order does not contain item for a stock transfer" is almost always a sign that Stock Transport Order configuration hasn't been fully completed for the specific plant pair you're working with -most commonly because it's a new plant, a new route, or a new document type combination. By understanding the four configuration pieces this guide walks through (document type, one-step setting, delivery type/checking rule, and shipping scheduling) and treating them as a standard part of any new plant's setup checklist, you can resolve this error confidently and prevent it from resurfacing the next time your plant network grows.