⚙️ Advanced SAP MM Customizations

Once you've mastered the basics (org structure, master data, P2P), move into the customization topics that real consultants configure on every project. These are the topics that separate junior from senior MM consultants.

Two-track learning approach
Basic track (Org Structure → Material Master → Vendor Master → P2P) covers 90% of standard implementations. Master that first.
Advanced track (this page) covers customizations — batch management, release strategies, special procurement, pricing procedures — that real clients ask for.

🎯 The Advanced Topics Roadmap

📦

Batch Management

Track stock by batch number. FEFO/FIFO/LIFO picking, shelf life, batch classification, where-used, batch genealogy.

Open dedicated page →
📋

Custom Material Types

Create your own material types beyond ROH/HALB/FERT. Define number ranges, allowed views, valuation, special procurement.

Read more ↓
📄

Custom Document Types

Create custom PR/PO/RFQ document types for special business scenarios. Number ranges, field selection, allowed item categories.

Read more ↓

Release Strategies

Approval workflows for PRs and POs. Release codes, groups, characteristics, classes. Value-based, plant-based, group-based routing.

Open dedicated page →
🔄

Subcontracting (Item Cat L)

You own components, vendor processes. Movement types 541/543/101. BOM-driven.

Open dedicated page →
💵

Pricing Procedures

Condition types, calculation schema, access sequences. Define gross price, discounts, surcharges, freight, customs.

Read more ↓
📒

OBYC Account Determination

How SAP picks G/L accounts. Transaction keys (BSX, WRX, GBB, PRD, KBS). Valuation class, valuation grouping code.

Read more ↓
📨

Output Determination

How POs get sent to vendors — print, email, EDI, Fiori. Condition records, partner functions, output media.

Read more ↓
🏷️

Quota Arrangements

Distribute orders across multiple vendors by percentage/quantity. Auto vendor selection in MRP.

Read more ↓
🛠️

Service Procurement

Service master, Service Entry Sheets (SES), milestone billing, integration with project systems.

Read more ↓
📊

Split Valuation

Same material with different prices by category (origin, quality grade, new/refurbished, own/consignment).

Read more ↓
🌐

Cross-Company / Inter-Company

STO with billing between Company Codes. Vendor-customer cross-mapping (OMGN). Inter-company pricing.

Read more ↓

📦 Batch Management — Deep Dive

What is a batch?

A subset of a material's stock that shares specific characteristics — typically a manufacturing lot, expiry date, or quality grade. Each batch has a unique batch number; same material can have many batches with different values.

When to use batch management

Activation

  1. Material Master flagMM02 → General Plant Data / Storage 1 view → XCHPF Batch Management ✓
  2. Batch level configOMCT — Choose: material-level (cross-plant), plant-level, or client-level
  3. Internal vs External batch number — Config decides if batch number is auto-generated or user-entered
  4. ClassificationCT04 — Define characteristics (e.g. ProductionDate, ExpiryDate, Grade)
  5. Classification classCL02 — Class type 023 for batches
  6. Search procedureOMCY — FEFO, FIFO, LIFO, or custom

Key T-codes

T-codeWhat it does
MSC1NCreate batch master
MSC2NChange batch (status, characteristics)
MSC3NDisplay batch
CL20NAssign classification values to batch
MB56Batch where-used list
MB58Batches with restricted use
SE16N → MCHAView batch master records
SE16N → MCHBBatch stock per plant + SL
PSEC use case
Steel rods made in different batches have different mechanical properties (tensile strength varies by furnace heat). PSEC activates batch management on FERT materials, classifies each batch with tensile strength, and tracks which batch went to which customer for warranty/recall.

📋 Custom Material Types — Deep Dive

SAP standard material types

TypeDescriptionUsed for
ROHRaw materialsInputs to production
HALBSemi-finishedWIP / sub-assemblies
FERTFinished productsFinal saleable goods
HAWATrading goodsBuy & sell as-is
ERSASpare partsMRO items
VERPPackagingBoxes, pallets, labels
DIENServicesNon-physical services
NLAGNon-stockDirect expense items
UNBWNon-valuatedNo financial value

When to create custom material types

Configuration

  1. Create material typeOMS2 — Copy a similar standard type (e.g. ROH), rename, customize
  2. Number rangesMMNR — Internal/external, range start-end
  3. Allowed views — In OMS2, tick which views can be filled (Sales, Purchasing, MRP, etc.)
  4. Default Industry sector — Mechanical, Chemical, Pharma, Retail, etc.
  5. Valuation class / Account category referenceOMSK — Define which valuation classes are allowed
  6. Item category groups for SD — If sold
Best practice
Only create custom material types when SAP standard doesn't fit. Most projects use standard types. Custom types add maintenance burden — keep them few and well-named.

📄 Custom Document Types — Deep Dive

Standard PO document types

TypeDescription
NBStandard PO
UBStock Transport Order (within CC)
FOFramework Order (blanket PO)
ECCapital Expenditure (CapEx)
ZX(common custom — prefix Z is for customizations)

When to create custom document types

Configuration

  1. Define PR document types — SPRO → MM → Purchasing → PR → Define Document Types
  2. Define PO document types — SPRO → MM → Purchasing → PO → Define Document Types
  3. Define RFQ document types — Similar path
  4. Number ranges — Per document type
  5. Allowed item categories — Standard, Limit, Subcontract, Consignment, Third-party, Stock transfer, Service
  6. Field selectionOMF1 for PO / OMF4 for PR

Custom PO example — "ZR" Research & Development PO

Document Type ZR — R&D Purchase Order
  Number range: 47000000-47999999
  Allowed item categories: Standard only (no STO/subcontract)
  Field selection: Cost Center mandatory (research project)
  Release strategy: Goes to R&D Director above 100K

✅ Release Strategies — Deep Dive

Components

Configuration sequence

  1. Define characteristicsCT04 — e.g. CEKKO-GNETW (total PO value), CEKKO-EKGRP (Purch Group)
  2. Create release classCL02 — Class type 032 for POs, 028 for PRs. Add the characteristics.
  3. Define release groupsOMGS for PO / OMGQ for PR
  4. Define release codes — Per group
  5. Define release strategies — Combine codes into ordered chains
  6. Set classification valuesCL20N — Define WHEN each strategy applies (e.g. value > 100K + Purch Group IT0)
  7. Workflow event — Standard release workflow can be triggered

Common patterns

PatternHow
Value-based hierarchy<50K = Buyer; 50K-5L = Manager; >5L = CFO
Plant-specific approvalUse Plant (WERKS) as characteristic; different chains per plant
Category-basedUse Purchasing Group (EKGRP) as characteristic — IT POs go to IT Director
CapEx workflowUse Document Type (BSART) — CapEx POs need additional CFO + Board approval

Key T-codes

T-codeWhat it does
ME29N / ME28Release a PO
ME54N / ME55Release a PR
ME5FRelease reminder reports
ME35KRelease contracts

🔄 Special Procurement — Deep Dive

Subcontracting (Item Category L)

You supply raw materials to a vendor; vendor processes them and returns the finished product. Special stock indicator O.

Consignment (Item Category K)

Vendor owns the stock at YOUR plant until you consume it. Special stock indicator K.

Stock Transport Order (STO)

Move material between plants.

TypeUseDocument Type
Intra-company STO (one-step, 647)Same CC, simpleUB
Intra-company STO (two-step, 351→101)Same CC, tracks in-transitUB
Inter-company STODifferent CCs, with billingNB with shipping
STO with deliveryUses SD delivery (VL10B)UB / NB

For inter-company STO, you need OMGN to set up the cross-CC Customer (receiving plant) and Vendor (supplying plant).

Third-Party (Item Category S)

Vendor ships directly to your customer; you never touch the goods. Sales order triggers PO directly to vendor.

Pipeline (Item Category P)

Material consumed without prior receipt — gas, water, electricity. Special stock indicator P.


💵 Pricing Procedures — Deep Dive

Components

Standard condition types

TypeDescription
PBXXGross price (manual)
PB00Gross price (from info record)
PDXXDiscount (%)
PRXXSurcharge
FRA1Freight
FRB1Freight (lump sum)
NAVSNon-deductible tax
SKTOCash discount

Key T-codes


📒 OBYC Account Determination

OBYC is the lookup table that tells SAP which G/L account to debit/credit for each MM transaction.

The 3 inputs to OBYC lookup

  1. Transaction Key (BSX, WRX, GBB, PRD, KBS…) — derived from movement type
  2. Valuation Class — from material master (3000 raw, 7920 finished)
  3. Valuation Grouping Code — plant grouping (if OMWM activated)

Key transaction keys

KeyFor
BSXInventory posting (Dr on GR, Cr on GI)
WRXGR/IR clearing (Cr on GR, Dr on IV)
GBBOffsetting — has sub-keys VBR (consumption), VAX (COGS), VNG (scrap), AUF (production)
PRDPrice difference (when invoice price ≠ PO price)
KBSAccount-assigned PO (cost center, order)
FRLExternal services
AUMStock transfer price differences

T-codes


🏷️ Quota Arrangements — Deep Dive

Distribute purchases across multiple vendors automatically. Used when you want to: balance load, reduce risk, comply with sourcing policies.

How it works

  1. Define quota for a material — e.g. Vendor A = 60%, Vendor B = 30%, Vendor C = 10%
  2. MRP or PR conversion uses quota to pick vendor
  3. Quota usage updates as POs are created
  4. System balances over time to meet target percentages

T-codes


🛠️ Service Procurement — Deep Dive

Service Master

Service procurement flow

  1. Create Service PR — ME51N with item category D
  2. Create Service PO — ME21N with item category D
  3. Receive service via SES — ML81N (Service Entry Sheet)
  4. Accept SES — Technical + financial acceptance
  5. Invoice verification — MIRO against SES

SES Types


📨 Output Determination — Deep Dive

How POs get to vendors

Components

T-codes


🌐 Cross-Company / Inter-Company STO

Setup steps

  1. Define delivery type for inter-company — 0VLK
  2. Define order type for inter-company STO — UB or custom
  3. Assign Customer to receiving plantOMGN
  4. Assign Vendor to supplying plant — Same OMGN screen
  5. Set up inter-company billing — Item categories, copying control
  6. Pricing procedure for inter-co — RM2000 standard

📚 Where to go next

More advanced topics coming soon
Each topic above will get its own dedicated deep-dive page with worked examples in the PSEC scenario, configuration walkthroughs, and interview Q&A. Stay tuned.