Scenario 19 — Custom Material Type (Halal-Certified Materials)
📊 Business Case
A material type (ROH, HALB, FERT…) is the master switch that controls how a material behaves: which fields appear, which valuation classes — and therefore which G/L accounts — are allowed, what number range it draws from, and whether it is stockable and valuated. When the standard types don't fit a special category of material, you build your own. Here PakSteel's food-grade subsidiary needs to segregate Halal-certified materials, so we create ZHAL with its own number range, field control, and account determination.
🕐 When to use it
When standard ROH/HALB/FERT can't capture a distinct material category your business must track separately — e.g. Halal-certified, hazardous, or regulated goods needing their own numbering and accounting.
❓ Why it matters
The material type drives account determination (allowed valuation classes → OBYC G/Ls), field selection, and the number range. Get it right once and every material of that type behaves consistently and posts to the correct accounts.
👤 Who triggers it
An MM consultant configures it in customizing (OMS2); the master-data team then creates materials against it via MM01. Finance signs off on the valuation-class → G/L mapping.
🔁 The key distinction
A custom material type is config, not a posting. It changes how materials are numbered, controlled and valued — its payoff is correct accounts, clean reporting, and compliance, not a one-off journal entry.
💰 Financial Impact — The Easy-Money Example
This scenario is configuration, so the "money" is about accuracy and control, not a single posting. The payoff shows up every time a Halal material is created or consumed: it lands in the right valuation class, hits the right G/L, and is instantly reportable for audit.
HAL0000001 is forced onto valuation class 3050, so its inventory + consumption hit a dedicated Halal G/L via OBYC.Where a real posting appears: the config has no journal entry itself, but the downstream postings do. Because valuation class 3050 is wired into OBYC (BSX for inventory, GBB/VBR for consumption), a goods receipt for HAL0000001 debits the Halal Inventory G/L, and a goods issue debits the Halal Consumption G/L — automatically, every time.
🇵🇰 The Business Story
🎯 What you'll learn
- Field selection — which fields are mandatory/optional/hidden for this material type
- Valuation classes allowed — which OBYC G/L accounts get hit
- Number range — separate numbering pool (e.g., HAL-xxxxxxx vs MAT-xxxxxxx)
- Stock-keeping — is it stockable? Valuated?
- Quantity / Value updating per plant or globally
- Authorization group — who can create
This scenario configures the custom type ZHAL (OMS2) and creates ZHAL-CHEM-01 (MM01). Condensed steps & fields: Create the Z material.
🔧 Step-by-Step
⚙️ Config Steps
19.1 — Copy standard ROH to ZHAL · OMS2
- OMS2 · select
ROH· Copy As → new typeZHAL - Description:
Halal-Certified Raw Material - External Purchase Orders:
+(allowed) - Internal Purchase Orders:
+ - Field selection group: 41 (or copy from ROH)
- Authorization group: Z_HALAL
- Number range group:
ZH(define separately in next step) - Save
19.2 — Assign Valuation Classes · OMSK
- OMSK · Material Type ZHAL · allowed Valuation Classes
- Add:
3050(Halal Raw Materials) — a new valuation class - Save
- Also configure OBYC for VKL 3050 if not already done
19.3 — Define Number Range · SNRO Object MATERIALNR
- SNRO · MATERIALNR · Number Ranges
- Add Interval:
ZH· From:HAL0000001· To:HAL9999999· External Y/N - OMS2 → ZHAL → link Number Range Group ZH
- Save
🔄 Test
19.4 — Create material with ZHAL · MM01
- MM01 · Material: (blank, auto-assigned) · Industry M · Material Type ZHAL
- System assigns HAL0000001
- Fill views; Accounting → Valuation Class ONLY 3050 allowed (others blocked) ✓
- Save
✅ Verification
| # | T-code | Check |
|---|---|---|
| 1 | OMS2 | ZHAL exists with description, number range group ZH, authorization group Z_HALAL |
| 2 | SNRO | Object MATERIALNR shows interval ZH = HAL0000001–HAL9999999 |
| 3 | MM01 | Creating a ZHAL material auto-assigns HAL0000001 and offers only valuation class 3050 |
| 4 | MM03 | Display the new material → Accounting view shows valuation class 3050 |
🎓 Interview-Ready Answers
Q: What does a material type control in SAP MM?
The material type drives the allowed views/field selection (mandatory/optional/hidden fields), the number range (internal or external), whether the material is quantity- and value-updated (stockable/valuated), the permitted valuation classes (and hence OBYC G/L account determination), the default price control, and the authorization group for who may create it.
Q: How does a custom material type ensure postings hit the right G/L?
Via the valuation class. In OMSK you restrict the material type (ZHAL) to one valuation class (3050). That valuation class is mapped in OBYC — BSX for the inventory account, GBB/VBR for consumption — so every GR/GI for a ZHAL material posts to the dedicated Halal accounts automatically.
Q: Why create a new material type instead of just using a new valuation class on ROH?
A separate valuation class alone gives account separation but not field control, a dedicated number range, authorization, or guaranteed segregation. A custom type enforces all of these together — users can't accidentally pick the wrong valuation class, the number range visibly identifies the material (HAL…), and creation is restricted by authorization group — which matters for regulatory/compliance categories like Halal.