SAP MM ERROR  |  Stock Transport Order (STO)

SAP Error: Purchase Order Does Not Contain Item for a Stock Transfer -Fix Guide

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.

✅ Understand the Issue

SAP error: purchase order does not contain item for a stock transfer

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.

🔧 Solution: Set Up Stock Transport Order in SPRO

1

Go to SPRO → Purchase Order → Set Up Stock Transport Order → Assign Document Type, One Step Procedure, Underdelivery Tolerance.

SAP SPRO set up stock transport order assign document type screen
2

Select One Step -tick, and Underdelivery Tolerance -tick.

SAP one step procedure and underdelivery tolerance checkboxes
3

Next, select Plant -3005 – Pune.

SAP stock transport order plant selection screen
4

Select Assign Delivery Type and Checking Rule.

Select Assign Plant, Document Type -NLCC, Checking Rule -B, Ship Scheduling -tick.

SAP assign delivery type and checking rule for stock transport order SAP assign plant document type NLCC checking rule B shipping scheduling

Save.

🔍 What a Stock Transport Order Actually Is

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.

📑 One-Step vs Two-Step Stock Transfer

AspectOne-Step TransferTwo-Step Transfer
Postings requiredA single posting completes both goods issue and goods receiptA separate goods issue, then a separate goods receipt at the receiving plant
Stock-in-transitNo stock-in-transit period -stock appears at the receiving plant immediatelyStock sits in transit status between the two postings, useful for multi-day transport
Best suited forNearby plants, fast transfers, or transfers where in-transit visibility isn't neededLonger-distance transfers where tracking stock while it's on the road/in shipping matters
Configured viaThe "One Step" checkbox ticked in STO document type assignmentThe "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.

📋 Document Type, Delivery Type, and Checking Rule Explained

Configuration ElementWhat It ControlsExample From This Guide
STO Document TypeThe 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 TypeThe SD delivery document type generated for the STO, controlling how the outbound delivery from the supplying plant behavesNLCC -assigned in Step 4
Checking RuleControls which availability check logic applies specifically to STO deliveries, distinct from the standard sales order checking ruleB -assigned in Step 4
Shipping SchedulingEnables route and shipping point determination-based scheduling for the STO delivery, calculating realistic transit datesTicked 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.

💰 Cross-Company Stock Transport Orders and Intercompany Billing

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 Orders in SAP S/4HANA

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.

📑 Similar-Looking SAP Stock Transfer / Delivery Errors

ErrorRoot CauseTypical Fix
Purchase Order does not contain item for a stock transferSTO configuration (document type, delivery type, checking rule) incomplete for the plant pairComplete 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 POCheck PO History and the Delivery/Confirmations tabs in ME22N
No schedule lines due for delivery up to the selected dateNo confirmed schedule line, ATP shortfall, or a delivery block on a sales orderCheck 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 expectsCheck 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.

💼 Real-World Scenario: A New Plant Added to the Network

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.

❗ Common Mistakes When Setting Up Stock Transport Orders

Tip: Whenever a new plant is added to your organization's network, add "complete STO configuration for every relevant plant pair" as a standard item on the plant go-live checklist, not just something to configure reactively after the first failed transfer.

📈 Troubleshooting Decision Tree

✅ Prevention Checklist for MM/SD Configuration Teams

📋 Related SAP Transactions

TransactionPurpose
ME21NCreate a stock transport order (purchase order with STO document type).
VL10BCreate an outbound delivery for a stock transport order.
MIGOPost the goods issue and/or goods receipt for the stock transfer.
ME2WList stock transport orders and their status.
OMGNOverview of STO configuration checks, including document type, delivery type, and checking rule assignment.
OVZ9 / OVZ2Configure checking rules used in availability checks, including those referenced by STO.

🎓 Interview-Style Questions and Answers

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.

📚 Quick Glossary of Terms Used in This Guide

🎯 Conclusion

"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.

❓ Frequently Asked Questions

It means the purchase order being referenced during a stock transport goods movement doesn't have a line item recognized as a valid stock transfer item, usually because the stock transport order configuration - document type, delivery type, checking rule, or shipping data - isn't fully set up for the plant combination involved.
In SPRO, go to Purchase Order > Set Up Stock Transport Order, assign the document type with one-step procedure and underdelivery tolerance settings, assign the delivery type and checking rule for the receiving plant, and assign the plant with the correct document type, checking rule, and shipping scheduling activated, then save.
A Stock Transport Order is a special type of purchase order used to move stock between two plants within the same company, or between company codes, using purchasing document processing instead of a simple transfer posting, which allows in-transit tracking, delivery documents, and optional billing between plants.
A one-step stock transfer posts the goods issue from the supplying plant and the goods receipt at the receiving plant in a single transaction, with no stock-in-transit period. A two-step stock transfer posts the goods issue first, moving stock into a stock-in-transit status, and requires a separate goods receipt at the receiving plant.
A checking rule (such as B) controls which availability check logic applies to stock transport order deliveries, determining how the system checks stock availability at the supplying plant before confirming the delivery.
Because each supplying plant/receiving plant pair can have different shipping, delivery, and checking requirements, SAP requires the document type, delivery type, and checking rule to be explicitly assigned for each specific plant combination rather than applying one global setting.