Scenario 5 — Consumable Direct Purchase (Office Supplies NLAG)
K (ME21N) → goods receipt straight to expense (MIGO, no stock, no storage location) → invoice (MIRO) → payment (F-53, vendor cleared). Hit an error? Every message has its plain cause and fix in the Troubleshooting Center.
📊 Business Case — When & Why You Use This
A consumable direct purchase is for low-value items that are used up immediately and never worth tracking as inventory — office paper, gloves, cleaning supplies, small hand tools. You buy them with a non-stock material (NLAG) and account assignment K, so the very act of receiving them (goods receipt) posts the cost straight to expense on a cost center. There is no inventory, no separate goods issue, and no later consumption step.
🕐 When to use it
Routine office and shop-floor consumables a department buys for itself — stationery, PPE, light bulbs, tea/pantry stock — where stock-keeping would cost more effort than the items are worth.
❓ Why it matters
It keeps the material master and inventory ledger clean. You still get a proper PO and three-way match for control, but you skip valuation, stock counts, and consumption postings for trivial items.
👤 Who triggers it
The using department (here, Finance) raises the PO against its own cost center; the storekeeper or requester confirms receipt; AP invoices. No inventory team involvement.
🔁 The key distinction
NLAG vs ROH. A stocked material (ROH) hits inventory at GR and becomes expense only on a later goods issue. NLAG + account assignment K becomes expense at GR — there is nothing to issue afterward.
💰 Financial Impact — The Easy-Money Example
Finance orders 100 reams of A4 paper @ ₨800 = ₨80,000. Compare this with the stocked-material flow you saw in Scenario 1: there, buying was just an asset swap. Here the expense lands the instant the paper arrives:
The big idea: for a stocked material the expense waits for a goods issue; for an NLAG consumable the goods receipt itself is the expense event. One movement (101) does what two would for stock — it both "receives" and "consumes" in a single posting. MIRO afterward just clears GR/IR against the vendor payable.
🇵🇰 The Business Story
🎯 What you'll learn — NLAG vs ROH, the key difference
- NLAG (Non-stock material) = no inventory tracking. No MBEW, no MARD. Each PO posts directly to expense at GR.
- ROH = stocked, valued. Inventory account hit at GR; consumption posted later via separate GI.
- Use NLAG for low-value items consumed immediately: office supplies, cleaning materials, small parts.
- Account Assignment
K(cost center) is mandatory on every NLAG PO.
| Stock item (ROH) | Trivial consumable (NLAG) | |
|---|---|---|
| Material master | Full — incl. Accounting view (valuation class, price) | Lean — Basic + Purchasing, no Accounting view |
| Valuated? (MBEW) | Yes — value tracked, changes per receipt | No — never valued as an asset |
| Stock count (MARD) | Yes — per storage location | No — not stocked |
| PO account assignment | None (goes to stock) | K (cost center) — mandatory |
| At GR (mvt 101) | Inventory Dr / GR-IR Cr — asset, no cost yet | Expense 410000 Dr (cost center) / GR-IR Cr — cost now |
| Later goods issue? | Yes — a 201/261 makes it expense | None — already expensed at GR |
| Becomes an expense | Later, at goods issue | At GR (receipt = consumption) |
| Invoice (MIRO) | Same for both → GR-IR Dr / Vendor Cr | |
| PO + 3-way match control? | Yes for both — NLAG just skips the inventory overhead | |
That's the "clean ledger" idea: you keep the PO + three-way match (control), but skip valuation, stock counts and the separate consumption posting — because for trivial items the goods receipt is the consumption. Spectrum: ROH (valued+counted) → UNBW (counted, not valued) → NLAG (neither, expense at GR) → service (no material, expense at SES acceptance).
OFFC-PAPER-01 (NLAG, non-stock) — create steps. New to MM01? the why behind every field.
- Org structure + MM-FI integration are built — Setup Guide.
- The posting-period and number-range gates are open (this scenario posts a goods receipt) — Stock-Readiness Checklist.
- A cost center (
PKADM-FIN) under a controlling area exists — Setup Step 19. - A direct-postable expense G/L set as a cost element (e.g.
470000) exists — FI vs CO. - The vendor (Business Partner) exists — BP Guide.
- The material exists (NLAG, non-stock) — Material Guide.
🔧 Step-by-Step
| Step | T-code | What it does | Why this step exists |
|---|---|---|---|
| 5.1 | MM01 | Create the paper as NLAG — non-stock, never valued | An item needs a master record before ordering |
| 5.2 | ME21N | PO with acct K — ₨80,000 committed to Finance's cost center | A promise needs a document |
| 5.3 | MIGO | Receive paper (mvt 101) — no stock, expense posts now | For consumables, receiving IS consuming |
| 5.4 | MIRO | Enter vendor's bill — GR/IR clears, payable appears | Bill must match PO and GR before paying |
| 5.5 | F-53 | Pay Book House — bank down, vendor cleared | A purchase isn't finished until the vendor is paid |
5.1 — Create NLAG Material · MM01
⚡ This step will: create the paper's master record — a lean, non-stock entry SAP can order but will never count or value as stock. 📄 paper: material master record · 📦 stock: no change · 💰 money: no posting
Do: MM01 → fill the first screen, pick the two views, fill them, Save. Each field teaches something:
| Field | Fill | What the field asks (plain words) | Why we choose this — and the impact if wrong |
|---|---|---|---|
| Material | OFFC-PAPER-01 | Under what NAME will this item live in SAP? Like saving a contact in your phone — one short code stands for the whole item. | Every later document (PO, GR, invoice) calls the paper by this code, so pick a clear one. Impact: a vague or reused code and a buyer picks the wrong item on the PO. |
| Industry | M | Which industry's screen set should open? It decides which fields you see. | We use M across this whole academy, so every material's screens look the same. Impact: it cannot be changed after creation — a different value here and this material's screens stop matching your other practice data. |
| Material Type | NLAG | How should SAP TREAT this item — count it as stock, or not? | NLAG = non-stock: no inventory record, no value record, so each purchase goes straight to expense — right for paper used up at once. Impact: pick ROH by mistake and SAP expects a price/Accounting view and holds the paper in stock instead of charging Finance's cost center. |
| Views | Basic Data 1 + Purchasing only | Which "pages" of the material record do you want to fill? Views are like pages in a notebook — one page per department. | Basic Data + Purchasing are all an NLAG needs. Impact: there is deliberately no Accounting view — an NLAG is never valued, so it has no price page; its value hits expense at receipt instead. |
| Description | A4 Office Paper 80gsm 500 sheets | What plain-language name should people see in lists? The code is for SAP; this line is for humans. | A clear description lets colleagues find the right item when they search. Impact: leave it vague and staff cannot tell one paper from another. |
| Base Unit | EA | In WHAT unit does SAP count this item? EA = each (counted piece by piece). | Every PO and GR quantity uses this unit — 100 reams = 100 EA. Impact: it is very hard to change once documents exist, so a wrong unit mis-states every future quantity. |
| Purch Group | OFC (or RMT) | Which buyer's desk handles this item? | A purchasing group is the buyer/team code — it routes the work and shows up in reports. Impact: the wrong group sends the task and its reports to the wrong desk. |
Save.
5.2 — Direct PO with Account Assignment K · ME21N
⚡ This step will: turn the need into a binding promise to the vendor — ₨80,000 committed, and the K assignment already decides the cost will land on Finance's cost center at receipt. Nothing arrives and nothing posts yet. 📄 paper: purchase order · 📦 stock: no change · 💰 money: no posting
Do: ME21N · Vendor: any local stationer (e.g., create new BP) → fill Line 1 → Item Detail → Account Assignment tab → Save.
The ME21N screen has 3 zones — ① the Header (doc type, vendor, Org Data tab), ② the Item overview grid (one ROW per line — the account-assignment A column and material/qty/price columns), ③ the Item detail tabs below, where the Account Assignment tab carries the cost center + G/L for the selected line.
| Where on screen · Field | Fill | What the field asks (plain words) | Why we choose this — and the impact if wrong |
|---|---|---|---|
| Item grid · Account Assignment Category (column A) | K (Cost Center) | WHO carries this cost — where does the value LAND at goods receipt? Blank = it goes to stock; a letter charges it somewhere instead. | K = no stock: charge a cost center (a department's expense pocket) the moment the paper arrives. This one letter makes the GR post the ₨80,000 as expense, not inventory. Impact: leave it blank and the receipt errors — a non-stock item has nowhere to go without an account assignment. |
| Item grid · Item Category (column I) | blank | What KIND of line is this — normal goods, a service, or subcontracting? | Blank = a normal goods line, which paper is. (Compare: D = service in Scenario 4, L = subcontracting in Scenario 9.) Impact: type D here by mistake and SAP shows a Services tab and wants a service entry sheet instead of a goods receipt. |
| Item grid · Material | OFFC-PAPER-01 | Which item is being ordered? | The NLAG code from 5.1. SAP then pulls its description, unit and purchasing data from the material record, so you do not retype them. Impact: a wrong code orders the wrong item and pulls the wrong defaults. |
| Item grid · Quantity | 100 EA | HOW MANY are you ordering, and in which unit? | 100 reams = 100 EA, the base unit from 5.1. Quantity × price makes the order value. Impact: a wrong quantity orders too much or too little and mis-states the ₨80,000 committed. |
| Item grid · Net Price | 800 PKR | What is the price of ONE unit? | ₨800 per ream × 100 = ₨80,000, the figure in the money story. Impact: a wrong price flows straight into the expense charged to Finance's cost center. |
| Item grid · Plant | PK01 | WHERE is it delivered? The receiving site. | PK01 is the Karachi site that receives the paper. Impact: the wrong plant delivers to the wrong place and can pull the wrong cost-center defaults. |
| Item detail → Account Assignment tab · Cost Center | PKADM-FIN | WHICH department's budget pays for this? | Finance ordered the paper, so Finance's cost center (PKADM-FIN) carries the ₨80,000 — this is how each department sees its own spending, not one big pot. Impact: the wrong cost center charges another team's budget for Finance's paper. |
| Item detail → Account Assignment tab · G/L Account | 410000 (Office Supplies Expense) | On which PAGE of the company's account book is the expense written? A G/L account = one page in the ledger. | 410000 = Office Supplies Expense, the correct page for stationery. It is usually auto-proposed from the material group or account-assignment category, so you just accept it. Impact: a wrong G/L files the cost on the wrong page and distorts expense reports. |
⚠️ Error "G/L account XXXXXX has not been created in company code" — count the zeros (INT accounts are 6 digits), or the company-code segment was never created? → plain cause & fix
⚠️ Error "Define a cost element category for account … (controlling area PSPK)"? → plain cause & fix
⚠️ Warning "Can delivery date be met?" — harmless lead-time note. → plain cause & fix
Save.
5.3 — GR with mvt 101 — posts directly to expense (NO inventory)
⚡ This step will: bring the paper IN — but nothing enters stock: the receipt itself charges Finance's budget, so this one posting both "receives" and "consumes". 📄 paper: material + accounting document · 📦 stock: no change (NLAG is never stocked) · 💰 money: Dr Expense 410000 (PKADM-FIN) / Cr GR/IR
The MIGO screen has 3 zones — know them and every instruction makes sense: ① the top bar (the two action dropdowns + movement type), ② the header tabs (General/Vendor: dates, delivery note), ③ the item area = the overview grid (one row per line) + the item-detail tabs below it (Material · Quantity · Where · Purchase Order Data · Partner · Account Assignment) with ☑ Item OK at the very bottom.
| Where on the screen · Field | Fill | What it asks (plain words) | Why — and the impact if wrong |
|---|---|---|---|
| Top bar · Dropdown 1 (Action) | A01 Goods Receipt | What are you DOING — receiving, issuing, transferring? | Paper is arriving → Goods Receipt. Impact: the wrong action shows the wrong screen and movement types. |
| Top bar · Dropdown 2 (Reference) + the field beside it | R01 Purchase Order + your PO number → Enter | Against WHICH paper document is this happening? | The PO brings the item, quantity, price and the K-assignment with it — you type almost nothing. Impact: no reference = a manual "other" receipt with none of the PO's data or matching. |
| Top bar, right end · "GR goods receipt" | 101 (auto) | Which KIND of movement is this? | 101 = goods receipt for a PO — proposed automatically. Leave it. (Also visible per item on the Where tab, labelled "GR for acct assgmnt".) |
| Header · General tab · Document / Posting Date | today (proposed) | When did this happen / in which period does it post? | Defaults are right for a same-day receipt. Impact: a wrong posting date can land in a closed period (M7 053). |
| Item detail → Quantity tab (also the grid's "Qty in UnE" column) | 100 EA (proposed) | How much actually arrived? | Reduce it if the truck brought less (partial delivery). Impact: confirming more than arrived charges Finance for paper it never got. |
| Item detail → Where tab · Storage Location | field is ABSENT — correct! | Where should the stock be put? | Nothing enters stock (NLAG + K), so SAP removes the field entirely — you won't find it, and the SLoc column in the item grid stays empty. On this screen the Where tab shows only Movement 101 "GR for acct assgmnt", Stock type and Plant. Impact: if a Storage Location field DOES appear, you're on a stock material by mistake. |
| Item detail → Account Assignment tab | shows 410000 + PKADM-FIN, read-only | Where will the cost land? | Decided on the PO — MIGO only executes it. Check it reads right before posting. |
| Bottom of item detail · ☑ Item OK (also the "OK" checkbox column in the grid) | ✅ tick | Do you confirm THIS line? | Impact: forget the tick and Post fails with "no items selected" — the #1 MIGO beginner error. |
| Top toolbar · Check → Post | lights green → Post → note the document number | Any problems before it becomes real? | Check simulates first; Post writes the material + accounting documents. |
What changes at this exact moment (the whole point of the scenario):
| Office Supplies Expense (410000) | Dr 80,000 | Cost Center PKADM-FIN — Finance's budget is charged NOW |
| GR/IR (191100) | Cr 80,000 | "we owe Book House" — parked until the invoice |
| Stock | nothing | no inventory record is created at all |
In Scenario 1 the iron became property (stock) at GR, and only a later issue (mvt 201) turned it into a cost. Here the paper was never property — it became a cost the second it arrived. Nothing is in stock → nothing to issue; departments just take paper from the cupboard. Check it: MMBE shows nothing for OFFC-PAPER-01 — that's correct, not a bug (MB51 still lists the 101 movement).
See the posting: ME23N → your PO → Purchase Order History tab → click the material document → Doc. Info → FI Documents → the two lines above.
5.4 — MIRO — the vendor's bill (same flow as Scenario 1)
⚡ This step will: record the vendor's bill: the GR/IR IOU clears and a real debt to Book House appears. 📄 paper: invoice document · 📦 stock: no change · 💰 money: Dr GR/IR / Cr Vendor
The MIRO screen has 3 zones — ① the Header tabs (Basic Data · Payment · Details · Tax), ② the PO-reference / allocation area that pulls the ordered line in, ③ the item list; the Balance indicator sits top-right and must read 0.00 · green before you Post.
| Where on screen · Field | Fill | What it asks (plain words) | Why — and the impact if wrong |
|---|---|---|---|
| Header · Basic Data tab · Invoice Date | today (the date on the vendor's bill) | When did the vendor write this bill? | Drives payment terms/due date. Impact: a wrong date shifts when the payment falls due. |
| Header · Basic Data tab · Reference | the bill number, e.g. BH-001 | What number does the VENDOR call this bill? | The audit trail between your books and theirs. Impact: without it, matching disputes later is painful. |
| Allocation area · PO Reference tab · Purchase Order | your PO number → Enter | Which purchase is being billed? | Loads the line: 80,000 expected from the GR. Impact: no reference = no three-way match protection. |
| Header · Basic Data tab · Amount | 80,000 | What is the TOTAL on the vendor's paper bill? | You type the bill's total; SAP compares it with what PO+GR promised. Tax code I0 = 0%, so gross = net. Impact: a different amount shows as a balance ≠ 0. |
| Header · top-right · Balance indicator | must be 0.00 · green | Does the bill match what PO and GR already promised? | Zero = the three-way match (PO ↔ GR ↔ invoice) agrees → Post. Impact: red balance = something differs — check qty/price before forcing anything. |
⚠️ Error "Specify payment period baseline date"? → plain cause & fix
Posting: Dr GR/IR 191100 · 80,000 (the tray is emptied) / Cr Vendor Book House · 80,000 (now a real payable — payment itself = F-53, as in Scenario 1).
The satisfying closing check: KSB1 → Cost Center PKADM-FIN → Execute → the ₨80,000 paper cost sits on Finance's pocket. FI knows WHAT (supplies), CO knows WHO (Finance) — see FI vs CO in Easy Words.
5.5 — Pay the vendor · F-53
⚡ This step will: pay the debt: Book House's account clears and the bank shrinks by ₨80,000. 📄 paper: payment document · 📦 stock: no change · 💰 money: Dr Vendor / Cr Bank 113100
Do: F-53 → fill the header (dates + company code) → Bank data (which cash account + how much) → Open Item Selection (the vendor) → Process Open Items → double-click the invoice so Not assigned = 0.00 → Post.
⚠️ Error "F-53 asks for a House Bank and the F4 list is empty"? → plain cause & fix
⚠️ Error "An entry is required in Value date field for account …"? → plain cause & fix
| Where on screen · Field | Fill | What it asks (plain words) | Why — and the impact if wrong |
|---|---|---|---|
| Header · Document Date / Posting Date | today (proposed) | When is the payment made / in which period does it post? | Same-day defaults are right. Impact: a wrong posting date can land in a closed period. |
| Header · Company Code | PSPK | WHOSE books release the cash? | PSPK owes Book House and pays. Impact: the wrong company code pays from the wrong firm's bank. |
| Bank data · G/L Account + Amount | 113100 · 80,000 | From WHICH cash account, and HOW MUCH leaves? | 113100 = Bank Main Account, the same bank G/L as Scenario 1; ₨80,000 is the full payable from 5.4. Impact: a wrong account credits the wrong cash line; a wrong amount leaves a balance that will not post. |
| Open Item Selection · Account (vendor) | Book House (the vendor from 5.4) | WHOSE unpaid bills are we clearing? | The stationery supplier that carries the payable MIRO booked in 5.4. Impact: the wrong vendor shows no matching open item. |
| Button · Process Open Items | click | Show this vendor's open (unpaid) invoices. | Opens the open-items list so you can pick the exact invoice. Impact: skip it and there is nothing selected to pay. |
| Open-items screen · the invoice line | double-click it → Not assigned = 0.00 | WHICH bill exactly are you paying? | Activating the line makes Assigned = Amount Entered, so Not assigned falls to 0. Impact: if it is not 0 the payment is unbalanced and will not post. |
| Toolbar · Post | save → payment doc number | Commit the payment? | Post writes the FI document and clears the invoice. Impact: nothing is real until you Post. |
What changes at this exact moment: the ₨80,000 leaves the bank and Book House's account goes to zero; the invoice's open item flips to CLEARED:
| Vendor payable (via Book House) | Dr 80,000 | the payable is cleared |
| Bank (113100) | Cr 80,000 | cash leaves the bank |
The ₨80,000 to Book House falls due on the Due-on date the invoice worked out in 5.4 (baseline date + payment terms). In real life you pay on or before that date to stay in good credit — and early enough to catch any discount the terms offer. On our practice system we simply post the payment straight away. Either way the mechanics are the plain F-53 from Scenario 1: Vendor Dr / Bank Cr.
Verify: FBL1N → Book House → the invoice now shows as cleared, no open items left. Full F-53 walkthrough with every field: Scenario 1.
🚨 Common Errors
| "Material OFFC-PAPER-01 is non-stock — Account Assignment required" | Add Acct K + cost center on PO line · registry |
| "GBB VBR for VKL not found" | OBYC → GBB → VBR row missing for cost center consumption — add G/L 410000 · registry |
✅ Verification — Confirm Scenario 5 Worked
- MB51 → filter by OFFC-PAPER-01 → the 101 movement record appears (no stock balance)
- MMBE → no stock line for OFFC-PAPER-01 (NLAG isn't valued/stocked)
- S_ALR_87013611 → Cost Center PKADM-FIN shows the 80,000 expense debit
- FBL3N → G/L 410000 (Office Supplies) debit; GR/IR cleared after MIRO
🎓 Interview-Ready Answers
Q: What is the difference between NLAG and ROH material types?
ROH is a stocked, valued raw material — it has Accounting views (MBEW), hits an inventory G/L at goods receipt, and becomes expense only on a later goods issue. NLAG is a non-stock material with no valuation and no MARD/MBEW — every purchase posts directly to expense at GR via mandatory account assignment. Use NLAG for low-value items consumed on arrival.
Q: Why does the goods receipt for an NLAG item post no inventory?
Because the PO line carries account assignment K (cost center) and the material is non-stock, SAP treats receipt as immediate consumption. Movement 101 debits the expense/consumption G/L (410000) on the cost center and credits GR/IR — there is no inventory account and no MMBE stock to update.
Q: How is the expense G/L determined on a consumable PO?
Through OBYC transaction key GBB with general modification VBR (consumption to a cost center), combined with the material group / valuation, which resolves to the consumption G/L (here 410000). If that VBR row is missing you get a "GBB VBR not found" error at GR.