Scenario 14 — Source Management Mastery (Source List, Quota, Block, Time-Dependent — 9 sub-scenarios)
📊 Business Case
Source management is how you control who you are allowed to buy from. The source list (ME01) is the approved-vendor list for a material + plant; quota arrangements (MEQ1) split volume by percentage between approved vendors; fixed sources mark a preferred vendor for auto-selection; and blocks and validity dates switch sources on and off over time. Together they give procurement governance over compliance, supply risk, and price — you buy only from vetted suppliers, and SAP enforces it on every PR/PO.
🕐 When to use it
When a material must come only from approved vendors: strategic sole-sourcing, dual-sourcing for risk, a contractual volume split, seasonal vendor switches, or blocking a supplier after a quality failure.
❓ Why it matters
It enforces compliance (only vetted vendors), manages supply risk (dual-source so one failure doesn't stop production), and protects price (lock in agreed splits and contract sources). POs to non-approved vendors are simply rejected.
👤 Who triggers it
Strategic purchasing maintains the source list and quotas (ME01 / MEQ1 / ME0M). MRP (MD03) and operational buyers (ME51N) then consume those sources automatically when creating PRs/POs.
🔁 The key distinction
Control WHO you buy from, by time and percentage. The Fix flag drives manual PR/PO selection; the MRP indicator drives automation — and MRP ignores Fix entirely. Knowing which flag does what is the heart of this scenario.
💰 Financial Impact — The Easy-Money Example
This is a control scenario — the value is the price secured and the supply risk avoided. PakSteel dual-sources iron ore and locks a 60/40 quota with negotiated pricing. Here's the money story when one vendor fails QC mid-year:
The big idea: source management doesn't post an FI document — its payoff is cost and risk avoided. A single-sourced material with no block control means a QC failure forces a panic spot-buy (paying a premium) or halts production (lost output). With a source list + quota + block, the system reroutes to a pre-approved vendor at the agreed price instantly. That's compliance, price discipline, and supply continuity in one mechanism.
🇵🇰 The Business Story
- Strategic sole-source: Mughal Steel is sole approved supplier for RM-IRON-01 (premium grade)
- Dual sourcing: Mughal + Aisha Steel both approved for RM-COAL-01 (risk mitigation)
- Quota split: 60% Mughal, 40% Aisha by volume (per long-term agreement)
- Seasonal switch: Buy from Mughal till 30-Jun (winter contract), switch to Aisha from 1-Jul (summer)
- Quality block: Mughal failed last QC — block them for 30 days, buy only from Aisha temporarily
- MRP automation: Production triggers MD03 → PR auto-created with right vendor based on Source List
🎯 What you'll learn
The Source Determination Priority Chain
When SAP processes a PR or PO with "Source Determination" active, it checks sources in this exact order:
| Priority | Source | T-Code | What triggers it |
|---|---|---|---|
| 1️⃣ | Quota Arrangement | MEQ1 | Allocates by % between approved vendors |
| 2️⃣ | Source List (Fixed) | ME01 | Single vendor flagged "Fix ✓" |
| 3️⃣ | Outline Agreement | ME31K (Contract) / ME31L (Sched. Agr.) | If referenced in source list |
| 4️⃣ | Info Record | ME11 | If only one info record exists for material+plant |
| 5️⃣ | Fall back | Manual | User must enter vendor |
Two Database Tables Behind All This
| Table | What it stores | Key fields |
|---|---|---|
EORD | Source list entries (current state) | MATNR + WERKS + LIFNR + EKORG + VDATU/BDATU (validity) + AUTET (MRP rel) + NOTKZ (block) + AGREEMENT |
EORDH | Source list change history (audit log) | Same as EORD + change timestamp + user |
EQUK / EQUP | Quota arrangement header / items | MATNR + WERKS + LIFNR + QUOTA |
EBAN | Purchase requisition items | FLIEF (Fixed Vendor) + EKORG (Purch Org) populated from source determination |
RM-IRON-01(ROH) — create stepsRM-COAL-01(ROH — same steps, different code/description) — how to create a ROH
🔧 Step-by-Step
📦 Sub-Scenario 14A — Activate Source List Requirement
14A — Make Source List MANDATORY for material · MM02
Why: When "Source List" flag is ON in Purchasing view, SAP rejects POs/PRs to vendors NOT in the source list. This enforces approved-vendor policy.
Action:
- MM02 → Material
RM-IRON-01 - Select view: Purchasing → Plant
PK01 - Find checkbox "Source list" (MARC-KORDB) → ✓ tick it
- Save → Local Object
💡 Alternative: Set as default for ALL materials via OMS2 or OMSK (Material Type config — "Source List Required" flag at material type level).
Verify: SE16N → table MARC → MATNR RM-IRON-01 → field KORDB should = X.
📦 Sub-Scenario 14B — Single Fixed Source (Strategic Sole-Sourcing)
14B — Mughal Steel as SOLE approved vendor for RM-IRON-01 · ME01
Business case: Premium-grade iron ore has only ONE approved vendor (Mughal Steel) — quality contract signed. No alternatives allowed.
Action:
- ME01
- Material:
RM-IRON-01· Plant:PK01→ Enter - Fill row in table:
Field Value Meaning Valid From Today Start of approval Valid To 31.12.9999Open-ended Vendor MUGHAL21Approved supplier POrg PKLOPakistan local purch org Fix ✓ ✓ (CHECK) ⭐ Marks as FIXED source — auto-picked in PR/PO MRP 1Relevant for MRP auto-PR creation Block blank Not blocked - Save → ✅ "Source list maintained successfully"
Effect: When you create PR with "Source Determination" ✓, SAP auto-picks MUGHAL21 — no manual entry needed.
📦 Sub-Scenario 14C — Multiple Approved Sources (No Fixed)
14C — Mughal + Aisha both approved, buyer chooses · ME01
Business case: For commodity-grade iron ore, multiple vendors are approved. Buyer picks based on current price/availability. No vendor is "preferred" — risk mitigation.
Action:
- ME01 · Material
RM-IRON-01· PlantPK01 - Add 2 rows:
Vendor POrg Fix MRP Valid From-To MUGHAL21PKLO☐ (NOT fixed) 1 Today → 31.12.9999 AISHA22PKLO☐ (NOT fixed) 1 Today → 31.12.9999 - Save
Effect in PR: When you tick Source Determination → SAP shows popup "Multiple sources found — choose" → buyer picks Mughal OR Aisha manually. POs to ANY other vendor will be REJECTED.
Use case in PakSteel: Commodity-grade materials where price flexibility matters more than supplier loyalty.
📦 Sub-Scenario 14D — Time-Dependent Source Switching
14D — Mughal till 30-Jun, Aisha from 1-Jul · ME01
Business case: PakSteel signed 6-month contracts. Mughal's contract ends 30-Jun. Aisha's contract starts 1-Jul. SAP should automatically switch vendor based on requirement date.
Action:
- ME01 · Material
RM-IRON-01· PlantPK01 - Fill table:
Valid From Valid To Vendor POrg Fix MRP 01.01.202630.06.2026MUGHAL21PKLO✓ 1 01.07.202631.12.2026AISHA22PKLO✓ 1 - Save → both periods saved with different Fixed vendors
Effect:
- PR created with delivery date 15-Jun-2026 → auto-picks MUGHAL21
- PR created with delivery date 15-Aug-2026 → auto-picks AISHA22
- No manual intervention — SAP reads the date and picks right vendor
Real Pakistani use: Pre-monsoon vs post-monsoon vendor contracts, fiscal-year-based vendor rotation, seasonal pricing.
📦 Sub-Scenario 14E — Block a Source Temporarily
14E — Mughal blocked for QC issue — buy only from Aisha · ME01
Business case: Last shipment from Mughal Steel failed quality inspection (sulfur content too high). Block Mughal as source for 30 days while they investigate. Aisha continues as alternate.
Action:
- ME01 · Material
RM-IRON-01· PlantPK01 - Find row for
MUGHAL21 - Find column "Blk" (Block) → click ✓ to tick
- Save
| Vendor | Fix | MRP | Blk | Status |
|---|---|---|---|---|
MUGHAL21 | ☐ | 0 | ✓ Blocked | Can't be picked |
AISHA22 | ✓ | 1 | ☐ | Active — auto-picked |
Effect: PRs auto-pick AISHA22. POs to MUGHAL21 will be rejected with error 06401 — Source not allowed.
Unblock after QC clears: Untick Blk → Save. Mughal active again.
💡 Pro tip: Block is INSTANT. Time-dependent block? Use Valid To = block date (better audit trail than Blk flag).
📦 Sub-Scenario 14F — Quota Arrangement (% Split)
14F — 60% Mughal + 40% Aisha by volume · MEQ1
Business case: Long-term contract says 60% of iron ore volume goes to Mughal, 40% to Aisha (vendor relationship management). SAP auto-allocates this split.
Step 1 — Activate Quota Usage on material:
- MM02 →
RM-IRON-01→ Purchasing view → PlantPK01 - Find field "Quota arr. usage" (MARC-USEQU) → enter value:
Value Meaning 1Quota applies to PRs 2Quota applies to POs 3Quota applies to scheduling agreements 4Quota applies to ALL (PR + PO + sched agr) ⭐ recommended - Save
Step 2 — Maintain Quota Arrangement (MEQ1):
- MEQ1 · Material
RM-IRON-01· PlantPK01 - Validity Start: Today · Validity End:
31.12.9999 - Fill quota items table:
P (Proc Type) S (Special Stock) Vendor Quota Allocated Quota Base Qty Maximum Quantity F(External Proc)blank MUGHAL21600 (auto) 0 (unlimited) Fblank AISHA22400 0 - Save
Step 3 — Test:
- ME51N → PR for 100 TO iron ore
- SAP creates ITEM 10 for 60 TO from Mughal · ITEM 20 for 40 TO from Aisha (auto-split)
- OR if "Quota Base Qty" is set per item, splits by base unit
Monitor quota: MEQ3 shows used/remaining quota per vendor. Useful for reporting.
Re-balance quota: If Mughal is at 80% used and Aisha at 20%, SAP biases future PRs to Aisha until rebalanced.
📦 Sub-Scenario 14G — Manual PR with Source Determination
14G — ME51N with auto-vendor selection · ME51N
Setup pre-req: Sub-scenarios 14A + 14B (or 14C/14F) completed.
Action:
- ME51N
- At top: tick checkbox "Source Determination" ✓
- Add item: Material
RM-IRON-01· Qty50TO · PlantPK01· SLRAWM· Delivery Date - Press Enter → SAP runs source determination logic
- Possible outcomes:
Source List state Behavior Only 1 fixed source ✅ Auto-fills Fixed Vendor + Purch Org + Info Record Multiple sources (no Fixed) Popup: "Choose vendor" — buyer selects Quota active Splits items per quota % No source list entry Error: "No source of supply found" - Save → ✅ PR created with auto-source
💡 To make Source Determination tick the default, set in Personal Setting button at top of ME51N → Default Settings tab.
📦 Sub-Scenario 14H — MRP-Driven Auto-PR with Source List
14H — MD03 single-material MRP run creates PR with auto-vendor · MD03
Business case: Production needs 200 TO of iron ore for next month. Stock is 50 TO. MRP runs nightly → detects shortage → creates PR automatically. Source List determines which vendor.
Pre-req: Source List entry MUST have MRP column = 1 (not just Fix flag).
Action:
- Pre-req: Material
RM-IRON-01has MRP type set (MM02 → MRP 1 view → MRP TypePDfor stochastic,VBfor reorder point, etc.) - Run MD03 · Material
RM-IRON-01· PlantPK01· Processing KeyNETCH· Create PR1(Always create PR) - Press Enter → MRP runs in foreground
- Result: PR auto-created for shortfall qty
- Check PR via MD04 · Material
RM-IRON-01· PlantPK01 - You'll see new PR with Fixed Vendor pre-filled from Source List
Important — MRP rules:
- MRP only considers source list rows with MRP indicator =
1 - If MULTIPLE rows have MRP=1 → MRP picks first by sort, OR splits per Quota
- If NO rows have MRP=1 → MRP creates PR WITHOUT vendor (buyer must add manually later)
- Fix flag is IGNORED by MRP — only MRP indicator matters!
📦 Sub-Scenario 14I — Source List + Outline Agreement Reference
14I — Source List points to existing Contract · ME31K + ME01
Business case: Mughal Steel and PakSteel signed a 12-month value contract MK-0001 for ₨50 crore worth of iron ore. All POs to Mughal should reference this contract (consume from agreement value).
Action:
- First create contract: ME31K · Doc Type
MK· Vendor MUGHAL21 · Purch Org PKLO · Item: RM-IRON-01, target qty 200 TO, net price 250000 PKR - Note Contract Number (e.g., 4600000123)
- ME01 · RM-IRON-01 · Plant PK01
- Edit Mughal row → fill "Agreement" column =
4600000123· "Item" column =10 - Save
Effect: Future POs to Mughal auto-reference contract → quantities count against contract → invoice verification validates against contract terms.
✅ Verification
Check Source List + Quota in the database:
- SE16N → Table
EORD· Filter MATNR =RM-IRON-01+ WERKS =PK01 - Check fields:
Field Meaning LIFNR Vendor # EKORG Purch Org VDATU / BDATU Valid From / To AUTET MRP relevant (1 = yes) NOTKZ Block indicator (X = blocked) FLIFN Fixed source indicator (X = fixed) EBELN / EBELP Linked contract # / item - For Quota: SE16N → Table
EQUK(header) +EQUP(items)
⚠️ Common Errors + Fixes
| Error | Cause | Fix |
|---|---|---|
| 06401 — Source not allowed | PO vendor not in source list, but Source List flag is ON | Add vendor to ME01 OR untick "Source List" flag in MM02 |
| 06405 — Source list entry has been blocked | Trying to use blocked vendor | Untick Block in ME01 OR use different vendor |
| 06424 — No source of supply found | No valid source list entry for date | Check ME01 Valid From/To covers PR delivery date |
| 06010 — Vendor not extended to Purch Org | Source list has vendor but BP/LFM1 not maintained for that POrg | BP → add Vendor (Purchasing) role for that Purch Org |
| Quota not splitting | Quota Usage in MM02 is blank or wrong value | MM02 → Quota Arr Usage = 4 for all docs |
| MRP not picking from source list | MRP indicator on source list row not set to 1 | ME01 → MRP column = 1 for the desired vendor |
🎓 Interview-Ready Answers
Q: Difference between Info Record and Source List?
A: Info Record (ME11) stores PRICE + conditions for a material-vendor-purchorg combination. Source List (ME01) stores APPROVED VENDORS list for a material-plant combination. Info Record answers "at what price?" — Source List answers "from whom can I buy?". You can have many Info Records (one per vendor) but only one Source List per material+plant.
Q: Difference between Fix flag and MRP indicator in Source List?
A: Fix flag = "This vendor is the preferred source for manual PR/PO creation." Only ONE vendor can be Fixed per period. MRP indicator = "Use this vendor when MRP auto-creates PRs." Multiple vendors can have MRP=1 (then MRP uses quota or picks first). Critically: Fix flag is IGNORED by MRP. Only MRP indicator matters for automation.
Q: How does SAP decide source priority?
A: Priority chain: (1) Quota Arrangement — if active, allocates by %. (2) Source List with Fix flag — single auto-pick vendor. (3) Outline Agreement referenced in source list — uses contract terms. (4) Info Record — if no source list, single info record can default the vendor. (5) Manual — buyer enters vendor. This chain is configured via SPRO → MM → Purchasing → Source Determination.
Q: How would you implement "approve only ISO-certified vendors" policy?
A: Three-layer approach: (1) Source List per material — only add ISO-certified vendors via ME01. (2) Activate "Source List Required" flag on materials in MM02 → blocks POs to non-listed vendors. (3) For audit: build Z-report joining EORD + LFA1 + custom ISO certificate fields. SAP standard alone enforces the source list rule. Additional governance via release strategy + workflow approval.
Q: Can you block a vendor for ALL materials at once?
A: Yes — three ways: (1) Block at vendor master level (BP → Status Blocked for purchasing or specific Purch Org) — affects ALL materials immediately. (2) Mass update Source List via ME0M (Mass Maintain Source Lists) — set Blk ✓ for all material rows of that vendor. (3) Time-bound: change Valid To = today in all source list entries via SE16N table update or LSMW. Method 1 (vendor block) is most common; method 2 lets you keep vendor active for some materials but block for others.
Q: What is ME0M and when to use it?
A: ME0M = Mass Maintenance of Source Lists. Lets you create/change source list entries for MULTIPLE materials at once. Use cases: (1) Onboarding new vendor across 50 materials. (2) Blocking a vendor across all materials they supply. (3) Extending validity dates after contract renewal. (4) Bulk-loading source lists during data migration. Saves hours vs material-by-material ME01.
Q: Can MRP create PR if Source List has no Fixed vendor?
A: Yes — MRP doesn't use Fix flag. MRP uses MRP indicator (= 1). If only one source list row has MRP=1, MRP picks that vendor. If multiple have MRP=1 AND Quota Arrangement active, MRP splits per quota. If multiple have MRP=1 but NO quota → MRP picks first valid row (alphabetical/numerical sort). If NO rows have MRP=1 → MRP creates PR without vendor (buyer must add manually after).
Q: How do you audit "who approved Mughal Steel as a vendor for iron ore?"
A: Source List has change history in table EORDH (Source List Change History). Query: SE16N → EORDH → Material RM-IRON-01 + Vendor MUGHAL21 → see all changes with user ID + timestamp. Combine with FK02 (vendor master) change docs for full audit trail. For real compliance, integrate with workflow approval (e.g., Vendor Onboarding Workflow) so additions to source list require manager approval before save.
🇵🇰 Pakistani Business Scenarios
- Steel mills: Mughal + Aisha + International Steels — quota by capacity (20/30/50%)
- Cement industry: Lucky Cement (sole for export), DG Khan (local) — time-dependent split by month
- Textile: NTC Mills (cotton), Gul Ahmed (yarn) — separated by material, both fixed
- FMCG: Engro Foods + Nestlé Pakistan + FrieslandCampina Engro — quota with seasonal rebalancing
- Banking IT: TPS + NIFT + 1LINK — service vendors with strict source list enforcement
- Oil & Gas: Schlumberger + Halliburton + WeatherFord — international + local quota with security clearance