SAP MM Organizational Structure — Complete Guide

The foundation of SAP MM. Before you can buy, sell, store, or value anything in SAP, the organization itself must be modeled. This guide explains every org-structure entity using a Pakistani company example — Pakistan Steel & Engineering Co. (PSEC).

▶ Try it live: Org-Structure Map — explore the whole structure on a clickable map with follow-a-PO/GR/Invoice walkthroughs.

📘 Deep-dive guide per entity

Each entity below has its own dedicated page with full details — configuration T-codes, mandatory vs optional, linkages, customization options, "is this possible" client Q&A, common errors, real-world examples, and interview soundbites.

Recommended order
Read this page once for the overview → then deep-dive into Plant and Purchasing Org (the two most important) → then the others as needed → finally move to the Advanced topics.

1. Why SAP separates organizational concerns

Real businesses have multiple dimensions:

SAP separates each of these into its own entity so that real-world complexity can be modeled accurately.

The key insight
One company can have many factories. One factory can be served by multiple buying teams. The legal entity, the operational location, and the buying function are independent — so SAP gives them independent entities.

2. Our example — Pakistan Steel & Engineering Co. (PSEC)

Throughout this academy we'll follow a fictional Pakistani manufacturer. Here's the company:

AttributeValue
Group namePakistan Steel & Engineering Co. (PSEC)
BusinessManufactures steel rods, bars, and engineering products
HeadquartersKarachi, Pakistan
Currency (primary)PKR (Pakistani Rupee)
Legal entitiesPSEC Pakistan Ltd (Karachi) · PSEC Trading FZ-LLC (Dubai)
Manufacturing locationsKarachi factory · Lahore factory · Faisalabad factory · Dubai DC (UAE)
Sells toLocal construction firms in Pakistan + export to GCC countries

This setup covers nearly every scenario you'll meet on a real project:

3. The 7 organizational entities you must know

3.1 Client

What it isThe whole SAP system instance. Top of the hierarchy.
Format3-digit number (e.g. 100, 200, 800)
ExampleClient 100 = PSEC's production system
DatabaseT000

3.2 Company Code

What it isA legal entity. Files taxes, produces balance sheet & P&L.
Format4-character alphanumeric
T-code to defineOX02
ExampleCC 1000 = PSEC Pakistan Ltd (PKR) · CC 2000 = PSEC Trading FZ-LLC Dubai (AED)
DatabaseT001

3.3 Plant — ⭐ the most important MM entity

What it isAn operational location. Factory, warehouse, distribution center, service site.
Format4-character alphanumeric
T-code to defineOX10
T-code to assign to CCOX18 MANDATORY
ExamplePlant 1100 = Karachi factory (CC 1000) · Plant 1200 = Lahore factory · Plant 1300 = Faisalabad · Plant 2100 = Dubai DC (CC 2000)
DatabaseT001W
Critical rule
A Plant must be assigned to exactly ONE Company Code. You cannot share a plant across multiple CCs. This is enforced by SAP.

3.4 Storage Location

What it isA physical or logical subdivision of a Plant where stock sits.
Format4-character alphanumeric
T-code to defineOX09 (per plant)
ExampleInside Plant 1100: SL RM01 (raw materials), SL FG01 (finished goods), SL QA01 (quality hold)
DatabaseT001L
Critical concept: Stock quantity is tracked at Storage Location level. Stock value is tracked at Plant level. Moving stock between SLs of the same plant changes quantity but not value — no FI document fires.

3.5 Purchasing Organization

What it isThe unit responsible for purchasing — negotiates with vendors, signs POs.
Format4-character alphanumeric
T-code to defineOX08
T-code to assign to CCOX17 (optional)
T-code to assign to PlantOX01 MANDATORY (≥1)
ExamplePurch Org PSEC-PK = local Pakistan buying · Purch Org PSEC-AE = UAE local · Purch Org PSEC-GLOB = cross-company strategic buying
DatabaseT024E

3.6 Purchasing Group

What it isA buyer or buyer team — usually specialized by category.
Format3-character alphanumeric
T-code to defineOME4
Assigned toNOTHING — free-floating in config. Selected directly on each PR/PO.
Example001 = Raw materials buyer · 002 = Packaging buyer · IT0 = IT & software · SRV = Services
DatabaseT024
Common interview trap
Purchasing Group is NOT assigned to Purchasing Organization. It's a free-floating field. Anyone in the system can pick any Purchasing Group when creating a PR/PO. This is a favorite interview question.

3.7 Valuation Area

What it isThe level at which materials are valued in money — Plant level (standard) or Company Code level (rare).
T-code to defineOX14
Standard choicePlant level — each plant has its own price for the same material. Required if PP (Production Planning) is used.
ExampleSteel Rod M-100: ₨5,000/ton at Karachi plant; ₨5,200/ton at Lahore plant — independent prices.
DatabaseT001K

4. How they link together

Here's our PSEC example fully mapped out:

Client 100
  │
  ├── Company Code 1000  (PSEC Pakistan Ltd, PKR)
  │     ├── Plant 1100  (Karachi factory)
  │     │     ├── SL RM01 (raw materials)
  │     │     ├── SL FG01 (finished goods)
  │     │     └── SL QA01 (quality hold)
  │     ├── Plant 1200  (Lahore factory)
  │     │     └── SL RM01, FG01, QA01
  │     └── Plant 1300  (Faisalabad factory)
  │           └── SL RM01, FG01, QA01
  │
  └── Company Code 2000  (PSEC Trading FZ-LLC, AED)
        └── Plant 2100  (Dubai DC)
              └── SL DC01, EXP1

  Purchasing Orgs (cross-cutting):
    PSEC-PK    → assigned to CC 1000 + plants 1100, 1200, 1300 (local PK buying)
    PSEC-AE    → assigned to CC 2000 + plant 2100 (local UAE buying)
    PSEC-GLOB  → assigned to NO CC + all 4 plants (cross-company strategic buying)

  Purchasing Groups (free-floating):
    001 Raw materials · 002 Packaging · 003 Maint/spares · IT0 IT · SRV Services

  Valuation Area:
    = Plant level (each plant carries its own price)

The assignment rules

AssignmentMandatory?T-code
Plant → Company CodeYESOX18
Storage Location → PlantYESOX09
Purch Org → PlantYES (≥1)OX01
Purch Org → Company CodeOPTIONALOX17
Purch Group → anything❌ Never assigned

5. T-codes to define and assign — your roadmap

The exact sequence to build an org structure in SAP S/4HANA On-Premise:

  1. Step 1 — Define Company Code(s) T-code: OX02 · Set the 4-char ID, country, currency, language, fiscal year variant.
  2. Step 2 — Define Plant(s) T-code: OX10 · Set the 4-char ID, name, factory calendar.
  3. Step 3 — Assign each Plant to its Company Code T-code: OX18 · This is mandatory; without it, the plant can't function.
  4. Step 4 — Define Storage Locations T-code: OX09 · Per plant — define 3-5 SLs that make sense (RM, FG, QA, returns).
  5. Step 5 — Define Purchasing Organization(s) T-code: OX08 · 4-char ID and description.
  6. Step 6 — Assign Purch Org to Company Code T-code: OX17 · Optional — leave blank for cross-company Purch Org.
  7. Step 7 — Assign Purch Org to Plant(s) T-code: OX01 · Mandatory; must assign to at least one plant.
  8. Step 8 — Define Purchasing Group(s) T-code: OME4 · 3-char ID, buyer name, contact details.
  9. Step 9 — Set Valuation Level T-code: OX14 · One-time choice — Plant level (recommended) or CC level.
Hands-on practice
Open our interactive builder and follow this same sequence. The builder shows you which database tables get rows at each step — exactly what your SAP system does behind the scenes.
Open the Org Structure Builder →

6. Centralized vs Decentralized — when each makes sense

One of the most important design decisions: should ONE Purchasing Org buy for all plants, or should EACH plant have its own?

When CENTRALIZED is right (one Purch Org)

When DECENTRALIZED is right (Purch Org per plant)

The real rule
Most design factors (different prices, different approval, per-plant reporting) can be solved even with centralized via plant-specific info records, release strategy characteristics, and authorization roles. Only multi-CC, multi-owner, or multi-currency truly FORCE decentralization. Everything else is preference.

PSEC scenarios mapped

ScenarioRecommended setupWhy
PSEC has only Karachi factoryCentralized — 1 Purch OrgSingle CC, single plant — nothing to decide
PSEC expands to Lahore + FaisalabadCentralized — 1 Purch Org PSEC-PKSame CC, same vendors, same currency. Volume leverage gained.
PSEC opens Dubai entity (CC 2000)Hybrid — PSEC-PK + PSEC-AE + optional PSEC-GLOBDifferent CCs, different currencies. GLOB enables strategic global buying.
PSEC enters JV with Saudi partnerDecentralized — separate Purch Org for JV plantDifferent ownership = different contract signatories.

7. Interview Q&A

What is the highest organizational unit in SAP?

Client. All data is scoped to a client; nothing is shared across clients. Configured at system installation.

Can a Plant belong to more than one Company Code?

No. A plant must be assigned to exactly ONE Company Code via T-code OX18. This is enforced by SAP.

At what level is material valuation done?

Either Plant level (standard, recommended) or Company Code level (rare). Set once via OX14. Plant-level is required if PP module is used.

Is Purchasing Group assigned to Purchasing Organization?

No — and this is a classic interview trap. Purchasing Group is free-floating in config. It's a field on PR/PO, not an assigned entity. Used for buyer accountability, release strategy routing, and reporting.

What are the three flavors of Purchasing Organization?

(1) Plant-specific — assigned to one plant only. (2) Cross-plant / Company-specific — assigned to multiple plants of one CC. (3) Cross-company / Reference — buys across CCs; not assigned to a single CC.

What's the difference between Plant and Storage Location?

Plant is the operational location and the valuation level — stock value lives here. Storage Location subdivides a plant and tracks quantity only. Moving stock between SLs of the same plant is quantity-only — no financial impact.

Can a Purchasing Org buy for plants in multiple Company Codes?

Yes — assign the Purch Org to NO single CC (leave OX17 blank) and assign it to plants from multiple CCs via OX01. This makes it a cross-company Purch Org. The PO's financial impact still lands in the CC the PO line's plant belongs to.

8. What's next

You now understand the theory. Time to build.

Our interactive Org Structure Builder lets you construct PSEC's organization step-by-step. You'll watch database tables fill with rows, see exactly which T-codes to run in real SAP, and toggle between centralized and decentralized scenarios.