πŸ—οΈ Setup SAP MM Org Structure β€” Pakistani Company Guide

For S/4HANA on-premise (IDES or any sandbox). Configure a real working org structure for a Pakistani manufacturer (PakSteel Industries) that covers 95% of MM scenarios. Each step explains why, is it mandatory, field-level reasoning, impact of choices, and how to verify. All examples use PKR currency, Pakistani regions (Sindh, Punjab), NTN/STRN tax numbers.

How to use this guide
Follow steps in order. Each step is independent and verified. Check the box when done β€” your progress saves in this browser. The sidebar shows progress at a glance.
πŸ—ΊοΈ This page feels TOO BIG? It is β€” it's the click-by-click DETAIL reference. Start with the Learning Path map instead β€” it organizes everything into 5 plain-language segments (Org Structure β†’ Company Settings β†’ MM↔FI Integration β†’ Master Data β†’ Transactions), explains WHY each config exists, and shows which transaction (PR/PO/GR/Invoice) breaks without it. Then jump back here for the detailed steps.

🎯 What we're building β€” interactive structure

Click any entity below to see why we chose it, what scenarios it lets you test, and what a first-time user needs to know about it.

πŸ‡΅πŸ‡° Designed for Pakistani context: Primary entity is PakSteel Industries (Pvt) Ltd in PKR. Plants in Karachi, Lahore. Tax fields use Pakistani NTN/STRN. Secondary UAE entity (PakSteel Trading FZ-LLC) added for testing cross-company scenarios β€” realistic since many Pakistani exporters have Dubai trading arms.
πŸ—„οΈ
Client 800
SAP system instance
πŸ›οΈ
CC PSPK β€” PakSteel
PakSteel Industries (Pvt) Ltd Β· PKR Β· K4 (Jan-Dec)
🏭
Plant PK01
Karachi Factory
manufacturing
GNRL
RAWM
WIPS
FNGD
QHLD
RTRN
BLKD
🏭
Plant PK02
Lahore Factory
manufacturing
GNRL
RAWM
WIPS
FNGD
QHLD
RTRN
🏬
Plant PK03
Karachi DC
distribution
GNRL
FNGD
RTRN
πŸ›οΈ
CC PSAE β€” PakSteel UAE
PakSteel Trading FZ-LLC Β· AED Β· K4 (Jan-Dec)
🏬
Plant AE01
Dubai DC
distribution + export
GNRL
FNGD
EXPT

πŸ›’ Purchasing Organizations (cross-cutting)

PO PKLO
PakSteel local procurement (PK)
β†’ CC PSPK + plants 1100/1200/1900
PO AELO
PakSteel UAE local
β†’ CC PSAE + plant 2100
PO GLBL
Global procurement
NO CC Β· all 4 plants
PO REFR
Reference Purch Org
shared conditions only

πŸ‘₯ Purchasing Groups (free-floating)

RMT
Raw mat
PKG
Packaging
MRO
MRO
ITS
IT/SW
SRV
Services
CPX
Capex
URG
Urgent

⚠️ Not assigned to Purch Org β€” free-floating dropdown on PR/PO

πŸ’° Valuation

Valuation Area = Plant level
Each plant has its own price (recommended; required for PP)
VGC VPK1
Pakistan plants
(PK01, PK02, PK03) share OBYC
VGC VAE1
UAE plant (AE01)
own OBYC mappings
πŸ’‘ Tip for first-time users
Click each entity above to read why we chose it, what scenarios it tests, and what a beginner needs to understand. Once you've clicked through them all, you'll understand the whole structure deeply.

πŸ“Š Scenarios this structure lets you test

ScenarioWhy this structure enables it
βœ“ Standard P2PCC PSPK, Plant PK01, Purch Org PKLO
βœ“ Centralized purchasingPO PKLO buying for 1100, 1200, 1900
βœ“ Cross-company purchasingPO GLBL (no CC) buys for plants across CCs
βœ“ Reference PO for shared conditionsREFR holds master contracts
βœ“ Intra-company STO1100 ↔ 1200 ↔ 1900 (same CC)
βœ“ Inter-company STO with billing1100 β†’ 2100 (different CC, PKR↔AED)
βœ“ DC vs Manufacturing plantPlant PK03 (DC) vs 1100/1200 (manufacturing)
βœ“ Multi-currency operationsPKR + AED
βœ“ Subcontracting / Consignment / 3rd-partyAny plant can use special procurement
βœ“ Batch / QM activationMulti-plant gives you variants to test
βœ“ Release strategy testing7 Purch Groups + value characteristics
βœ“ OBYC Valuation Grouping0001 vs 0002 (PK vs UAE plants)

🎯 Why we chose this

πŸ§ͺ What scenarios it lets you test

    πŸ‘Ά First-time user β€” what to understand

    πŸ”— Related entities

    πŸ“Œ Real SAP impact

    πŸ“‹ Prerequisites β€” what you need BEFORE creating Company Code

    πŸ’‘ First-time user β€” read this first
    The Company Code can't exist on its own. SAP needs foundational settings already in place β€” country codes, currencies, chart of accounts, fiscal year structure, etc. In real projects, the FI/CO/Basis consultants typically set these up BEFORE the MM consultant arrives. In IDES (your practice system), most of these are pre-configured by SAP β€” you just verify they exist.

    What you (MM consultant) need to know: understand WHY each prerequisite exists, who configures it in real projects, and how to verify it in your IDES. If something is missing in your sandbox, this guide shows you how to set basic values yourself for practice.
    πŸ’‘ Universal fallback: SM30 + view name
    When ANY config T-code is read-only or hides "New Entries", drop to SM30 + the underlying view name (prefix V_). It always opens the FULL maintenance view. Example: OBBP hides New Entries β†’ use SM30 β†’ V_T010O. OBC4 hides β†’ V_T004V. OB52 β†’ V_T001B. This is your "backdoor" for any unresponsive config T-code.

    πŸ‘₯ Who does what in a real project

    ActivityT-codeWho configures (real project)Why MM should know it
    Define Country codesOY01Basis (one-time at system install)Plant + CC use country; drives tax codes
    Define Currencies + Exchange RatesOY03 Β· OB08FI ConsultantCC currency, vendor currency, multi-currency POs
    Define Chart of AccountsOB13FI Consultant (architect)OBYC needs valid G/Ls from this chart
    Define Fiscal Year VariantOB29FI ConsultantDetermines posting periods; MM postings must be in open period
    Define Posting Period VariantOBBPFI ConsultantDrives whether MM transactions can post in current month
    Define Field Status VariantOBC4FI ConsultantControls mandatory/optional fields on FI postings from MM
    Define Tolerance GroupsOBA0 Β· OBA4FI ConsultantPosting tolerances for invoice verification
    Define Controlling AreaOKKPCO ConsultantRequired for account-assigned POs (cost center)
    Define Factory CalendarSCALFI/MM/Basis (often FI)Plant calendar; drives MRP scheduling, delivery dates
    Define Document Types & Number RangesOBA7 Β· FBN1FI ConsultantFI documents from GR/IV need doc type + number range
    Define Material Types & Number RangesOMS2 Β· MMNRMM Consultant (you)Material types control material master views
    Define PO Document Types & Number RangesOMH7 Β· OMHNMM ConsultantNB, UB, FO, EC etc. (later steps)

    πŸ“¦ Detailed prerequisite checklist (each explained)

    βœ… Quick verification β€” run these in your IDES first

    T-codeWhat to confirmIf missing, do this
    OY01PK, AE in country listAdd via SPRO β†’ General Settings β†’ Countries
    OY03 + OB08PKR, AED currencies + exchange ratesAdd via OY03; set rates via OB08
    OB13Chart "INT" existsUsually pre-delivered; copy if needed
    OB29FY Variant K4 existsPre-delivered standard
    OBBP + OB52Variant 1000 exists; current period openOpen period via OB52
    OBC4Field Status Variant 1000Pre-delivered
    SCALPakistan Factory Calendar (or use IN)Create PK calendar (instructions above)
    🎯 Bottom line for MM consultant in practice
    In IDES: 90% of prerequisites are already there. Just verify quickly, then jump to Step 1 (Create CC).
    In customizing clients (like 250): Some prerequisites may be missing because the client was created fresh or didn't inherit cross-client config. Use the create-or-copy methods above (copy from 0001 / SAP-delivered standards). For anything foundational that's missing, Basis can copy from client 000.
    In a real project: FI consultant will have done all of these BEFORE you start. Your job is to verify what's set up, confirm it matches client requirements, and raise red flags if something looks off.
    Senior consultant insight: Understanding these prerequisites makes you valuable in design workshops β€” you can challenge bad decisions (wrong fiscal year, wrong chart) BEFORE they're locked in.
    πŸ› οΈ Troubleshooting cheat-sheet
    SymptomFix
    T-code shows existing entries but no "New Entries" buttonUse SM30 + view name (see fallback box above)
    "Do not enter an account for a masked account type"You used + in A column WITH a From/To Account value. Leave From/To Account blank when A = +
    "Posting period XX YYYY is not open"Run OB52 β†’ expand period range to include current date
    Variant 0001 not found (creating new variant from scratch)Ask Basis to copy from client 000 via SCC1
    "Customizing object XXX cannot be transported"Save as Local Object (or assign to a Transport Request)
    Switch to Change mode in any IMG T-codeClick πŸ–‰ pencil/glasses icon at top, or press Ctrl+F1
    1

    Create & Configure Company Code β€” End-to-End

    OX02 Β· OBBP Β· OB52 Β· OBC4 Β· OBY6 Β· FBN1 Β· OBA4 Β· FINSC_LEDGER Β· SPRO Β· FS00 Β· OMSY Β· EC01 ~80–95 min for 1st CC Β· ~15 min for 2nd CC via EC01 copy Β· Foundational β€” everything depends on this
    MANDATORY

    🎯 Why this step is 12 sub-steps (not one click) β€” including 3 S/4HANA-specific + MM period init

    The Company Code (CC) is the legal entity β€” it owns the balance sheet, P&L, and files taxes. Every MM document (PO, GR, invoice) eventually posts to a CC's books via plant β†’ CC linkage. If the CC is missing any one of these settings, FI postings will fail and MM stops cold.

    SAP doesn't auto-create most of these for you. You build them one by one. 3 sub-steps (1H, 1I, 1J) are S/4HANA-specific β€” they did NOT exist in ECC but are mandatory in S/4HANA's Universal Journal architecture. Skip them and F-02 / MIGO / MIRO all fail.

    ⚑ S/4HANA vs ECC β€” what changed

    If you're following an ECC-era tutorial, you'll hit walls after 1G. S/4HANA added these requirements not present in ECC:

    • Universal Journal (ACDOCA) β€” single unified ledger replacing separate FI/CO/ML tables β†’ requires Ledger assignment per CC (1H)
    • Accounting Principle per CCΓ—Ledger β€” every CC must declare IFRS/Local GAAP β†’ required field in FINSC_LEDGER (1H)
    • Document Splitting always-on β€” every G/L must be classified (Cash/Vendor/Material/etc.) β†’ required at chart level (1I)
    • FS00 G/L extension β€” even though chart has G/Ls, they must be extended to YOUR CC before posting (1J)

    πŸ“‹ Quick roadmap of sub-steps (1A–1P)

    #T-codeWhat it doesTimeFlavor
    1AOX02Create the CC shell (name, country, currency, address)5 minUniversal
    1BOBBP / SM30Create Posting Period Variant (the label only)3 minUniversal
    1COB52Open the actual posting periods (current + future)5 minUniversal
    1DOBC4Create Field Status Variant (copy from 0001)5 minUniversal
    1EOBY6Assign all 4 variants to the CC (Global Parameters)5 minUniversal
    1FFBN1Create the FI Document Number Ranges (use Year 9999 for evergreen)15 minUniversal
    1GOBA4Configure FI Tolerance Groups (posting limits)5 minUniversal
    1H ⚑FINSC_LEDGERAssign CC to Leading Ledger 0L + Accounting Principle10 minS/4 only
    1I ⚑SPRO pathClassify G/L Accounts for Document Splitting10 minS/4 only
    1JFS00Extend G/L accounts from chart to YOUR CC10 minUniversal
    1K ⚑OMSYMM Period Initialization β€” without this, MM01/MIGO fail with "CC not maintained"3 minUniversal (MM-side)
    1LVarious10-point verification β€” includes F-02 smoke test + MM period check10 minUniversal
    1M πŸš€EC01BONUS: Fast-copy method for 2nd+ CC (PSAE etc.) β€” skip 1A-1K for additional CCs10 minUniversal
    1N ⚠️OMR6/OMC0/SPROTolerance Keys (PE/PP/VP/BD…) β€” "how much variance is acceptable" rules; PO/GR/Invoice fail without them15 minUniversal
    1O ⚑OMX3β†’OMX1β†’CKMSTARTMaterial Ledger startup β€” open the plant's "value diary"; ALL goods movements blocked without it15 minS/4 only
    1P 🏁OMRGΒ·OMC0Β·FS00Β·FBN1First-GR Readiness (4 Gates) β€” T169P row, VP tolerance, OBYC G/Ls in CC, FI doc intervals15 minUniversal

    πŸ’‘ Why this order: we build dependencies BEFORE we reference them. 1B/1D create variants β†’ 1E references them. 1H requires CC + ledger to exist. 1I classifies G/Ls before they're used. 1J extends G/Ls before F-02 needs them. For 2nd company onwards β†’ jump to 1M (EC01 Copy) instead of redoing 1A-1J.

    🚫 What breaks if you skip any sub-step

    Skip thisError you'll hit later
    1A β€” OX02 CC shellNothing else can be done β€” CC must exist first
    1B β€” OBBP Posting Period Variant1E (OBY6) can't link a variant that doesn't exist β†’ either rejects or silently creates a broken link
    1C β€” OB52 open periods"Posting period MM YYYY is not open" at every posting
    1D β€” OBC4 Field Status Variant"No field status variant assigned" β†’ all FI postings rejected
    1E β€” OBY6 Global Parameters"No chart of accounts assigned" / "FY variant missing" β†’ FI rejected
    1F β€” FBN1 Number Ranges"Document number not in range XX defined for CC PSPK" β†’ first MIRO/MIGO fails
    1G β€” OBA4 ToleranceEither users blocked from posting OR unlimited posting authority (audit risk)
    1H ⚑ FINSC_LEDGER"Correct the Customizing settings for ledgers for the universal journal" on F-02, MIRO, MIGO β€” Universal Journal rejects posts
    1I ⚑ Doc Splitting Classification"There is no item category assigned to account XXXXXX/INT" on every FI posting
    1J β€” FS00 G/L Extension"G/L account XXXXXX has not been created for company code PSPK" β€” can't use the G/L in postings
    1K ⚑ OMSY MM Period"The company code PSPK does not exist or has not been fully maintained" on MM01 / MIGO β€” MM-side blocked until OMSY done. F-02 will still work (FI-only) so it's confusing.

    ⚠️ Critical: do ALL 12 sub-steps for the FIRST CC (PSPK). For PSAE, use 1M (EC01 copy) β€” much faster.

    Each CC is independent. PSAE doesn't inherit PSPK's CC-level customizing automatically. Two options:

    1. Direct path: Repeat 1A-1J for PSAE manually (~90 min) β€” same level of effort as PSPK
    2. Copy path (recommended): Use 1L (EC01) β€” inherits ~80% from PSPK, only change country/currency/address (~15 min)

    Either way, the S/4HANA-specific FINSC_LEDGER (1H) needs manual setup for each new CC.

    2

    Test the CC with a real FI posting (F-02)

    F-02 ~10 min Β· Smoke test β€” proves all 7 config sub-steps actually work together
    RECOMMENDED

    🎯 Why we do this BEFORE moving to plants

    You verified each Step 1 sub-step in isolation (1H). But the ONLY true confirmation that everything works together is to post a real FI document. F-02 = manual G/L posting β€” touches every Step 1 sub-step in one transaction:

    • Chart of Accounts (1E) β€” to pick the G/L
    • Posting Period Variant + Open Periods (1B, 1C) β€” to accept today's date
    • Field Status Variant (1D) β€” to validate field rules
    • Number Range 51 / doc type SA (1F) β€” to issue the doc number
    • Tolerance Group (1G) β€” to authorize the amount

    If F-02 saves with a doc number β†’ ALL 7 sub-steps work. If it errors β†’ the error message tells you EXACTLY which sub-step is incomplete.

    Action sequence β€” quick test post

    1. Run F-02
    2. Header section β€” fill:
      • Document Date: today
      • Posting Date: today
      • Type: SA (G/L journal)
      • Company Code: PSPK
      • Currency: PKR
      • Reference: TEST001 (any text)
      • Doc Header Text: CC smoke test
    3. First line item:
      • Posting Key: 40 (debit G/L)
      • Account: a balance-sheet G/L that's safe to use β€” try 113100 (Bank β€” Main Account) or 100000 (Cash). If unsure, run SE16N β†’ SKB1 β†’ BUKRS = PSPK to find an active G/L for PSPK.
      • Press Enter β†’ next screen
      • Amount: 1000.00
      • Text: Smoke test posting
    4. Second line item (must balance):
      • Posting Key: 50 (credit G/L)
      • Account: another balance-sheet G/L (different from line 1)
      • Amount: 1000.00 (must equal line 1)
    5. Click "Post" (Ctrl+S)
    6. System shows: "Document 100000000 was posted in company code PSPK" βœ“

    If you see the document number β†’ CC is FULLY FUNCTIONAL. Move to Step 3 (Plants).

    Common errors and what they actually mean

    Error messageRoot causeWhere to fix
    "Posting period MM YYYY is not open"OB52 missing row for today's dateGo to 1C, add row covering current period
    "Document number not in range 51 defined for CC PSPK"FBN1 range 51 missingGo to 1F, create range 51
    "No field status variant assigned to CC PSPK"OBY6 missing FSV fieldGo to 1E, fill Field Status Variant = PSPK
    "G/L account 113100 not created in CC PSPK"G/L master not extended to your CC (FS00)Use SE16N β†’ SKB1 β†’ BUKRS=PSPK to find a G/L that IS extended, OR extend 113100 via FS00 to PSPK
    "Cost center XX does not exist"The G/L you picked requires CO; CO not set upPick a balance-sheet G/L that doesn't need cost center (cash, bank, vendor reconciliation accounts)
    "Amount exceeds upper limits for posting"OBA4 limits set too lowGo to 1G, raise the values
    "Chart of accounts INT does not contain G/L account 113100"Account not in master chartUse SE16N β†’ SKA1 β†’ KTOPL=INT to see which accounts exist in INT chart

    πŸ’‘ Why F-02 is the perfect smoke test

    F-02 is the simplest possible FI transaction β€” just a debit and credit. If it works, every more complex MM transaction (MIRO vendor invoice, MIGO goods receipt, F110 payment run) will ALSO work for the same CC because they all use the same underlying config (number ranges, periods, tolerance, FSV).

    If F-02 fails, you instantly know which of Step 1's 7 sub-steps is incomplete. Much faster than debugging a failed PO 3 steps later.

    βœ… Bonus check β€” view your posted document

    • Run FB03 β†’ enter the doc number from F-02 β†’ view both line items
    • Or SE16N β†’ table BKPF β†’ BUKRS = PSPK β†’ see the doc header
    • Or FB08 to REVERSE the test posting (keeps books clean)
    3

    Create Plants

    OX10 SPRO β†’ Enterprise Structure β†’ Definition β†’ Logistics β€” General β†’ Define, copy, delete, check plant
    MANDATORY

    🎯 Why we do this

    The Plant is the operational location β€” where activity physically happens. Most-referenced MM entity. Stock exists at plants, MRP runs per plant, material has plant views. Without plants, no MM operations. We create 4 plants to cover manufacturing (1100, 1200), distribution (1900), and cross-CC (2100).

    Action sequence (for each plant)

    1. Run OX10 β†’ Copy (icon) from existing plant like 0001 or 1000
    2. Target: PK01 (your new plant)
    3. System creates plant with default settings β€” confirm
    4. Click "Define plant" β†’ select 1100 β†’ fill fields below
    5. Click "Address" button β†’ fill address tab
    6. Save
    7. Repeat for plants 1200, 1900, 2100

    Fields explained

    FieldMandatory?Example for 1100Why & impact
    Plant*YESPK014-char unique ID. Cannot change after used. Most-referenced field in MM. Pick meaningful naming (1xxx for PK manufacturing, 19xx for PK DCs, 2xxx for UAE).
    Name 1*YESKarachi FactoryDisplay name. Show in all transactions. Use city + function.
    Search TermOptionalKARACHIShort key for F4 search. Helps users find plant quickly.
    Factory Calendar*YESPK (Pakistan)Defines working days/holidays β€” Pakistan calendar typically excludes Sundays + Eid + public holidays. Used by MRP for scheduling and delivery date calc. Wrong = wrong delivery dates.
    Customer / VendorOptional(leave blank now)Used later for inter-company STO (Step 14). Skip for now.

    Plant-specific values for our 4 plants

    PlantNameCalendarCity/RegionPurpose
    PK01Karachi FactoryPKKarachi, Sindh (SD)Manufacturing β€” full production
    PK02Lahore FactoryPKLahore, Punjab (PJ)Manufacturing β€” second site
    PK03Karachi DCPKKarachi, Sindh (SD)Distribution Center β€” no production
    AE01Dubai DCAEDubai, DubaiExport DC for cross-CC STO testing

    βœ… Verify success

    • Run SE16N β†’ T001W β†’ all 4 plants visible
    • Open OX10 β†’ each plant has factory calendar populated
    4

    Assign Plants to Company Codes

    OX18 SPRO β†’ Enterprise Structure β†’ Assignment β†’ Logistics β€” General β†’ Assign plant to company code
    MANDATORY

    🎯 Why we do this

    This is the bridge between MM and FI. When MM transactions happen at a plant (GR, GI, transfer), the FI document goes to that plant's Company Code's books. Without this assignment, the plant is useless β€” no FI postings possible, hence no MM operations.

    Action sequence

    1. Run OX18
    2. Click New Entries
    3. Enter the 4 assignments shown below
    4. Save
    PlantCompany CodeWhy this pairing
    PK01 Karachi FactoryPSPK PakSteelPakistan operations, PKR books
    PK02 Lahore FactoryPSPK PakSteelSame CC as Karachi β€” same legal entity
    PK03 Karachi DCPSPK PakSteelDC for Pakistan business
    AE01 Dubai DCPSAE PakSteel UAEUAE entity, AED books β€” enables cross-CC STO

    ⚠️ A plant can belong to ONLY ONE Company Code

    This is enforced by SAP. You can't share a plant between CCs. If you need MM activity for both legal entities at one site, create two plants (one per CC).

    🚫 What if you skip?

    The plant exists but cannot do ANY transaction. PO creation will fail. GR will fail. Material extension to plant will fail. This step is non-negotiable.

    βœ… Verify success

    • Run SE16N β†’ T001W β†’ field BUKRS populated for each plant
    • Or OX18 β†’ see 4 rows
    5

    Set Valuation Level β€” Plant or Company Code

    OX14 SPRO β†’ Enterprise Structure β†’ Definition β†’ Logistics β€” General β†’ Define valuation level
    MANDATORY β€” ONE TIME

    🎯 Why we do this

    SAP needs to know where stock VALUE is tracked. Two options:
    • Plant level (recommended) β€” each plant has its own MAP/Standard price for the same material
    • Company Code level β€” all plants of a CC share one price for a material
    Required for PP (Production Planning). Plant level is the standard for 99% of projects.

    Action

    1. Run OX14
    2. Select "Valuation area is a plant"
    3. Save

    ⚠️ This is a ONE-TIME system-wide decision

    Effectively immutable after stock is posted. Wrong choice = SAP conversion project. Pick "Plant" β€” it's the standard. The only reason to pick CC level is rare legacy migration.

    βœ… Verify success

    • Run SE16N β†’ T001K β€” should have entries per plant (one row per plant)
    • Or run OX14 β†’ "Valuation area is plant" selected
    6

    Activate Valuation Grouping Code (Optional for learning, recommended for real projects)

    OMWM Β· OMWD SPRO β†’ MM β†’ Valuation and Account Assignment β†’ Account Determination β†’ Without Wizard β†’ (two separate IMG nodes β€” see below)
    OPTIONAL

    πŸ“ Two separate SPRO IMG paths (one per T-code)

    For OMWM (Activate Valuation Grouping Code):

    SPRO β†’ MM β†’ Valuation and Account Assignment β†’ Account Determination
      β†’ Account Determination Without Wizard β†’ Define Valuation Control

    For OMWD (Group Together Valuation Areas / Assign VGC to plants):

    SPRO β†’ MM β†’ Valuation and Account Assignment β†’ Account Determination
      β†’ Account Determination Without Wizard β†’ Group Together Valuation Areas

    🎯 What VGC actually does (honest explanation)

    Common misconception: "VGC separates books for different plants/CCs." FALSE. Book separation comes from CC + plant→CC assignment (Step 4) — NOT from VGC.

    What VGC ACTUALLY does: It lets you use DIFFERENT G/L numbers for different plant groups in OBYC. Without VGC, all plants using the same chart of accounts post to the same G/L for the same valuation class. With VGC, you can route Pakistan plants to G/L 300000 (raw mat) and UAE plant to G/L 300500 (separate G/L for audit visibility).

    For YOUR case (2 CCs, same INT chart, same G/L numbers desired): VGC adds nothing. Skip this step. CC separation is already complete via Step 4 (OX18).

    βš–οΈ When to use VGC (decision matrix)

    Your scenarioVGC needed?
    Single CC, single country, plants use same G/Ls❌ No
    Multiple CCs, same chart, same G/L numbers (your case)❌ No β€” books separate via CC anyway
    Multiple CCs, different G/L numbers per country (e.g., Pakistan raw mat β†’ 300000; UAE raw mat β†’ 300500)βœ… Yes
    Single CC, different G/L needs per plant (e.g., domestic vs export plant)βœ… Yes
    Real client project (any scale)βœ… Yes β€” always activate for future flexibility
    Learning setup (you, right now)❌ Skip β€” adds complexity without benefit

    Action (only if needed)

    1. Run OMWM β†’ Tick "Valuation Grouping Code Active" β†’ Save
    2. Run OMWD β†’ Assign each plant to a group:
    PlantVal Grouping CodeWhy
    PK01VPK1Group Pakistan plants together
    PK02VPK1Same group
    PK03VPK1Same group
    AE01VAE1UAE β€” separate group (if you want different G/Ls; otherwise also VPK1)

    🚫 What if you skip?

    Nothing breaks. Without VGC, OBYC has ONE row per (chart + transaction key + valuation class). All plants of that chart post to the same G/L. Each CC's books are still separate because plant→CC linkage routes the posting to the correct CC's instance of that G/L (via SKB1).

    You only "lose" the ability to differentiate G/L numbers per plant group β€” which most learning setups don't need.

    7

    Create Storage Locations

    OX09 SPRO β†’ Enterprise Structure β†’ Definition β†’ Materials Management β†’ Maintain Storage Location
    MANDATORY for stock

    🎯 Why we do this

    Stock physically sits at Storage Locations within plants. Without SLs, you can't receive or store inventory. Storage Locations hold quantity only β€” value lives at the Plant level. Moving stock between SLs of the same plant doesn't create FI documents.

    Action sequence

    1. Run OX09
    2. Enter Plant PK01 β†’ Continue
    3. Click New Entries and create SLs (see table below)
    4. Save
    5. Repeat for plants 1200, 1900, 2100

    SLs to create per plant

    PlantSLs to createWhy these
    PK01 Karachi Factory VPK1 General, RAWM Raw mat, WIPS WIP, FNGD Finished, QHLD Quality hold, RTRN Returns, BLKD Blocked Full manufacturing β€” needs all stock types
    PK02 Lahore Factory Same 7 SLs as 1100 Same β€” second manufacturing site
    PK03 Karachi DC VPK1, FNGD, RTRN DC β€” only handles finished + returns, no raw
    AE01 Dubai DC VPK1, FNGD, EXPT DC + export staging area for international

    βœ… Verify success

    • Run SE16N β†’ T001L β†’ ~20+ SL rows total across plants
    8

    Create Purchasing Organizations

    OX08 SPRO β†’ Enterprise Structure β†’ Definition β†’ Materials Management β†’ Maintain Purchasing Organization
    MANDATORY

    🎯 Why we do this

    A Purchasing Org is who buys β€” the legal contracting entity for POs. Without it, no PO can be created. We create 4 to cover different scenarios: local PK buying, local UAE buying, global cross-company buying, and a reference org for shared conditions.

    Action sequence

    1. Run OX08 β†’ click New Entries
    2. Create 4 Purchasing Orgs (see below)
    3. Save
    Purch Org IDDescriptionPurpose
    PKLOPakSteel local (Pakistan)Buys for all Pakistan plants β€” centralized local procurement in PKR
    AELOPakSteel UAE localBuys for UAE plant only β€” separate currency, separate vendor base
    GLBLGlobal procurementCross-company β€” buys for plants across multiple CCs (no CC assignment)
    REFRReference Purchasing OrgHolds master contracts/conditions; other POs reference it for shared pricing
    9

    Assign Purch Org β†’ Company Code

    OX01 SPRO β†’ Enterprise Structure β†’ Assignment β†’ MM β†’ Assign purchasing organization to company code
    OPTIONAL (design-defining)

    🎯 Why we do this

    A Purchasing Org can be assigned to ONE Company Code (or NONE):
    • Assigned to a CC β†’ "Company-specific" Purch Org (most common)
    • Not assigned β†’ "Cross-company" Purch Org (rare but powerful)
    You cannot assign one Purch Org to multiple CCs β€” that's an SAP hard limit. Cross-company scenarios use the "no CC assignment" trick.

    Action sequence

    1. Run OX01
    2. Assign as below
    3. Save
    Purch OrgCC AssignmentWhy
    PKLOPSPK PakSteelCompany-specific to Pakistan entity
    AELOPSAE PakSteel UAECompany-specific to UAE entity
    GLBLLEAVE BLANKThis makes it cross-company. Can buy for plants from any CC.
    REFRLEAVE BLANKUsed only for shared conditions; doesn't issue real POs

    ⚠️ Important

    The "leave blank" choice for GLBL and REFR is intentional. Don't try to "fix" the gap by assigning a CC. That changes the entire procurement design.
    10

    Assign Purch Org β†’ Plants

    OX17 SPRO β†’ Enterprise Structure β†’ Assignment β†’ MM β†’ Assign purchasing organization to plant
    MANDATORY (at least 1)

    🎯 Why we do this

    A Purchasing Org must be authorized to buy for specific plants. Without assignment, PO creation fails with "Plant XXXX not assigned to Purch Org YYYY". One Purch Org can serve multiple plants; one plant can be served by multiple Purch Orgs (many-to-many).

    Action sequence

    1. Run OX17 β†’ click New Entries
    2. Create 8 assignments (see below)
    3. Save
    Purch OrgPlantWhy
    PKLOPK01Local PK buys for Karachi factory
    PKLOPK02Same β€” Lahore factory
    PKLOPK03Same β€” Karachi DC
    AELOAE01UAE local buys for Dubai DC
    GLBLPK01Cross-company can also buy for PK plants
    GLBLPK02Same
    GLBLPK03Same
    GLBLAE01And for UAE plant β€” that's how it works cross-CC

    ⚠️ This is the most common error source for POs

    If you get "Purch Org not authorized for Plant" later, check this table first.

    βœ… Verify

    SE16N β†’ T024W β†’ exactly 8 rows
    11

    Set Reference Purchasing Organization (Optional for learning)

    SPRO (no dedicated T-code) SPRO β†’ Enterprise Structure β†’ Assignment β†’ Materials Management β†’ Assign purchasing organization to reference purchasing organization
    OPTIONAL

    🎯 Why we do this

    The Reference Purch Org pattern lets multiple Purch Orgs share contracts, info records, and conditions. Maintain pricing once at REFR; local Purch Orgs (PKLO, AELO, GLBL) inherit it. Useful for multi-country companies with global suppliers.

    For learning: You can skip this step initially. Most basic P2P scenarios work fine without REFR. Come back to it when you want to test cross-CC shared pricing scenarios.

    πŸ“ Official SPRO Path (verified)

    This assignment lives under Enterprise Structure β†’ Assignment (same parent as OX01 and OX17 β€” all "Purch Org assignment" configs are grouped here), NOT under MM β†’ Purchasing.

    SPRO
      β†’ SAP Reference IMG (F5)
        β†’ Enterprise Structure
          β†’ Assignment
            β†’ Materials Management
              β†’ Assign purchasing organization to reference purchasing organization

    Transaction code: No dedicated T-code in S/4HANA β€” accessed via SPRO IMG path only.

    Action sequence (official method)

    1. Run SPRO β†’ click SAP Reference IMG (F5)
    2. Navigate the IMG tree (expand each β–Ά):
      • Enterprise Structure
      • β†’ Assignment
      • β†’ Materials Management
      • β†’ Assign purchasing organization to reference purchasing organization
    3. Click the πŸ•“ execute icon
    4. Click New Entries
    5. For each row, fill these fields:
    FieldWhat it meansValue
    Purchasing OrganizationYour standard operational Purch OrgPKLO / AELO / GLBL
    Ref. Purchasing OrgThe reference org being inherited fromREFR
    Release Order (RelOrd) flagTick to allow this Purch Org to issue release orders against contracts at REFRβœ… tick
    Conditions under Reference Data flagTick to allow this Purch Org to access pricing conditions from REFRβœ… tick

    Rows to create for your PSEC structure

    Standard Purch OrgReference Purch OrgRelease OrdConditions
    PKLOREFRβœ…βœ…
    AELOREFRβœ…βœ…
    GLBLREFRβœ…βœ…

    Save (Ctrl+S) β†’ Local Object / TR.

    πŸ’‘ How it works after assignment

    • Create contract under REFR via ME31K β†’ becomes visible to PKLO, AELO, GLBL (when "RelOrd" ticked)
    • Create info record under REFR via ME11 β†’ operational orgs inherit pricing (when "Conditions" ticked)
    • POs created via PKLO/AELO/GLBL can reference REFR's contracts via Document Overview
    • Each operational PO still posts to its OWN CC (book separation via plantβ†’CC link, unchanged)
    • Update REFR's contract price β†’ all linked Purch Orgs see new price next time

    🚫 What if you skip?

    Each Purch Org maintains its own info records and contracts independently. Slightly more master data effort but everything still works. For learning + simple setups, this is acceptable. Add later when you need shared pricing across Purch Orgs.

    πŸ“š Source: Verified against saponlinetutorials.com and SAP Help Portal community Q&A. Note: Some guides confuse this step with Step 12 (Standard Purch Org per Plant, which uses T-code OMKI). For Reference Purch Org assignment, there's NO dedicated T-code β€” use the SPRO IMG path above only.

    12

    Set Standard Purch Org per Plant (Optional β€” only if plant has multiple POs)

    OMKI SPRO β†’ Enterprise Structure β†’ Assignment β†’ Materials Management β†’ Assign Standard Purchase Organization to Plant
    OPTIONAL

    🎯 Why we do this

    When a plant has MULTIPLE Purch Orgs that can buy for it (e.g., Plant PK01 is assigned to BOTH PKLO and GLBL via OX17), the system needs to know which one to use as DEFAULT for specific scenarios: pipeline procurement, consignment, and stock transfers (STO). That default = the "Standard Purch Org" for that plant.

    For learning: Skip if your plants only have ONE Purch Org assigned. Only needed when you've assigned multiple Purch Orgs to the same plant via OX17 AND want to test pipeline/consignment/STO scenarios.

    πŸ“ Official SPRO Path (verified)

    SPRO
      β†’ SAP Reference IMG (F5)
        β†’ Enterprise Structure
          β†’ Assignment
            β†’ Materials Management
              β†’ Assign Standard Purchase Organization to Plant

    Transaction code: OMKI

    ⚠️ Note: OX17 (regular "Assign Purch Org to Plant") is many-to-many β€” it lists ALL Purch Orgs that CAN buy for a plant. OMKI is different β€” it picks ONE of those as the DEFAULT for specific scenarios (consignment, STO, pipeline). Both nodes live under the same Enterprise Structure β†’ Assignment β†’ MM section.

    Action sequence

    1. Run OMKI (or navigate via SPRO IMG path above)
    2. Click New Entries
    3. For each plant, enter the default Purch Org:
    PlantStandard Purch OrgWhy this choice
    PK01PKLOLocal PK Purch Org is default; GLBL used only for global vendor scenarios
    PK02PKLOSame
    PK03PKLOSame
    AE01AELOLocal UAE Purch Org is default for Dubai plant

    Save (Ctrl+S) β†’ Local Object / TR.

    πŸ’‘ Where this matters in real transactions

    • Pipeline procurement β€” automatic consumption posting picks the Standard PO for vendor invoice settlement (MRKO)
    • Consignment β€” vendor consignment settlement uses the Standard PO
    • Stock Transport Order (STO) β€” when creating an STO, the receiving plant's Standard PO is used
    • Regular POs (NB doc type) β€” user explicitly picks which PO to use, so Standard PO setting doesn't matter

    🚫 What if you skip?

    Pipeline / consignment / STO scenarios will fail with "Standard Purch Org not defined for plant" error when you reach them (Scenarios 10, 11, 7 in P2P guide). Regular procurement works fine without this. Skip for now; come back when you need those specific scenarios.

    πŸ“š Source verified: SAP Online Tutorials, SAP Help Portal community Q&A. Some older guides incorrectly cite OMKL β€” the correct T-code is OMKI.

    13

    Create Purchasing Groups

    OME4 SPRO β†’ MM β†’ Purchasing β†’ Create Purchasing Groups
    MANDATORY (for PR/PO creation)

    🎯 Why we do this β€” real-world purpose of Purchasing Group

    A Purchasing Group (PG) = a 3-character code representing a buyer or team of buyers responsible for procuring specific categories of materials/services. It's the "who's buying" identifier in every PR, PO, contract, RFQ, and scheduling agreement (stored in tables EBAN.EKGRP, EKKO.EKGRP).

    Why mandatory: Every PR/PO MUST have a PG. Without at least one created, PR/PO creation fails immediately.

    Important: Purchasing Groups are FREE-FLOATING β€” NOT assigned to Purch Org, CC, or Plant. One PG can be used across all Purch Orgs. Common interview trap.

    πŸ’Ό 5 Real-World Purposes (where you'll see PG in daily SAP use)

    #PurposeReal-world example
    1Responsibility tracking"Who do I call about delayed steel delivery?" β†’ PG RMT = Mr. Ali Khan, phone +92-21-XXX, email ali@paksteel.com
    2Reporting & workload mgmt"How many POs did the spare parts team handle this month?" β†’ ME2N / ME5A filter by PG MRO shows workload + KPI
    3Approval workflow (release strategy)PRs from PG CPX (capex) require Director + CFO approval; PRs from PG URG auto-released. Configured via CT04 using characteristic CEKKO_EKGRP
    4Output determinationPO emails go to vendor + CC the buyer's email (from PG's email field). NACE/MN04 conditions look up PG contact info
    5Authorization restrictionBuyer Ali can ONLY create POs with PG RMT (not other categories) β€” controlled via SU01 user profile / authorization object M_BEST_EKG

    πŸ“Š Where Purchasing Group flows through actual transactions

                      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                      β”‚  Purchasing Group "RMT"  β”‚
                      β”‚  Ali Khan, Raw Mat Buyer β”‚
                      β”‚  phone, email stored     β”‚
                      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                    β”‚ used in:
           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
           β–Ό                        β–Ό                        β–Ό
      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
      β”‚  PR     β”‚             β”‚  PO     β”‚             β”‚ Contract β”‚
      β”‚ (ME51N) β”‚             β”‚ (ME21N) β”‚             β”‚ (ME31K)  β”‚
      β”‚EBAN.EKGRP             β”‚EKKO.EKGRP             β”‚EKKO.EKGRPβ”‚
      β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜             β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜             β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜
           β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                  β–Ό          β–Ό          β–Ό          β–Ό
            β”Œβ”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
            β”‚Reportsβ”‚  β”‚ Approval  β”‚ β”‚  Output  β”‚ β”‚ Vendor       β”‚
            β”‚ME2N   β”‚  β”‚ Strategy  β”‚ β”‚  (NACE)  β”‚ β”‚ Communicationβ”‚
            β”‚ME5A   β”‚  β”‚ (CT04/    β”‚ β”‚  Email   β”‚ β”‚ (default PG  β”‚
            β”‚KPI    β”‚  β”‚  OMGS)    β”‚ β”‚  vendor +β”‚ β”‚  in LFM1)    β”‚
            β”‚       β”‚  β”‚           β”‚ β”‚  buyer CCβ”‚ β”‚              β”‚
            β””β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

    πŸ“‹ Reporting examples β€” where PG matters daily

    T-codeReportHow PG helps
    ME2NPOs by VendorFilter by Purch Group β†’ see workload of each buyer team
    ME5AList of PRs"How many PRs pending in IT dept (PG ITS)?" β€” KPI for buyer team
    ME5KPRs by Account AssignmentAverage PR→PO conversion time per buyer team
    ME80FNGeneral PO AnalysisDrill-down by PG for spend analytics

    Action sequence β€” create 7 PGs for PakSteel

    1. Run OME4 β†’ click New Entries
    2. For each PG, enter the 3-char code + Description + Buyer Name + Telephone + Fax + Email
    3. Save (Ctrl+S)
    PG CodeDescriptionBuyer (example)Used in MM scenarios
    RMTRaw MaterialsMr. Ali Khan Β· +92 21 1234567 Β· ali.khan@paksteel.pkSc 1 (iron ore, coal), Sc 9 (subcontracting), Sc 16 (batch steel)
    PKGPackagingMs. Sara Β· +92 21 1234568Sc 5 (packaging consumables)
    MROMaintenance, Repair, OpsMr. Iqbal Β· +92 21 1234569Sc 2 (bearings, spare parts), Sc 5
    ITSIT & SoftwareMs. Ahmed Β· +92 21 1234570Sc 4 (IT services, software licenses)
    SRVGeneral ServicesMr. Hassan Β· +92 21 1234571Sc 4 (consulting, audit, cleaning)
    CPXCapex / Capital ExpenditureDirector's officeSc 6 (machinery, vehicles, IT hardware)
    URGUrgent / EmergencyOn-call buyerExpress purchases β€” can bypass standard release

    πŸ’Ό Pakistani context β€” why PG choice matters

    ScenarioRight PGWhy this PG specifically
    Buying iron ore from Mughal Steel (5M PKR)RMTRaw material category, Ali Khan handles it, no special approval (high-volume routine)
    SAP consulting from Lucky Consulting (600K PKR)SRVService category, Hassan tracks vendor performance, needs cost center accounting
    New CNC machine from Pak Machine Tools (4.5M PKR)CPXCapex β†’ triggers Director + CFO approval workflow via release strategy
    Office paper for finance dept (80K PKR)SRV or new OFCRoutine consumable, junior buyer handles
    Emergency spare part for production line down (200K PKR)URGBypasses standard approval, on-call buyer authorized

    πŸŽ“ Interview-ready 30-second answer

    Q: What's a Purchasing Group in SAP MM?

    A: Purchasing Group is the "buyer identifier" β€” a 3-character code that names the person or team responsible for procurement. It's mandatory on every PR, PO, contract, and RFQ. Its real value is in:

    • Reporting β€” filter purchasing data by buyer team for KPI/workload analysis
    • Release strategies β€” approval workflows trigger based on PG (e.g., capex needs CFO approval)
    • Output determination β€” buyer's email gets CC'd on vendor communications
    • Responsibility β€” vendors and stakeholders know who to contact

    Unlike Purch Org, Purch Group is FREE-FLOATING β€” NOT assigned to any organizational structure (no link to Purch Org, CC, or Plant). One Purch Group can be used across all Purch Orgs. This is a common interview trap.

    βœ… Verify Step 13

    • SE16N β†’ table T024 β†’ expected 7 rows (RMT, PKG, MRO, ITS, SRV, CPX, URG)
    • OME4 β†’ display β†’ all 7 PGs visible
    • ME51N β†’ create test PR β†’ enter PG `RMT` β†’ confirms PG works in PRs
    14

    Setup Customer / Vendor for Inter-Company STO

    OMGN + BP SPRO β†’ MM β†’ Purchasing β†’ Purchase Order β†’ Set up Stock Transport Order β†’ Define Shipping Data for Plants
    OPTIONAL (later β€” only when needed)

    🎯 Why we do this

    Inter-company STO (transferring stock from Plant PK01 in CC PSPK to Plant AE01 in CC PSAE) requires each plant to be set up as a Customer (in the other CC) and as a Vendor (in the other CC). Allows billing between the two legal entities.

    OMGN specifically: Defines shipping data per plant β€” for each plant, you assign the Customer number (used when this plant is a SUPPLIER) and the Sales Area (Sales Org / Distribution Channel / Division). This is what enables SD outbound delivery for cross-CC stock movements.

    ⚠️ Skip this for now

    You can complete the org structure without this. Come back when you actually want to test inter-company STO. Intra-company STO (between plants of same CC) works without this.

    When you're ready (later)

    1. Create Customer for Plant PK01 in CC PSAE via BP with customer role
    2. Create Vendor for Plant PK01 in CC PSAE via BP with vendor role
    3. Same in reverse for Plant AE01 in CC PSPK
    4. Run OMGN β†’ maintain shipping data per plant (which customer represents which plant)
    5. Configure inter-company billing in SD
    15

    OBYC Verification β€” FI Account Determination

    OBYC SPRO β†’ MM β†’ Valuation and Account Assignment β†’ Account Determination β†’ Account Determination Without Wizard β†’ Configure Automatic Postings
    MANDATORY (verify pre-config)

    🎯 Why we do this

    OBYC is the configuration that tells SAP which G/L account to debit/credit when MM transactions create FI documents. Without OBYC, every GR fails with "Account determination for entry X not possible." IDES usually has this pre-configured, but VERIFY for your Valuation Grouping Codes (0001 and 0002).

    Verify these transaction keys have G/L mappings

    Transaction KeyUsed forExample G/L
    BSXInventory posting (Dr at GR)200000 (Raw mat), 200200 (FG)
    WRXGR/IR clearing (Cr at GR; Dr at MIRO)191100
    GBB-VBRConsumption (production)400000
    GBB-VAXCOGS (delivery)500000
    PRDPrice differences231000
    KBSAccount-assigned PO (cost center direct)(specified on PO line)

    Action

    1. Run OBYC
    2. For each transaction key above:
      • Double-click β†’ check entries exist for Val Grouping Code VPK1 (and VAE1 if you activated VGC); or blank if VGC not activated
      • For BSX/WRX/GBB: also check per Valuation Class (3000 raw, 7920 finished)
    3. If missing, configure new entry pointing to a valid G/L from your Chart of Accounts
    16

    SD Setup for Inter-Company STO πŸ“š REFERENCE β€” do later when scenario needs it

    OVX5 Β· OVXI Β· OVXB Β· OVXG Β· OVX3 Β· OVX6 Β· OVXD Β· OVXC Β· OBYA Reference content β€” links from Scenario 8 (Inter-Co STO) in p2p-scenarios.html
    REFERENCE

    πŸ“š This is REFERENCE material β€” don't set up now

    Inter-Company STO requires SD module configuration which is typically the SD consultant's work, not MM. For your MM learning, this step is here as a reference to come back to when you reach Scenario 8 (Inter-Co STO) in p2p-scenarios.html.

    Recommended approach:

    • βœ… For now: Skip this step. Continue MM learning with other scenarios (1-7, 9-15, 17-24 don't need this)
    • ⏩ Later: When you reach Scenario 8 and want to test Inter-Co STO, come back here and complete sub-steps 16A-16J
    • πŸ‘₯ Alternative: Coordinate with an SD consultant who can do this setup for you

    But READ the sub-steps below now β€” as an MM consultant, you must KNOW what enables Inter-Co STO so you can talk to clients about cross-CC scenarios. Just don't configure in IDES yet.

    🎯 Why this exists β€” what enables Inter-Company STO

    Inter-Company STO (Scenario 8: PSPK Karachi PK03 β†’ PSAE Dubai AE01) is NOT a pure MM transaction β€” it spans MM + SD + FI:

    • MM side: STO PO (ME21N doc type NB cross-CC) β€” what you already know
    • SD side: Outbound delivery + intercompany billing (vendor delivery becomes SD delivery to virtual "customer")
    • FI side: Cross-company clearing (OBYA) for inter-CC AR/AP balance

    So Inter-Co STO requires Sales Organization + Distribution Channel + Division + Shipping Point in addition to the MM org structure. Without these, the SD delivery can't be created β†’ STO fails at VL10B.

    ⚠️ Who configures this in real projects?

    Typically the SD consultant + FI consultant configure this β€” not MM. But as MM consultant you must KNOW:

    • WHAT setup is required (so you can ask the right questions)
    • WHICH T-codes are involved (so you can troubleshoot)
    • HOW MM connects to SD via OMGN (Step 14) + plant-customer/vendor BPs

    For your learning: If you don't want to dive into SD config, just stick with Intra-Company STO (Scenario 7) which works without any SD setup. Skip this Step 16.

    πŸ“‹ SD Org Structure for STO β€” 9 sub-steps

    🚫 What if you skip Step 16?

    Inter-Company STO (Scenario 8) won't work β€” VL10B (outbound delivery creation) fails with "Plant not assigned to Sales Org" or "Shipping point not found".

    BUT: Intra-Company STO (Scenario 7 β€” PK01 β†’ PK02 within PSPK) works fine without any of this. So for basic STO learning, skip Step 16.

    πŸ’‘ MM consultant's role in Step 16

    You don't typically configure SD setup yourself. But on a real project, you:

    • Tell SD consultant: "I need Sales Area for Plant X with Distribution Channel for intercompany"
    • Verify SD setup is complete before promising inter-co STO to client
    • Configure OMGN (Step 14) and Customer/Vendor BPs (Step 16I) β€” these ARE MM consultant work
    • Work with FI consultant on OBYA setup
    17

    PP Setup for Production Scenarios πŸ“š REFERENCE β€” do later when scenario needs it

    CR01 Β· CA01 Β· CS01 Β· CO01 Β· OPJH Reference content β€” links from Scenarios 3, 9 (production-related)
    REFERENCE

    πŸ“š This is REFERENCE material β€” don't set up now

    Production scenarios that fully use PP (Production Planning module) need this. But most MM scenarios work without PP β€” you can use mvt 201 (cost center) instead of 261 (production order), and subcontracting (Scenario 9) only needs BOM creation (not full PP).

    Recommended approach:

    • βœ… For now: Skip. Use mvt 201 β†’ cost center for Goods Issue scenarios. 90% of MM scenarios work without PP.
    • ⏩ Later (Scenario 9 Subcontracting): Come back to 17B (BOM creation via CS01) β€” that's the only PP piece subcontracting needs
    • ⏩ Later (full production): Come back for 17A-17E when you want to test production order GI/GR cycle
    • πŸ‘₯ Alternative: Coordinate with PP consultant for full production setup

    READ the sub-steps now β€” MM consultant must understand how PP and MM integrate (BOM, material master MRP views, mvt 261/101 from production orders).

    🎯 Why this exists β€” what enables production-related MM scenarios

    Some MM scenarios involve production-related movements:

    • Scenario 3: Goods Issue to Production Order via mvt 261 (needs PP order)
    • Scenario 9: Subcontracting (uses BOM but doesn't need full PP)
    • Scenario 16: Batch management with manufacturing date (doesn't strictly need PP)

    If you want to test mvt 261 (GI to production order) properly, you need a PP setup. Easier alternative: use mvt 201 (GI to cost center) instead β€” no PP needed.

    ⚠️ Who configures PP in real projects?

    PP consultant configures this β€” not MM. But MM consultant interacts with PP for:

    • Material master MRP views (1-4) β€” set lot size, planning, scheduling
    • Production order goods movements (261, 262, 101) trigger MM postings
    • BOM components β€” when subcontracting (item cat L), BOM auto-explodes
    • MRP run output β†’ creates PRs that MM team converts to POs

    πŸ“‹ PP Master Data Setup β€” 4 sub-steps

    🎯 Material Master MRP views needed for production

    If you want full production planning, your material master needs these views (set in MM01/MM02):

    ViewKey fields for PP
    MRP 1MRP Type (e.g., PD = MRP), MRP Controller, Lot Size (e.g., EX = Exact, FX = Fixed)
    MRP 2Procurement Type (E = In-house, F = External), Planned Delivery Time, GR Processing Time
    MRP 3Safety Stock, Reorder Point, Forecast settings
    MRP 4BOM Explosion, Selection method for routing
    Work SchedulingProduction Storage Location, Production Scheduler, In-House Production Time

    🚫 What if you skip Step 17?

    You can still do most MM scenarios:

    • Scenario 3 (Goods Issue) β€” use mvt 201 (cost center) instead of 261 (production order). Works fine.
    • Scenario 9 (Subcontracting) β€” only needs BOM (CS01), not full PP. Works without Step 17.
    • Scenario 16 (Batch) β€” works without PP. Just use batch master MSC1N.

    For 90% of MM learning, you can skip Step 17 entirely. Only set up PP if you want to test full production cycle (CO01 β†’ GI 261 β†’ confirmation CO11N β†’ GR 101).

    πŸ’‘ MM consultant's role in production scenarios

    You don't configure PP, but you DO:

    • Set up material master Purchasing view + MRP views (collaborate with PP)
    • Define material's procurement type (E vs F vs X)
    • Configure subcontracting (Scenario 9) β€” BOM + item cat L on PO
    • Handle GR from production order (mvt 101 of finished product)
    • Handle backflushing of components (auto GI mvt 261 when production confirmed)
    18

    BP Master Data Configuration πŸ“š REFERENCE β€” typically FI/Basis consultant work, but MM must understand

    BUCF Β· BUC2 Β· SPRO Β· SM30 view V_TBC001/V_TBD001 BP Number Ranges + Groupings + Roles + CVI Integration
    REFERENCE

    πŸ“š Why MM consultant should KNOW BP config (even if you don't DO it)

    In S/4HANA, Business Partner is mandatory β€” you can't create vendors via XK01/MK01 anymore. Every vendor goes through BP transaction. BP configuration controls:

    • What BP number ranges are used (e.g., vendor 1000000-1999999, customer 2000000-2999999)
    • What roles can be added (Vendor, Customer, Employee, Bank, etc.)
    • Synchronization with classic LFA1/KNA1 tables via CVI (Customer/Vendor Integration)
    • What grouping = what number range = what kind of partner

    Recommended approach:

    • βœ… For learning: Skip this step. Use existing roles (e.g., your IDES already has BP fully configured β€” you saw "Vendor (Finance) (New)" and "Vendor (Purchasing)" in dropdown)
    • ⏩ For interviews/projects: READ this section thoroughly β€” common interview questions on S/4HANA conversion
    • πŸ‘₯ For real implementations: Coordinate with FI/Basis consultant

    πŸ“‹ BP Configuration β€” 5 Key Sub-Steps

    🎯 How BP Maps to Classic Vendor/Customer Tables

    BP RoleBP TableSynced to (classic table)Purpose
    BP GeneralBUT000LFA1 (vendor) / KNA1 (customer)General master data β€” address, name, country
    Vendor (Finance)BUT021_FSLFB1Vendor CC-specific β€” recon, payment terms
    Vendor (Purchasing)BUT020LFM1Vendor Purch Org data β€” currency, terms
    Customer (FI)BUT021_FSKNB1Customer CC-specific
    Customer (SD)BUT020KNVVCustomer Sales Area data

    πŸ’‘ Real-world MM consultant scenarios

    • "Why can't I create vendor via XK01 anymore?" β†’ S/4HANA deprecated it. Use BP transaction.
    • "My BP saved but POs say vendor doesn't exist" β†’ CVI sync not configured. Check V_TBD001.
    • "Client wants vendor # to match BP #" β†’ "Same Number" flag in BUC2 grouping.
    • "Need to migrate 10,000 vendors from ECC to S/4" β†’ BP Conversion (MDS_LOAD_COCKPIT) β€” separate big topic.
    • "Want different number ranges per vendor type" β†’ Create multiple groupings in BUC2 + number ranges in BUCF.

    πŸŽ“ Interview-Ready BP Q&A

    🚫 What if you skip Step 18?

    If you're using your IDES (which already has BP fully configured), you can SKIP this entire step. Just create vendors using existing roles ("Vendor (Finance) (New)" + "Vendor (Purchasing)") as covered in Scenario 1.

    You'd only need to DO this step if:

    • Setting up a fresh SAP system from scratch
    • Implementing custom BP grouping for client (e.g., Pakistani-specific numbering)
    • Troubleshooting "vendor sync" issues in S/4HANA conversion projects
    19

    Controlling Area & Cost Centers πŸ“š needed for account-assigned procurement (Scenarios 4/5/6/11/25/26)

    OKKP Β· OX19 Β· KS01 Β· OKB9 Β· KS03 ~45 min Β· do this BEFORE postings ideally Β· enables cost center / order / asset / WBS on PO lines
    FI/CO β€” MM must know

    🚨 THE IRON RULE β€” do this BEFORE any postings

    The controlling area must be set up and assigned to the company code before the first goods receipt / invoice / payment. If you configure it AFTER posting (as is easy to do by accident), S/4HANA blocks the assignment with FINS_ACDOC_CUST116 and forces a journal-entry mass-data repair project. We document that recovery below β€” but in a real greenfield, sequence CO right after the company code (Step 1) to avoid it entirely.

    🎯 Why an MM consultant configures / knows this

    Stock POs (Scenarios 1-3) don't need CO. But the moment a PO posts to a cost object β€” a service to a cost center (K), an asset (A), an internal order (F), a project WBS (P) β€” that cost object only exists if a Controlling Area is active and your company code is assigned to it, with Cost Center Accounting switched on. Often FI/CO sets this up, but MM must understand it because every account-assigned PO line you create depends on it.

    πŸ“‹ Step 19 sub-steps (real values from the PakSteel build)

    βœ… Step 19 Verification

    CheckExpected
    SE16N β†’ TKA01row for controlling area PSPK
    SE16N β†’ TKA02PSPK ↔ PSPK company-code assignment
    SE16N β†’ CSKSyour cost center rows (KOKRS = PSPK)
    KS03 β†’ PKKHI-PRODdisplays the cost center

    πŸ’‘ Account Assignment Categories β€” what each cost object is

    AACCost objectNeedsScenario
    blankStock (inventory G/L)material with stock view1,2,7,8,9
    KCost Centerthis step (19)4,5,11
    FInternal OrderOrder Mgmt active (19B)β€”
    AAssetAA configured (FI)6
    PProject (WBS)PS configured26
    CSales OrderSD12

    🎯 Final Verification β€” Everything Should Be in Place

    Run these table queries in SE16N and confirm row counts:

    TableContentExpected count
    T001Company Codes2 rows (PSPK, PSAE)
    T001WPlants4 rows (PK01, PK02, PK03, AE01)
    T001LStorage Locations~20+ rows
    T024EPurchasing Orgs4 rows (PKLO, AELO, GLBL, REFR)
    T024ZPO→CC assignments2 rows (PKLO→PSPK, AELO→PSAE)
    T024WPO→Plant assignments8 rows
    T024Purchasing Groups7 rows
    T001KValuation Areas4 rows (per plant)
    FINSC_LD_CMPLedger Γ— CC assignments2 rows (PSPK + PSAE in 0L ledger)
    SKB1G/L per Company CodeOne row per (CC, G/L) extended via FS00
    T8G17AG/L Document Splitting classifications~10-15 rows for chart INT
    NRIVFI Document Number Ranges8+ rows per CC (subobject=PSPK, PSAE)
    T030OBYC account determinationMany rows for transaction keys Γ— valuation classes

    πŸ“‹ Verified T-Code Quick Reference (with official SPRO paths)

    All paths below are verified against official SAP sources (help.sap.com, sap-press.com, saponlinetutorials.com).

    StepT-codePurposeSPRO IMG Path
    1AOX02Create/Edit Company CodeEnterprise Structure β†’ Definition β†’ Financial Accounting β†’ Edit, Copy, Delete, Check Company Code
    1BOBBPPosting Period Variant (define)FI β†’ FA Global Settings β†’ Document β†’ Posting Periods β†’ Define Variants for Open Posting Periods
    1COB52Open Posting PeriodsFI β†’ FA Global Settings β†’ Document β†’ Posting Periods β†’ Open and Close Posting Periods
    1DOBC4Field Status VariantFI β†’ FA Global Settings β†’ Document β†’ Line Item β†’ Controls β†’ Maintain Field Status Variants
    1EOBY6Company Code Global ParametersFI β†’ FA Global Settings β†’ Global Parameters for Company Code β†’ Enter Global Parameters
    1FFBN1FI Document Number RangesFI β†’ FA Global Settings β†’ Document β†’ Document Number Ranges β†’ Documents in Entry View β†’ Define Document Number Ranges
    1GOBA4FI Tolerance GroupsFI β†’ Document β†’ Tolerances β†’ Define Tolerance Groups for Employees
    1H ⚑FINSC_LEDGERLedger CC Assignment + Acct PrincipleFI β†’ FA Global Settings β†’ Ledgers β†’ Ledger β†’ Define Settings for Ledgers and Currency Types
    1I ⚑SPRO (no T-code)Document Splitting G/L ClassificationFI β†’ General Ledger Accounting β†’ Business Transactions β†’ Document Splitting β†’ Classify G/L Accounts for Document Splitting
    1JFS00G/L Account (extend chart-level G/L to CC)FI β†’ General Ledger Accounting β†’ Master Data β†’ G/L Accounts β†’ Individual Processing β†’ Centrally
    1K ⚑OMSYMM Period Initialization (per CC) β€” without this, MM01/MIGO failMM β†’ Logistics General β†’ Material Master β†’ Basic Settings β†’ Maintain Company Codes for Materials Management
    1K (related)MMRV Β· MMPVDisplay current MM period (MMRV) Β· Close/advance MM period monthly (MMPV)SAP Menu β†’ Logistics β†’ MM β†’ Material Master β†’ Other β†’ Period Close (MMPV) / Display Periods (MMRV)
    1MEC01Copy Company Code (for 2nd+ CC)Enterprise Structure β†’ Definition β†’ Financial Accounting β†’ Edit, Copy, Delete, Check Company Code (Copy icon)
    2F-02Test FI Posting (G/L journal)Accounting β†’ Financial Accounting β†’ General Ledger β†’ Document Entry β†’ General Posting
    3OX10Define PlantEnterprise Structure β†’ Definition β†’ Logistics – General β†’ Define, copy, delete, check plant
    4OX18Assign Plant to Company CodeEnterprise Structure β†’ Assignment β†’ Logistics – General β†’ Assign Plant to Company Code
    5OX14Define Valuation Level (plant or CC)Enterprise Structure β†’ Definition β†’ Logistics – General β†’ Define Valuation Level
    6aOMWMActivate Valuation Grouping CodeMM β†’ Valuation and Account Assignment β†’ Account Determination β†’ Account Determination Without Wizard β†’ Define Valuation Control
    6bOMWDAssign VGC to Valuation Area (plants)MM β†’ Valuation and Account Assignment β†’ Account Determination β†’ Account Determination Without Wizard β†’ Group Together Valuation Areas
    7OX09Maintain Storage LocationEnterprise Structure β†’ Definition β†’ Materials Management β†’ Maintain Storage Location
    8OX08Maintain Purchasing OrganizationEnterprise Structure β†’ Definition β†’ Materials Management β†’ Maintain Purchasing Organization
    9OX01Assign Purch Org to Company CodeEnterprise Structure β†’ Assignment β†’ Materials Management β†’ Assign purchasing organization to company code
    10OX17Assign Purch Org to PlantEnterprise Structure β†’ Assignment β†’ Materials Management β†’ Assign purchasing organization to plant
    11SPRO (no T-code)Assign Purch Org to Reference Purch OrgEnterprise Structure β†’ Assignment β†’ Materials Management β†’ Assign purchasing organization to reference purchasing organization
    12OMKIAssign Standard Purch Org to PlantEnterprise Structure β†’ Assignment β†’ Materials Management β†’ Assign Standard Purchase Organization to Plant
    13OME4Maintain Purchasing GroupsMM β†’ Purchasing β†’ Create Purchasing Groups
    14OMGNDefine Shipping Data for Plants (STO)MM β†’ Purchasing β†’ Purchase Order β†’ Set up Stock Transport Order β†’ Define Shipping Data for Plants
    15OBYCConfigure Automatic Postings (Account Determination)MM β†’ Valuation and Account Assignment β†’ Account Determination β†’ Account Determination Without Wizard β†’ Configure Automatic Postings
    18ABUCFBP Number RangesCross-Application Components β†’ SAP Business Partner β†’ Business Partner β†’ Basic Settings β†’ Number Ranges and Groupings β†’ Define Number Ranges
    18BBUC2BP Groupings + Number Range AssignmentCross-Application Components β†’ SAP Business Partner β†’ Business Partner β†’ Basic Settings β†’ Number Ranges and Groupings β†’ Define Groupings and Assign Number Ranges
    18CSPRO (no T-code)Define BP RolesCross-Application Components β†’ SAP Business Partner β†’ Business Partner β†’ Basic Settings β†’ Business Partner Roles β†’ Define BP Roles
    18DSM30 Β· V_TBC001 / V_TBD001CVI Customer/Vendor Integration (BP grouping ↔ classic account group)Direct view maintenance via SM30 β€” or SPRO Cross-App β†’ CVI β†’ Master Data Synchronization β†’ Customer/Vendor Integration β†’ BP Settings

    All paths start with: SPRO β†’ SAP Reference IMG (F5) β†’ then the path above.

    πŸ“š Source verification: SAP Online Tutorials (saponlinetutorials.com), SAP Community (community.sap.com), SAP Help Portal (help.sap.com). Verified against multiple sources for each T-code. If you spot an error, please report.

    🏷️ Master Code Reference β€” All PSEC Alphanumeric Codes (Single Source of Truth)

    Use these exact codes when creating in IDES. All codes are unique alphanumeric (avoid clashes with SAP-delivered 1000/0001/etc.) so you can identify YOUR codes vs SAP's at a glance. Future troubleshooting + scenarios + interview prep all reference these.

    Entity TypeCodeName / PurposeCreated in Step
    Company Codes (T001)
    Company CodePSPKPakSteel Industries (Pvt) Ltd Β· PKR Β· PakistanStep 1A (OX02)
    Company CodePSAEPakSteel Trading FZ-LLC Β· AED Β· UAEStep 1L (EC01 copy)
    Plants (T001W)
    PlantPK01Karachi Factory Β· Manufacturing Β· PSPKStep 3 (OX10)
    PlantPK02Lahore Factory Β· Manufacturing Β· PSPKStep 3 (OX10)
    PlantPK03Karachi DC Β· Distribution Β· PSPKStep 3 (OX10)
    PlantAE01Dubai DC Β· Distribution Β· PSAEStep 3 (OX10)
    Storage Locations (T001L) β€” per plant
    SLocGNRLGeneral storageStep 7 (OX09)
    SLocRAWMRaw Materials warehouseStep 7 (OX09)
    SLocWIPSWork In ProgressStep 7 (OX09)
    SLocFNGDFinished GoodsStep 7 (OX09)
    SLocQHLDQuality Hold (inspection)Step 7 (OX09)
    SLocRTRNReturns areaStep 7 (OX09)
    SLocBLKDBlocked stockStep 7 (OX09)
    SLocEXPTExport stock (at AE01 only)Step 7 (OX09)
    Purchasing Organizations (T024E)
    Purch OrgPKLOPakSteel Pakistan Local Β· CC PSPKStep 8 (OX08)
    Purch OrgAELOPakSteel UAE Local Β· CC PSAEStep 8 (OX08)
    Purch OrgGLBLGlobal / Cross-CC procurement Β· No CC (cross-company)Step 8 (OX08)
    Purch OrgREFRReference Purch Org Β· Holds shared contracts/info records Β· No CCStep 8 (OX08) + Step 11
    Purchasing Groups (T024)
    Purch GroupRMTRaw Materials Β· Ali KhanStep 13 (OME4)
    Purch GroupPKGPackaging Β· Sara KhanStep 13 (OME4)
    Purch GroupMROMaintenance/Repair/Ops Β· Iqbal SheikhStep 13 (OME4)
    Purch GroupITSIT & Software Β· Ahmed KhanStep 13 (OME4)
    Purch GroupSRVGeneral Services Β· Hassan AliStep 13 (OME4)
    Purch GroupCPXCapex / Capital Expenditure Β· Director OfficeStep 13 (OME4)
    Purch GroupURGUrgent / Emergency Β· On-call buyerStep 13 (OME4)
    Variants (used in OBY6)
    Posting Period VariantPSPKPakistan posting periods (shared between PSPK and PSAE, or per-CC)Step 1B (OBBP)
    Posting Period VariantPSAEUAE posting periods (optional β€” can share PSPK)Step 1B (OBBP)
    Field Status VariantPSPKPakSteel FSV (copied from 0001) β€” shared by both CCsStep 1D (OBC4)
    Fiscal Year VariantK4Jan-Dec calendar year (SAP-delivered, used by both CCs)Pre-delivered
    Chart of AccountsINTSAP International chart (used by both CCs)Pre-delivered
    Controlling AreaPSCAPakSteel Controlling Area (covers PSPK + PSAE if using CO)CO setup (OKKP)
    Accounting Principle60IFRS (or whatever your IDES has β€” F4 in FINSC_LEDGER)Step 1H (FINSC_LEDGER)
    Valuation Grouping Codes (OPTIONAL β€” Step 6)
    VGCVPK1Pakistan plants (PK01, PK02, PK03) grouped for OBYC (OPTIONAL)Step 6 (OMWM/OMWD)
    VGCVAE1UAE plant (AE01) β€” separate group if needed (OPTIONAL)Step 6 (OMWM/OMWD)
    Cost Centers (CSKS β€” when CO setup done)
    Cost CenterPKKHI-PRODKarachi ProductionCO setup (KS01)
    Cost CenterPKKHI-MAINTKarachi MaintenanceCO setup (KS01)
    Cost CenterPKLHE-PRODLahore ProductionCO setup (KS01)
    Cost CenterPKADM-FINFinance DepartmentCO setup (KS01)
    Cost CenterPKADM-ITIT DepartmentCO setup (KS01)
    Cost CenterPKADM-HRHR DepartmentCO setup (KS01)
    Cost CenterPKEXPExport OperationsCO setup (KS01)
    Cost CenterAEDXB-PRODDubai OperationsCO setup (KS01)

    πŸ’‘ Why ALL alphanumeric (avoiding numeric codes)

    SAP-delivered codes typically use numeric patterns: 0001 (Co Code), 1000 (plant), 0001 (FSV), 001/002/003 (Purch Groups), etc. Many test/IDES systems have these reserved or already used by other projects/students.

    Using alphanumeric codes (PSPK, PK01, RMT, etc.) gives you:

    • βœ… Unique codes β€” won't conflict with other students/projects in the same test server
    • βœ… Easy identification β€” instantly see "this is MY code" vs SAP-delivered
    • βœ… Self-documenting β€” PK01 = Pakistan plant 01, much clearer than "1100"
    • βœ… Searchable β€” SE16N filters like "BUKRS = PS*" find all your CCs
    • βœ… Interview-ready β€” shows you understand naming conventions

    πŸ” If a code is already taken in your test server

    If you find PSPK or similar is already taken, use these alternatives (still unique alphanumeric):

    If takenAlternatives to try
    PSPKPSP1, YSPK, PSP2, or your initials + 01 (e.g., AFPK)
    PK01PKA1, PKZ1, or P101
    RMTRAW, RM1, ZRM
    VPK1VPKA, VP01, VYPK

    Document your chosen codes in this section so future troubleshooting and scenarios reference them correctly. If you change a code, do search-and-replace in this guide and the p2p-scenarios.html to keep everything aligned.

    ⚠️ Common Pitfalls to Avoid

    MistakeConsequenceFix
    Skipping OX18 (Plant→CC)Plant unusable; PO creation failsRun OX18 immediately after creating plants
    Skipping OX01 (PO→CC)"Company Code not assigned to Purchase Org" error on PO creationRun OX01 — assign each Purch Org to a CC (or leave blank for cross-company)
    Skipping OX17 (PO→Plant)"Purch Org not authorized for Plant" error on PO creationRun OX17 — at least one plant per Purch Org
    Confusing OX01 vs OX17Common typo: OX01 = PO→CC, OX17 = PO→Plant. Easy to swap.Memorize: OX01 → CC (one only), OX17 → Plant (many)
    Wrong valuation level (OX14)Massive rework if changed laterPlant level is the right answer β€” set once
    Forgetting Valuation Grouping (OMWM)Can't differentiate G/Ls per plant group (single CC scenarios fine without)Optional for single-CC setups; recommended for multi-country
    Assigning GLBL to a CCDefeats the purpose of cross-company Purch OrgLEAVE GLBL's OX01 blank (then assign all plants via OX17)
    Wrong country/currency on CCWrong tax handling β€” legal/audit issuesVerify carefully BEFORE saving CC
    Picking different language without translationsMaster data display issuesStick with EN for first setup

    πŸš€ What's Next

    Once all 15 steps are complete, your SAP MM organizational structure is fully configured. Next phases:

    πŸ“¦ Master Data Setup

    Material Master, Vendor (BP), Info Records, Source Lists. We'll provide a curated list of materials and vendors that exercise all P2P scenarios.

    πŸ” P2P Cycle

    PR β†’ PO β†’ GR β†’ Invoice β†’ Payment for each scenario type (standard, subcontracting, consignment, STO, third-party).

    βš™οΈ Advanced Customization

    Release strategies, custom document types, custom material types, batch management, output determination.

    Tell me when you've completed all 15 steps in your IDES system and I'll provide the master data setup guide with specific materials and vendors to create.