Enterprise Structure
MM / P2Pbeginner

MM Enterprise Structure Part 1: Plants, Storage Locations, Purchasing Organizations and Assignments

Key takeaway

The organizational units procurement runs on: client, company code, plant, storage location, purchasing organization and purchasing group — what each represents, how they are assigned to each other, and why the valuation level is the plant.

Explanation

📌 KEY POINTS
✅ Client → company code (legal entity) → plant (site where stock is kept, produced or planned) → storage location (where stock is stored inside a plant).

✅ A plant belongs to exactly one company code; a company code can have many plants.

✅ The purchasing organization negotiates conditions with suppliers; purchasing groups are the buyers.

✅ Purchasing organizations are assigned to company codes and plants — only assigned plants can be ordered for.

⚠️ Valuation is normally at plant level — changing the valuation level later is practically impossible.

━━━━━━━━━━━━━━━━━━━━
▶ WHAT THIS SERIES COVERS

Part 1: Plants, storage locations, purchasing organizations and assignments

Part 2: Enterprise structure design for global S/4HANA procurement

━━━━━━━━━━━━━━━━━━━━
▶ 1. CLIENT AND COMPANY CODE

  • Client: the system-level container for all data.
  • Company code: legal entity with its own balance sheet.

━━━━━━━━━━━━━━━━━━━━
▶ 2. PLANT AND STORAGE LOCATION

  • Plant: factory, warehouse, distribution center (OX10), assigned to one company code (OX18).
  • Storage location: stock place inside a plant (OX09); stock quantities are managed per storage location.

━━━━━━━━━━━━━━━━━━━━
▶ 3. PURCHASING ORGANIZATION

  • Negotiates prices and conditions, owns info records and contracts (OX08).
  • Assigned to company code (OX01) and plants (OX17).

━━━━━━━━━━━━━━━━━━━━
▶ 4. PURCHASING GROUP

  • Buyer or buying team responsible for materials (OME4); not an org unit assigned to others.

━━━━━━━━━━━━━━━━━━━━
▶ 5. VALUATION LEVEL

  • Plant level (standard and required for PP) vs company code level (OX14).
  • Stock values are kept per valuation area.

━━━━━━━━━━━━━━━━━━━━
▶ STEP BY STEP

  1. Display the plant–company code assignment.
  2. Check which plants a purchasing org can buy for.
  3. Check a material's stock per plant and storage location (MMBE).

✅ CHECKPOINT: you can explain for any PO which company code pays, which plant receives, and which purchasing org negotiated it.

Code example

ABAP Code
===== STEP 1: define and assign (SPRO > Enterprise Structure) =====Define plant (OX10) → assign plant to company code (OX18)Define storage locations (OX09) per plantDefine purchasing organization (OX08) → assign to company code (OX01) → assign to plants (OX17)Define purchasing groups (OME4) ===== STEP 2: valuation level =====OX14: valuation level = plant (recommended) | valuation area = plant ===== STEP 3: example =====Company code 1000 | plants 1000 (factory), 1100 (DC) | sloc 0001 raw, 0002 finishedPurchasing org 1000 → CC 1000 → plants 1000, 1100 | purchasing group 001 (steel), 002 (packaging)

Real project scenario

A company added a new distribution center but forgot to assign it to the purchasing organization. Buyers couldn't create POs for the plant and assumed a system error. After OX17 assignment and a new-plant checklist (company code, storage locations, purchasing org, valuation, MRP), subsequent sites went live without issues.

Common mistakes

  • Missing purchasing org to plant assignment.
  • Too many storage locations without purpose.
  • Treating purchasing groups as organizational units.
  • Company code valuation level chosen without thought.
  • No new-plant checklist.

Best practices

  • Use plant-level valuation.
  • Keep storage locations meaningful.
  • Assign purchasing orgs deliberately.
  • Maintain a new-plant checklist.
  • Document the structure visually.

Interview angle

Questions: "Explain the MM organizational structure", "What is the relation between plant and company code?", "What is the difference between purchasing organization and purchasing group?"
Strong answer: client, company code, plant (one CC), storage location, purchasing org (assigned to CC/plants, negotiates), purchasing group (buyers), plant-level valuation.

Practice this lesson

Quick check

1. Buyers cannot create purchase orders for a newly created plant. What is the most likely missing assignment?

2. Which organizational level in SAP sits at the top of the enterprise structure hierarchy, encompassing all company codes, plants, and purchasing organizations within a single system landscape instance?

3. In the SAP MM enterprise structure, which organizational unit represents a physical or logical location where materials are produced, stored, or made available for distribution and procurement?

Interview questions

1. What is the relationship between client and company code in SAP, and why does this matter when designing the enterprise structure for a procurement implementation?

Answer it in your own words first, then compare.

2. Explain how client and company code levels interact in SAP enterprise structure design, and why getting this relationship wrong impacts purchasing master data replication.

Answer it in your own words first, then compare.

Practice more with Interview AI →

Reference-verified: the steps are checked against official SAP documentation and tutorials, and object and field names in the sample code are checked for consistency. The code has not been compiled or run on an SAP system by ERPClimb. Syntax marked release-dependent varies by SAP release, so check it in your own system.

More lessons in this topic

Interview questions on this topic

Related SAP topics