📦 SAP Storage Location — Complete Guide

A physical or logical subdivision of a Plant where stock physically sits. Holds quantity only, not value. T-code OX09, configuration, batch management, real examples.

▶ Try it live: Plant vs Storage Location demo — see live why value sits at plant level and a 311 transfer posts no FI document.

📋 Snapshot

What it isSubdivision of a plant — physical or logical area holding stock
ID format4-character alphanumeric (e.g. RM01, FG01)
Mandatory?YES — at least one per plant for stock-managed materials
T-code to defineOX09 (per plant)
Database tableT001L
HoldsQUANTITY only — never value

1. The single most important rule

Quantity vs Value
Plant holds money VALUE. Storage Location holds QUANTITY only. Moving stock between SLs of the same plant (movement type 311) is quantity-only — no FI document fires. Only crossing the plant boundary creates FI postings.

2. Where Storage Location is mandatory

TransactionWhy
Goods Receipt (MIGO 101)Must land stock at a specific SL
Goods Issue (MIGO 261)Withdraw from a specific SL
Transfer Posting (MIGO 311)SL → SL transfer
Reservation (MB21)Earmark stock at specific SL
Physical Inventory (MI01)Count is per plant + SL
Stock Overview (MMBE)Stock broken down by SL

3. Where SL is OPTIONAL or auto-handled

4. Customization — Storage Location configuration

  1. Define SL per PlantOX09 — 4-char ID, description (e.g. RM01, FG01, QA01)
  2. Auto-create SLs on GR (optional) — OMB3 — Configure per plant; saves manual SL master maintenance
  3. Set Negative Stock allowed (optional) — OMJ1 — Allow negative stock per SL (rare)
  4. Block SL from MRP (optional) — Material Master MRP view per SL
  5. Storage Location MRP indicator — Per material per SL — excludes SL from MRP net req calculation if needed

5. Common SL design patterns

SL CodePurposeCommon in
0001General / defaultSmall operations
RM01Raw materialsManufacturing
WIP1Work in processProduction
FG01Finished goodsManufacturing
QA01Quality holdQM scenarios
RTN1Returns from customersSD reverse logistics
BLCKBlocked stockAny
SCRPScrap awaiting decisionManufacturing
Rule of thumb
Start with 3–5 SLs per plant. Add more only when there's a real operational reason — physical distinction, distinct reorder policy, or distinct WM bin assignment. Don't over-engineer.

6. SL + Batch Management

If material is batch-managed (flag XCHPF in MM01 Storage 1 view), each stock at an SL is also tracked by batch number:

7. "Is this possible?" — client Q&A

Can stock be valued at SL level?

No. Stock value is always at the plant (or CC) level — never SL. If you genuinely need separate valuation, you need separate PLANTS, not separate SLs.

Can I have negative stock at an SL?

Yes if configured via OMJ1 — but rare. Usually a sign of process issues.

Can two plants share the same SL ID?

Yes — but independent. RM01 in Plant 1100 ≠ RM01 in Plant 1200.

Can I delete an SL?

Once stock posted there, no. Block via deletion indicator — historical postings remain valid.

PSEC SL setup

Plant 1100 (Karachi factory):
  RM01 — Raw materials (iron ore, billets)
  WIP1 — Work in process
  FG01 — Finished goods (steel rods ready to ship)
  QA01 — Quality hold (awaiting inspection decision)
  RTN1 — Returns from customers

Plant 2100 (Dubai DC):
  DC01 — Main stock
  EXP1 — Export staging (held for export shipments)

Interview Q&A

Storage Location = where stock physically sits inside a plant. Quantity only — no value. Quality / blocked / returned stock often modeled via SL. Multiple SLs per plant. Same SL ID can exist in different plants (independent).

Next