Scenario 3 — Goods Issue & Stock Transfers (Internal Movements)
📊 Business Case — When & Why You Use This
Goods issue and stock transfers are how material leaves stock to be used, or moves around inside the company. This is the step where the inventory you bought in Scenario 1 finally turns into a real cost (when consumed) or simply changes location (when transferred). Without it, stock would pile up forever and nothing would ever hit the P&L.
🕐 When to use it
Issuing raw material to a production order or a department (consumption), or relocating stock between storage locations / plants, or reclassifying one material code to another.
❓ Why it matters
This is the MM ↔ CO bridge: consumption (201/261) charges the cost to a cost center or order, so management sees what each department actually used. It's where "asset" becomes "expense."
👤 Who triggers it
Production issues components against orders; maintenance issues spares; storekeepers move stock between locations; cost accounting watches the consumption postings.
🔁 The key distinction
Does value leave the plant or just move shelves? Consumption (201/261) hits FI + CO. A same-plant storage move (311) hits no accounting at all — purely physical.
KI235, FINS_ACDOC_CUST*, or "no controlling area assigned," fix those via Setup Guide Step 19 and the Troubleshooting Center. A pure storage transfer (311) needs none of this.
💰 Financial Impact — The Easy-Money Example
You issue 5 tons of iron ore (₨1,250,000) from the warehouse to the Karachi Production cost center for a test run. Here is the money story — and notice this is the moment the expense from Scenario 1 finally appears:
The big idea: in Scenario 1 buying stock was not an expense — just an asset swap. Here, consuming stock is the expense. The P&L only moves when material is issued (201/261) or sold. Compare the three movement types:
| Movement | What it does to money | P&L hit? |
|---|---|---|
| 201 / 261 Consumption | Inventory ↓, Consumption expense ↑ (on a cost center / order) | ✅ Yes |
| 311 Storage transfer | Nothing — same value, different shelf | ❌ No |
| 309 Reclassification | Old material value ↓, new material value ↑ (variance if prices differ) | ⚠️ Only the price difference |
🇵🇰 The Business Story
PKKHI-PROD for a test (mvt 201), (2) issue 25 TO to a production order making billets (mvt 261), (3) transfer 10 TO from RAWM to WIPS within PK01 (mvt 311), and (4) reclassify 5 TO of a billet material to a new grade code (mvt 309). Material RM-IRON-01, company code PSPK.
🎯 What you'll learn
- Movement types 201, 261, 311, 309 and exactly what each does to inventory + FI + CO
- Consumption to a cost center (the MM↔CO touch point) vs to a production order
- Why a same-plant storage transfer posts no accounting document
- The OBYC role (
GBB / VBR) in determining the offset consumption G/L
🔄 Movement Type Cheat Sheet
| Mvt | What | FI effect | OBYC key |
|---|---|---|---|
| 201 | GI to cost center (consumption) | Consumption Dr / Inventory Cr | GBB · VBR |
| 202 | Reverse 201 (return from cost ctr) | Inventory Dr / Consumption Cr | GBB · VBR |
| 261 | GI to production order | Consumption Dr / Inventory Cr | GBB · VBR |
| 262 | Reverse 261 | Inventory Dr / Consumption Cr | GBB · VBR |
| 311 | Transfer SLoc → SLoc (same plant) | No FI (same valuation area) | — |
| 301/303 | Transfer Plant → Plant (1-step / 2-step) | FI if cross-CC; none if same CC | GBB · UMB |
| 309 | Material → Material (reclassification) | Old Inventory Cr / New Inventory Dr | BSX (both) |
| 561 | Opening stock entry (initial upload) | Inventory Dr / Off-balance Cr | GBB · BSA |
| 501 | Receipt without PO (gift, sample) | Inventory Dr / Other revenue Cr | GBB · ZOB |
RM-IRON-01(ROH, raw) — create stepsHALB-BILLET-01(HALB, the billet the order makes) — create stepsRM-IRON-02(ROH, 2nd iron grade — only for 3.4 reclassification) — make it like RM-IRON-01, same base unitTO, extended to SLocRAWM
New to MM01? The why behind every field.
🔧 Step-by-Step
| Sub-step | Action | Reference | Movement | Why that reference |
|---|---|---|---|---|
| 3.1 → cost center | Goods Issue | Other | 201 | no document — type it; charged to a cost center |
| 3.2 → production order | Goods Issue | Order | 261 | issue against the production order |
| 3.3 SLoc → SLoc | Transfer Posting | Other | 311 | internal move, no document |
| 3.4 material → material | Transfer Posting | Other | 309 | reclassification, no document |
3.1 — Goods Issue to Cost Center · mvt 201 (needs CO setup)
What: Issue 5 TO of iron ore to the Karachi Production cost center for testing/sampling. Goes to expense (consumption), charged to the cost center.
- Run MIGO → Action
Goods Issue· ReferenceOther· Movement Type 201 (or MB1A, which is pre-set to Goods Issue — just enter 201) - Plant PK01 · Storage Location RAWM · Material
RM-IRON-01· Quantity5TO - Account Assignment tab → Cost Center
PKKHI-PROD→ Post
| G/L | Entry | CO object |
|---|---|---|
| 400000 Consumption Raw Mat | Dr 1,250,000 | Cost Center PKKHI-PROD |
| 300000 Inventory | Cr 1,250,000 | — |
CO posting: cost center PKKHI-PROD shows a 1,250,000 debit in S_ALR_87013611 (cost center actual/plan report).
3.2 — Goods Issue to Production Order · mvt 261 (PP — optional for MM)
What: Issue 25 TO of RM-IRON-01 to a production order making steel billets — the same consumption as 3.1, but charged to a production order instead of a cost center.
Movement 261 needs a production order, which belongs to PP (Production Planning), not MM. Building one in S/4HANA means PP master data (a header material with MRP + Work-Scheduling views, a BOM/routing, and a mandatory production version) plus plant-level PP config in PK01 — a whole separate module's setup just to watch a posting you've already seen.
The accounting is identical to 3.1 (mvt 201): 400000 Consumption Dr ₨ / 300000 Inventory Cr ₨ (OBYC GBB · VBR). The only difference is the cost lands on a production order rather than a cost center. So for MM and the C_TS452 exam, knowing what 261 does is enough — you don't have to run it. ✅ You can tick this scenario complete after 3.1, 3.3 and 3.4.
…but if you want to see it post anyway
- Create the materials first (if not already): the billet you'll produce
HALB-BILLET-01(and confirmRM-IRON-01exists) — full field-by-field guide on Create the Production Materials. - One-time PP build — laid out in order on Setup Step 17 — PP Setup for Production: work center (CR01) → BOM for
HALB-BILLET-01with componentRM-IRON-01(CS01) → routing (CA01) → production version (C223 — mandatory in S/4HANA) → create & release a production order forHALB-BILLET-01(CO01 → CO02). Note the order number. - Then post the issue here: MIGO → Action
Goods Issue· ReferenceOrder→ type your production order # (SAP pulls inRM-IRON-01) · Movement Type 261 · confirm Qty 25 · Plant PK01 · SLocRAWM→ Post.
Shortcut: RM-IRON-01 needn't be in the order's BOM — with mvt 261 you can issue it as an unplanned component (enter it directly on the MB1A "To order" screen). Verify exactly like 3.1: FBL3N on 400000 & 300000, but use KOB1 (order actual line items) instead of KSB1 to see the cost on the production order.
3.3 — Storage Location Transfer · mvt 311 (no FI)
What: Move 10 TO from RAWM (raw-material warehouse) to WIPS (work-in-progress) — both inside plant PK01.
- Run MIGO → Action
Transfer Posting· ReferenceOther· Movement Type 311 (or MB1B, pre-set to Transfer Posting) - Source: RM-IRON-01 · Plant PK01 · SLoc
RAWM - Destination: same Plant PK01 · SLoc
WIPS - Quantity 10 TO → Post
FI effect: NONE. Same valuation area (plant-level) — just a physical move. Only MARD (stock per SLoc) updates.
RAWM — WIPS was never added, so the 311 can't land there.
Fix — extend it once: run MMSC → Material RM-IRON-01 · Plant PK01 → add Storage Location WIPS → Save (creates the view with 0 stock) → re-post the 311. (Alternatives: MM01 → "Plant data / stor. 1" view, SLoc WIPS; or switch on auto-create at goods movements in OMB3 so it never happens again.)
3.4 — Material Reclassification · mvt 309 (one material → another)
When: You discover 5 TO of stock is actually a different specification — convert it to a new material code without physically moving it. Useful for grade reclassification or batch correction (e.g. iron Grade-A → iron Grade-B).
#1 cause — wrong movement type. If the box at the top-right shows 311 ("TF trfr within plant"), the Dest material is locked to the source — 311 only moves the same material between storage locations. Change it to 309: click that field, type 309, press Enter. Only then does the Dest Material field open for a different material.
Once on 309, these rules apply (material type does NOT need to match — ROH→HALB is allowed):
- Same base unit of measure — the real hard rule. Both materials must use the same base UoM (e.g. both
TO), else 309 is impossible. - Both materials extended to the same plant + storage location you're posting in. If the destination doesn't exist in that SLoc, you can't select it. → fix by extending it (MMSC or MM01 storage view), exactly like the 3.3 note above.
- Source must have unrestricted-use stock in that SLoc.
Got "No stock posting possible… M7 097"? The destination's material type isn't quantity-managed in valuation area PK01. Made materials (HALB/FERT) need this switched on once per plant: OMS2 → select the material type → Quantity/value updating → valuation area PK01 → tick Qty updating + Value updating → save (create a Customizing request). ROH was already on — that's why iron posts. You'll also need this to receive billets from the production order (GR 101).
Don't use 309 to turn iron into a billet — that's a production process (consume iron via 261, receive the billet via GR 101 — see 3.2), not a reclassification.
📋 Every setting here explained for beginners (why · how · the error each prevents): Stock-Readiness Settings.
Reliable live example — reclassify RM-IRON-01 → RM-IRON-02 (you already have RM-IRON-01 stock in RAWM; both are ROH / base unit TO):
- First create RM-IRON-02 like RM-IRON-01 (type
ROH, base unitTO, valuation class3000), extended to SLocRAWM— follow Create Any Material (MM01) using RM-IRON-01 as the template. - Run MIGO → Action
Transfer Posting· ReferenceOther· Movement Type 309 - Source Material:
RM-IRON-01· Qty 5 TO · Plant PK01 · SLocRAWM - Destination Material:
RM-IRON-02— same plant + SLoc (RAWM) → Post
FI effect: old material inventory Cr + new material inventory Dr (BSX both sides). If the two materials' prices differ, the difference posts to a gain/loss G/L.
✅ Verification — Confirm Scenario 3 Worked
| # | T-code | Check |
|---|---|---|
| 1 | MB51 | Filter by RM-IRON-01 → see 201, 261, 311 entries in order |
| 2 | MMBE | Stock per SLoc — RAWM lower, WIPS higher |
| 3 | S_ALR_87013611 | Cost Center PKKHI-PROD shows the consumption debit |
| 4 | FBL3N | G/L 400000 (Consumption) debit; 300000 (Inventory) credit, equal amounts |
🎓 Interview-Ready Answers
Q: When does buying material actually become an expense?
Not at purchase — that's an asset swap (cash/payable → inventory). The expense posts when the material is consumed: a goods issue to a cost center (201) or production order (261) credits inventory and debits a consumption account, charged to the relevant CO object. Or when it's sold (COGS).
Q: Why does a 311 transfer post no accounting document but a 201 does?
311 moves stock between storage locations within the same plant — and valuation in SAP is at plant (valuation area) level, so the value doesn't change; only the storage-location quantity (MARD) updates. A 201 removes value from the plant entirely (into consumption), so it must post an FI + CO document.
Q: How is the consumption G/L determined automatically?
Through OBYC transaction key GBB with general modification VBR (consumption to cost center/order), combined with the material's valuation class and chart of accounts → the consumption G/L (e.g. 400000). Inventory side comes from BSX.