When two plants in the same company code need to move stock, the simplest, most auditable way to do it in SAP is a Stock Transport Order (STO) with purchase order type UB. You get a real document flow, visibility of goods in transit, optional outbound/inbound delivery handling, and predictable postings—without the intercompany complexities of billing.
Below is a clear, end-to-end walkthrough of the UB STO process, including what to set up (master data + configuration) and how to run it in one-step or two-step flavors.
When to use UB STO
Use UB STO when:
- Both plants are in the same company code.
- You want documented demand at the receiving plant and planning integration (MRP can see the requirement).
- You want in-transit tracking (two-step) and optional delivery logistics (picking, handling units, WM/EWM integration).
If plants are close and shipments are hand-carried or same-day, one-step can be fine. If there’s a transit period, use the two-step with deliveries for control and visibility.
Process overview (Options)
Option A: Two-step with delivery (most common for separated sites)
- Create UB STO (ME21N) at the receiving plant
- Enter Supplying Plant, Material, Quantity, Delivery Date.
- Item category U is used automatically for stock transfer items.
- Create outbound delivery from the supplying plant (VL10B or VL10D → then VL02N)
- A delivery of type NL (stock transport, no billing) is created.
- Pick/pack (optional), then Post Goods Issue from the delivery in VL02N.
- Movement type 641 posts stock to in-transit.
- Goods receipt at the receiving plant
- Post GR against the delivery or the STO (MIGO or VL32N if you use inbound deliveries).
- Movement type 101 receives stock to unrestricted (or as configured).
Result: You see stock move to In Transit after GI and finish in the receiving plant at GR. Document flow ties PR/PO → Delivery → Material Docs.
Option B: One-step STO
For nearby plants and zero/very short transit time:
- The supplying plant posts a single step goods movement that both issues and receives.
- Movement type 647 performs the issue + receipt in one go (no separate GR).
Result: Faster, fewer steps; less transit visibility and no delivery logistics.
Master data you need (checklist)
1) Material Master
- Maintain in both plants with relevant views (Basic, MRP, Purchasing, Accounting, and Storage if needed).
- If you’ll create deliveries, maintain Sales: General/Plant and Loading Group (for shipping point determination) where applicable.
2) Plants & Storage Locations
- Both plants and involved storage locations must exist and be active.
- If you use WM/EWM, the storage locations must be WM/EWM-managed as required.
3) Shipping (for delivery-based STOs)
- Shipping Point for the supplying plant (standard SD determination uses: Delivering Plant + Loading Group + Shipping Condition).
- Routes/transportation if you manage transport planning (optional for simple NL deliveries).
- If you want to use inbound deliveries at the receiving plant, maintain the inbound delivery type and receiving plant GR settings.
4) Business Partners (only for delivery handling)
- In many setups, the receiving plant is represented as a customer of the supplying plant’s sales area to enable delivery creation and partner determination. (It’s an internal customer, used just for intra-company shipping docs.)
- For UB specifically, there is no external vendor requirement—Supplying Plant field on the PO drives it. (No invoice expected for same-company UB.)
5) Optional: Conditions
- If you want to carry freight/planned costs on the STO for internal analytics, ensure conditions schema for STO allows it (no intercompany billing—purely statistical or planned cost use).
Configuration that matters (high-level pointers)
Paths vary slightly by release; below are the concepts to verify in SPRO.
A) Purchasing – STO basics
- PO Document Type UB: Ensure Item Category U is allowed and the relevant field selection keys fit your process.
SPRO → MM → Purchasing → Purchase Order → Define Document Types - Number ranges for POs are defined and assigned.
B) Shipping integration for STOs
- Assign delivery type to STOs and define shipping data for plants (this ties PO type UB to delivery type NL, whether inbound deliveries are created, and controls one-step/two-step behavior at a customizing level).
SPRO → MM → Purchasing → Stock Transport Order → Set up Stock Transport Order / Define Shipping Data for Plants - Shipping Point Determination is set so deliveries can be created from the supplying plant.
SPRO → SD → Shipping → Basic Functions → Shipping Point/GR Point Determination
Ensure Shipping Condition used by STO is maintained (it can come from STO customizing) and Loading Group is on the material.
C) Movement types & account assignments
- Verify movement types 641 (GI to in-transit), 101 (GR), and 647 (one-step) are standard and unmodified (or understand your Z-variants).
- For same company code, postings are usually balance-sheet reclassifications (Inventory → Stock in Transit → Inventory), not P&L.
D) Inbound Delivery (optional but recommended for control)
- If you want an inbound delivery at the receiving plant, configure “Create inbound delivery” for UB STO and set the inbound delivery type (e.g., EL). This enables GR via VL32N and helps with EWM integration.
E) WM/EWM touchpoints (if applicable)
- LE-WM: Define WM interface for outbound deliveries (transfer order creation/picking) and for inbound putaway.
- EWM: Use OD/OIG/ID document flow (outbound delivery order in EWM from NL, inbound in EWM from EL) and map plants/SLoc to EWM-managed storage locations.
Step-by-step: Running the process
1) Create the STO (ME21N)
- Doc Type: UB
- Supplying Plant: The ship-from plant
- Delivery Date, Qty, and Material
- Item Cat: U (automatic for UB)
- Save—this creates the UB PO.
Tips
- Maintain confirmation control only if you truly need confirmations; most UB STOs don’t.
- If delivery creation fails later with “no shipping point,” check Shipping Condition on STO and Loading Group in material.
2) Create the outbound delivery (VL10B / VL10D → VL02N)
- Use VL10B/VL10D to pick up due STO items; the system proposes an NL delivery.
- In VL02N, pick/pack as required; then Post Goods Issue.
- Movement 641 is posted. Stock moves from supplying plant to Stock in Transit for the receiving plant.
Common gotchas
- “No shipping point determined”: fix Determination (Shipping Condition + Loading Group + Plant).
- “PO not selectable”: ensure PO doc type UB is linked to delivery type NL in STO customizing and item is delivery-relevant.
3) Goods receipt (MIGO or VL32N)
- If you use inbound delivery (EL), open VL32N and Post Goods Receipt.
- Otherwise in MIGO, do Goods Receipt → Purchase Order or Goods Receipt → Inbound Delivery.
- Movement 101 posts stock to the receiving storage location (unrestricted/quality/etc. per your setup).
One-step variant
- If configured to use one-step, post movement 647 directly from the supplying side; the system posts the receipt at the same time—no separate GR.
Reporting & reconciliation
- Stock in Transit visibility: Use MB5T (ECC) or the equivalent S/4HANA report/Fiori app (e.g., Monitor Stock in Transit Between Plants).
- MMBE shows quantities at supplying plant, in transit, and receiving plant.
- Document flow from PO → Delivery → Material Document confirms the chain.
- If you use WM/EWM, check TO/Tasks and Warehouse Requests/Tasks for picking/putaway confirmations.
Pricing & costs in UB STOs
- No intercompany billing for UB.
- You may include planned freight or internal surcharge conditions on the STO (statistical) for analytics/costing transparency.
- Inventory valuation remains within the same company code. The GI/GR reclassifies inventory (including Stock in Transit). If plants use different standard prices, transfer differences are handled by standard inventory revaluation logic (check with Finance).
Master data & config quick checklist
Master Data
- Material extended to both plants (incl. Purchasing, Accounting, and if used: Sales/Loading Group).
- Plants & Storage locations created; WM/EWM mapping done if used.
- (If delivery-based) Internal Customer master representing the receiving plant (often used to enable partner/shipping functions).
- Shipping point maintained and derivable (Plant + Loading Group + Shipping Condition).
Configuration
- PO Type UB allows Item Cat U; number ranges OK.
- STO Shipping Data for Plants: tie UB ↔ NL, set one-step indicator as desired, and (optional) create inbound delivery.
- Shipping Point Determination maintained; relevant Shipping Condition available to STOs.
- Movement types 641/101/647 aligned with your process; account assignment keys reviewed.
- WM/EWM integration toggles and doc types aligned (optional but recommended for controlled logistics).
Troubleshooting guide (fast fixes)
- No shipping point determined when creating delivery
→ Check Shipping Condition on STO header/item, Loading Group in material, and Plant in SD determination. - Cannot create delivery for UB
→ In STO customizing, confirm UB → NL assignment and that item category U is delivery-relevant. - GR can’t find reference
→ If you used an inbound delivery, receive against the inbound number (VL32N/MIGO). Otherwise, receive against PO. - WM/EWM not picking
→ Ensure the delivery is distributed to WM/EWM (queue status), warehouse requests created, and the storage locations are correctly WM/EWM-managed. - Stock stuck in transit
→ Run MB5T / S/4 Fiori “Monitor Stock in Transit,” find the delivery/material doc, and complete or reverse as needed.
Best-practice tips
- Prefer two-step with delivery when there’s real transit or when you want picking/packing, handling units, or EWM control.
- Use inbound deliveries for better GR planning, dock scheduling, and EWM integration.
- Keep item category U clean—avoid adding non-essential confirmations; it’s an internal transfer, not a vendor PO.
- Standardize Shipping Conditions for STOs to avoid shipping point headaches.
- Review movement type copy controls before go-live if you have Z-variants—UB processes are sensitive to movement/stock type tweaks.
Wrap-up
The UB STO is the reliable workhorse for intra-company plant-to-plant moves. With the right master data (materials extended to both plants, shipping master where needed) and a few config touchpoints (UB↔NL link, shipping point determination, one- vs two-step), you get clean document flow, in-transit visibility, and logistics control. Start with two-step + deliveries for most distributed networks; reserve one-step for truly local transfers where speed beats visibility.
If you have question on this or any other PortSAP Consulting blog please feel free to contact us at Blog@PortSAP.com. Or if you are looking for Top Quality SAP Consultants please feel free to contact us.
The author, Ray Hornbrook, has over 19 years of SAP functional and technical experience. Ray started his career in SAP as a MM/PP Subject Matter Expert (SME) for a SAP implementation in 1998 and is now a Senior Level SAP Consultant. Since Ray has worked both sides of SAP, business end user and IT professional, he is able to communicate effectively with both IT and Business team members. Having a background as an SAP business end user has helped Ray greatly in his consulting career. The business background helps him better communicate with the business members of the team. As well as helping bridge gaps in communication between the IT and Business team members.
To find out more about Ray Hornbrook please check out his LinkedIn profile by clicking HERE.