Scenario 7 — Intra-Company STO (Karachi → Lahore)

TIER 3 · MULTI-PLANT ★★☆☆☆ ⏱️ ~1.5 hours ME21N (UB) → MIGO 351 → MIGO 101
← Previous
Scenario 6: Asset Procurement
Next →
Scenario 8: Inter-Company STO
✅ Live-tested on S/4HANA 2023 (PSPK)
Executed end-to-end: practice stock via MIGO 561 (PK01/FNGD) → STO doc type UB (ME21N, supplying plant PK01, receiving plant PK02) → goods issue 351 (stock in transit, tracked live in MB5T) → goods receipt 101 at PK02 → MMBE: 20 TO moved plant-to-plant, company total unchanged — no invoice, no payment. Hit an error? Every gate we met on the way (OMS2 licenses, missing G/L accounts, Material Ledger C+470, T159L plant parameters, the DP partner warning) has its plain cause and fix in the Troubleshooting Center.

📊 Business Case — When & Why You Use This

An intra-company Stock Transport Order (STO) moves material between two plants of the same company code using a formal PO document (Doc Type UB). Unlike a quick storage-location transfer (311), an STO gives you a tracked, approvable document, optional delivery/shipping, and a proper paper trail for stock crossing plant boundaries — all without any vendor invoice, because both plants belong to one legal entity.

🕐 When to use it

One plant has surplus stock another plant needs — e.g. PakSteel Karachi has 20 TO of finished rebars and Lahore has demand. You want a tracked transfer with delivery/transit visibility, not an untracked shelf move.

❓ Why it matters

It is the controlled way to balance stock across plants. The UB PO supports approval, scheduling, in-transit tracking, and (optionally) SD delivery — far more than a plain 311/301 transfer posting can offer.

👤 Who triggers it

The receiving plant's planner/storekeeper raises the STO; the supplying plant's storekeeper issues the goods; in the SD-integrated route a shipping clerk creates the outbound delivery.

🔁 The key distinction

Two routes, two movement families. Without SD delivery (our route — no shipping config needed): MIGO posts 351 (stock → in transit) then 101 (arrive). With SD delivery (needs Step 16 shipping setup): the outbound delivery posts 641 → 101, or one-step 647. Same business result — the delivery route just adds real logistics papers.

💰 Financial Impact — The Easy-Money Example

PakSteel moves 20 TO of finished rebars (FERT-REBAR-01), valued ₨3,000,000, from Karachi (PK01) to Lahore (PK02). Both plants sit inside company code PSPK. Here is the money story — and the punchline is that nothing hits the P&L:

📦 Before
PK01 holds ₨3.0M
The rebars sit as inventory at Karachi — a balance-sheet asset of company code PSPK.
→
🚚 STO transfer (mvt 351 → 101)
Inventory moves plant→plant
₨3.0M leaves PK01 inventory and lands in PK02 inventory. Same company code, same valuation amount.
→
📊 Result
P&L hit ₨0
Total inventory of PSPK is unchanged — it just sits in a different plant. No expense, no revenue.

The big idea: an intra-company STO has no P&L impact — it is just inventory moving between plants (and storage locations) inside the same company code, so total assets are unchanged. The only possible accounting entry is a small price-difference variance if the two plants happen to carry different valuation prices for the same material. Contrast this with an inter-company STO (Scenario 8), where the two plants belong to different legal entities — that one does create a real receivable/payable and intercompany revenue between the two company codes.

💡 Key lesson: Same company code = no money changes hands, no P&L. The STO is about control and tracking of physical stock across plants, not about value creation. Value only moves between legal entities, which is exactly what makes Scenario 8 (inter-company) so much heavier.

🇵🇰 The Business Story

PakSteel Karachi (PK01) has surplus 20 TO of finished rebars (FERT-REBAR-01). Lahore plant (PK02) has demand. Both plants belong to the SAME company code PSPK. Move stock from Karachi to Lahore using STO — on our simple route that is two steps: issue 351 (truck leaves, stock "in transit") → receipt 101 (truck arrives). (The 641/647 movements you may read about belong to the SD-delivery flavor — see the FAQ.)

🎯 What you'll learn — STO vs simple transfer (311)

📋 Prerequisites

📦 Material needed — create first (just-in-time)

FERT-REBAR-01 (FERT, finished) — create steps. First time? the why behind every field.

✅ Before you start — what this scenario assumes

🔧 Step-by-Step — Simple route (mvt 351 without delivery)

🧭 The whole scenario at a glance — where the stock sits after each moment
#ActionMIGO settingStock afterwardsWhy this step exists
0Practice stock via 561 (setup only — real factories already have stock)Goods Receipt + Other📦 Karachi shelfyou cannot ship stock you do not have
7.1Create the STO (ME21N, UB)— paper only, nothing moves📦 Karachi shelf + a "promise" (On-Order) at Lahorea promise needs a document
7.2Goods issue 351Goods Issue + Purchase Order🚚 On the road (owned by Lahore — see MB5T)stock must formally leave the sender before it can arrive
7.3Goods receipt 101Goods Receipt + Purchase Order📦 Lahore shelf — promise fulfilled, transit emptya transfer is not done until the receiver confirms arrival

Two "Goods Receipts", two meanings: Receipt + Other = stock in from nowhere (declared, 561). Receipt + Purchase Order = stock in from the document's story (the STO's truck, 101). The second dropdown — the reference — is what tells them apart.

7.1 — Create STO · ME21N with Doc Type UB

⚡ This step will: turn the transfer plan into a formal order document — Lahore starts showing the 20 TO as On-Order (a promise, not stock). Nothing moves yet, and no vendor is involved. 📄 paper: stock transport order (UB) · 📦 stock: no change · 💰 money: no posting

Do: ME21N → set the fields below → Save. Notice what is missing: no vendor to pay and no invoice at the end — you are moving your own stock, not buying.

The ME21N screen has 3 zones — ① the Header (top: the document type, and for an STO the Supplying Plant field that takes the place of a vendor), ② the Item overview grid (one ROW per line — material, quantity, the receiving Plant and its storage location), ③ the Item detail tabs below (for the selected line). Filling zone ① with a plant instead of a vendor is the whole difference from a buying PO.

Where on screen · FieldFillWhat the field asks (plain words)Why we choose this — and the impact if wrong
Header · Doc TypeUB (Stock Transport Order)Which pad of forms is this order written on? Each document type carries its own rules and numbering.UB = the intra-company transfer pad: it uses a supplying plant instead of a vendor and has no invoice step. Impact: use the buying pad NB by mistake and SAP expects a real vendor and an invoice — wrong for moving your own stock. (NB is right for the cross-company STO in Scenario 8.)
Header · Supplying PlantPK01 (header field)Which plant SHIPS the goods?This replaces the vendor field — the "supplier" here is your own Karachi plant, PK01. Impact: name the wrong plant and stock ships from the wrong site.
Item grid · MaterialFERT-REBAR-01WHICH material moves?FERT-REBAR-01, the finished rebars. It must exist in BOTH plants (see Prerequisites), because each plant reads its own copy of the material record. Impact: if it is not extended to both plants, the STO cannot post.
Item grid · Qty20 TOHOW MUCH moves?20 TO — the surplus Karachi is sending to Lahore. Impact: a wrong quantity moves too much or too little stock between the plants.
Item grid · Plant (on the line)PK02 — the RECEIVING plantWhich plant RECEIVES? Careful — on an STO the line's Plant field means the receiver.The supplier already sits in the header as Supplying Plant, so the line's Plant is the destination, PK02 (Lahore). Impact: swap the two and the stock moves the wrong way — Lahore to Karachi.
Item grid · Item CategoryU (stock transfer) — SAP sets it automatically on UB lines; you type nothingWhat KIND of line is this?U = a stock-transfer line: no vendor invoice will ever follow, only goods movements. (Compare: blank = normal purchase, D = service, L = subcontracting.) Impact: if U does not appear, the doc type isn't UB — you're creating a normal purchase instead of a transfer.
Item grid · Storage Location at receivingFNGDWhich room/shelf inside the receiving plant?FNGD is the exact place at Lahore where the 20 TO will land. Impact: a wrong or missing storage location and the goods have nowhere defined to arrive.

Save → STO # (e.g., 4500000200).

7.2 — Step A: Goods ISSUE at Karachi · MIGO mvt 351 (auto)

The truck leaves PK01. Stock moves from Karachi's shelf into "stock in transit" — still PSPK's property, just on the road. 📄 paper: material document · 📦 stock: PK01 shelf ↓ → in transit · 💰 money: no posting (a small price-difference line only if the two plants' prices differ)

MIGO has 3 zones — ① the top bar (the two dropdowns, Action + Reference, plus the movement type), ② the header tabs (dates, delivery note), ③ the item area — the overview grid plus the item-detail tabs (e.g. the Where tab for the storage location) with ☑ Item OK at the bottom.

  1. MIGO · Goods Issue · Reference: Purchase Order · your STO #. The top bar asks: what are we doing, and is there a document behind it? "Goods Issue" = stock is leaving the sending plant; pointing at the STO lets MIGO copy material, quantity and plants from it — no retyping.
  2. Movement Type: 351 fills in by itself — the description reads "TF post. in tr. from unrestr." = transfer posting to stock in transit from unrestricted stock. Don't change it, and don't look for 641/647 here — on this route (no SD delivery) 351 IS the issue movement. MIGO derives it from the STO + the "Goods Issue" action; movement types are never typed when a reference document is used. (641/647 belong to the delivery-based route — see the FAQ.)
  3. Item detail → Where tab: confirm the FROM storage location at PK01 (FNGD). The issue empties the Karachi shelf; the destination shelf comes later, at the receipt.
  4. ☑ Item OK → Check (yellow warnings are fine) → Post.
  5. See the teaching moment: MMBE → the 20 TO now sit as Stock in Transit (shown at the receiving plant PK02) — neither on Karachi's shelf nor on Lahore's. MB5T shows the same list.

FI: NONE if both plants carry the same valuation price (our case — both ₨350,000). If prices differ → a small price-difference line posts.

7.3 — Step B: Goods RECEIPT at Lahore · MIGO mvt 101 (auto)

The truck arrives at PK02. In-transit empties; Lahore's shelf fills. 📄 paper: material document · 📦 stock: in transit ↓ → PK02 shelf ↑ · 💰 money: no posting (own stock arriving — no vendor, no GR/IR)

Same MIGO screen as 7.2 — only the action changes:

  1. MIGO · Goods Receipt · Reference: Purchase Order · same STO # → movement 101 fills in by itself. 101 asks: has the truck ARRIVED? The same receipt movement you know from Scenario 1 — here it empties "in transit" instead of creating a vendor liability.
  2. Item detail → Where tab: storage location FNGD at PK02 (comes from the STO line). ☑ Item OK → Post.
  3. MMBE finale: transit = 0 · PK02 unrestricted = 20 TO · PSPK's total unchanged. No invoice, no payment — same company code.

✅ Verification — Confirm Scenario 7 Worked

🎓 Interview-Ready Answers

Q: What is the difference between an STO and a normal stock transfer (311/301)?

An STO is driven by a purchase order document (Doc Type UB for intra-company), so it supports approval, scheduling, delivery via SD, and in-transit tracking across plants. A 311 is a plain transfer posting between storage locations in the same plant; a 301 is a one-step plant-to-plant move with no PO. Use an STO when you need a tracked, document-based transfer between plants.

Q: Does an intra-company STO post any accounting document?

Generally no P&L impact — both plants belong to the same company code, so total inventory value is unchanged; stock simply moves from one plant to another. The only accounting entry is a price-difference variance if the two plants carry different valuation prices for the same material. There is no invoice, no AR, and no AP.

Q: Why did SAP let me create the STO when the supplying plant had ZERO stock?

Because documents promise the future; movements touch the present. An order says "deliver 20 TO next week" — the stock may be produced tomorrow, so requiring it at order time would make advance ordering impossible. SAP therefore saves the STO, pins a "promise" (On-Order) on the receiving plant, and enforces reality only at the goods issue: loading a truck from an empty shelf fails with M7 021 "Deficit". An availability check (ATP) can be configured to warn and propose dates at order time (the "Availability Check" group on MRP 3 is its master switch) — but even then it re-dates rather than forbids. One line: paper never checks the shelf; movements always do.

Q: Where are movements 641 and 647? MIGO only offered me 351.

Correct — and live-tested on our system. The movement family depends on the ROUTE, not on your choice in MIGO:

  • STO without SD delivery (our route, zero shipping config): MIGO derives 351 for the issue (stock → in transit) and 101 for the receipt. There is no one-step variant here.
  • STO with SD delivery (needs shipping setup — Step 16: shipping point, delivery type NL): the goods issue is posted from the outbound delivery (VL10B/VL02N), and THAT document uses 641 (two-step) or 647 (one-step, issue + receipt together).
  • Want a one-step plant-to-plant move with no STO at all? That's the plain transfer posting 301 in MIGO — but then you lose the tracked PO document.

Interview line: "351/101 is the STO without delivery; 641/647 is the STO with SD delivery — the movement type tells you which route a company runs."

← Previous
Scenario 6: Asset Procurement
Next →
Scenario 8: Inter-Company STO