πŸ’‘ Accounting 101 for SAP MM

You keep seeing G/L accounts, GR/IR, OBYC, cost centers, Balance Sheet, P&L in the setup steps and scenarios. This page explains what they actually are β€” plain words, everyday examples, no accounting background needed β€” runs one complete cycle from a goods receipt all the way to the financial statements, and ends with SAP cheat-codes. Read it once and every scenario clicks.

1. The one rule: money never vanishes, it moves

When you pay ₨500 for groceries: ₨500 leaves your wallet and ₨500 of groceries arrives. Two sides, equal. Accounting just writes both sides down every time. That's double-entry: every transaction touches two accounts by the same amount.

β–Ά Try it live: Posting Simulator β€” click postings and watch the T-accounts balance β€” see which create an FI document.

2. An "account" = a labeled bucket

The business tracks each thing in its own bucket: Cash, Inventory, "money we owe Mughal Steel". Think labeled envelopes. SAP gives each a number β€” e.g. 300000 = Inventory, 160000 = money owed to suppliers. The full list of buckets is the Chart of Accounts (ours = INT).

3. Debit & Credit = just "left" and "right"

Forget "debit = bad". They are simply the left and right side of an entry, equal amounts every time.

🧠 Cheat β€” "DEAD CLIC": DEAD = a Debit increases Expenses, Assets, Drawings Β· CLIC = a Credit increases Liabilities, Income, Capital. (Income = Revenue, Capital = Equity.)

πŸ”– Master table β€” every account type at a glance (bookmark this one):

Account typeExamples⬆ Increase with⬇ Decrease withNormal balanceReport
AssetsCash, Bank, Inventory, ReceivablesDebitCreditDebitBalance Sheet
ExpensesConsumption, Salaries, Rent, ConsultingDebitCreditDebitP&L
Drawings / DividendsOwner withdrawalsDebitCreditDebitEquity (contra)
LiabilitiesVendor/AP, GR/IR, Loans, Tax payableCreditDebitCreditBalance Sheet
Income / RevenueSales, Service revenue, Interest earnedCreditDebitCreditP&L
Capital / EquityOwner's capital, Retained earningsCreditDebitCreditBalance Sheet
Top 3 rows = DEAD (debit to increase) Β· bottom 3 = CLIC (credit to increase). Your "owe / leaving" gut-feel fits Liabilities & Assets; the odd one out is Income β€” a credit, but money coming in.
πŸ“– What the last two columns mean: Normal balance = the side an account naturally sits on (its home side); the opposite side is a red flag β€” e.g. a Bank in credit = overdrawn, a Vendor in debit = overpaid. Report = which statement it lands on: Balance Sheet (what you own & owe β€” carries forward each year) or P&L (this year's income βˆ’ expenses β€” resets to zero yearly).
🧠 Two handy gut-feels β€” and where they break:
β‘  "Debit = coming to us, Credit = leaving us" β€” true only for cash & goods (assets): Dr Inventory = stock in, Cr Bank = cash out. It flips for income (Cr Sales = money earned, coming IN β€” yet a credit) and liabilities (Cr Vendor = you owe more).
β‘‘ "Credit = we owe" β€” true only on a liability (Vendor, GR/IR); on an asset a credit just means it went down.
βœ… The rule that never breaks: DEAD CLIC (above).
πŸ” An expense is only ever debited β€” never credited. Its credit partner lives on another account and travels: Dr Expense / Cr GR/IR β†’ invoice Dr GR/IR / Cr Vendor β†’ payment Dr Vendor / Cr Bank. The credit "baton" passes GR/IR β†’ Vendor β†’ Bank, so it ends as cash leaving the bank; GR/IR & Vendor open then close to zero. (Stock consumption is the same shape: Dr Expense / Cr Inventory β€” the credit is the asset going down.)
Inventory (300000)
Debit (left)₨12,500,000 β¬… stock arrived
Credit (right)β€”
Relax β€” in MM you almost never type debits/credits yourself. SAP does it automatically via OBYC (explained in section 12). You only need to recognise the words when reading a posting.

πŸ–₯️ Reading a REAL SAP document β€” which line is Debit, which is Credit?

When you open a posted document, SAP shows a plain list of lines β€” no "Dr/Cr" words. Use this one rule:

No minus = Debit.  A trailing minus sign (βˆ’) = Credit.   SAP prints credits as a negative amount, e.g. 1,250,000.00-.

Example β€” a goods issue of ₨1,250,000 to a cost center appears on screen like this:

KeyAccountAmount on screen= which side
81400000 Consumption1,250,000.00Debit β€” expense up (charged to the cost center)
99300000 Inventory1,250,000.00βˆ’Credit β€” stock value down
How to open this screen in S/4HANA (the classic MB03 is now obsolete): from a goods movement, run MIGO β†’ Display Β· Material Document β†’ the header "Doc. info" tab β†’ "FI Documents" β†’ double-click Accounting document. To list a G/L account's postings instead, use FBL3N β€” and set line-item status = "All items" with today's date, or it shows nothing.

4. The two reports every account feeds: Balance Sheet & P&L

This is the big one. Every single G/L account rolls up into one of two reports:

🏦 Balance Sheet β€” PakSteel, 30 Jun (a snapshot)

Bank (asset)₨2.0M
Inventory (asset)₨12.5M
= Total you OWN₨14.5M
Owe supplier (liability)₨12.5M
Owner's equity₨2.0M
= Owe + Equity₨14.5M βœ“

πŸ“ˆ P&L β€” PakSteel, June (a period)

Sales revenue₨5.0M
βˆ’ Cost of goods sold(₨3.0M)
βˆ’ Salaries, power…(₨1.0M)
= Profit₨1.0M
Why an MM consultant must know this: receiving stock only moves the Balance Sheet (one asset/liability swaps for another) β€” it does not create profit. The P&L is hit only when stock is consumed or sold. That single rule explains half the postings you'll ever see.

5. Every G/L is one of two kinds β€” and "default vs created"

Because of section 4 (the two reports), in SAP each G/L account is flagged (in FS00) as either:

KindHoldsAt year-endExamples
Balance Sheet a/cAssets, liabilities, equityCarries over (your bank balance doesn't reset)300000 Inventory, 160000 Payables, 113100 Bank
P&L a/cIncome & expensesResets to 0; the year's profit is pushed into equity400000 Consumption, 800000 Sales
🧭 Creating a new G/L? Ask one thing: "Is this about something I HAVE / OWE, or money I SPEND / EARN?"
  • HAVE / OWE β†’ Balance Sheet β†’ account type X  (cash, bank, stock, what you owe a vendor)
  • SPEND / EARN β†’ P&L β†’ account type P (primary cost/revenue)  (consulting, salaries, sales)
Foolproof shortcut β€” the account number's first digit: 1 / 2 / 3 = have/owe β†’ X Β· 4 = spend β†’ P Β· 8 = earn β†’ P. So just copy a template that starts with the same digit and the type fills itself in. (The rare types N, S, C are specialists β€” ignore them until you actually meet one.)

Default (pre-delivered) vs created

6. The General Ledger (G/L) = the master notebook

The G/L holds every account and its running total. Every posting from any module ends up here, and at month/year-end the G/L is simply sorted into the Balance Sheet and P&L (section 4).

7. Sub-ledger & "reconciliation account" = detail vs summary

You buy from 100 suppliers. Each has their own detailed page (a sub-ledger). To avoid 100 lines in the master book, all of them roll up into one summary line in the G/L β€” the reconciliation account 160000 "Trade Payables".

🧠 Everyday version: every friend who owes you has a note in your phone (sub-ledger); the single total "people owe me ₨X" is the reconciliation account.

8. The handful of accounts you meet in MM

AccountReportIn plain words
300000 InventoryBS assetStuff sitting in your warehouse
191100 GR/IRBS transitTemporary "pending" account between goods & bill (see section 9)
160000 Trade PayablesBS liabilityMoney you owe suppliers
113100 BankBS assetCash in the bank
400000 ConsumptionP&L expenseMaterial used up in production β€” a real cost
800000 Sales revenueP&L incomeMoney earned selling goods

9. GR/IR β€” the one that confuses everyone

Goods often arrive before the invoice. For that gap, SAP parks the amount in GR/IR = "Goods Received / Invoice Received". The goods receipt fills one side; the invoice empties it. When both happen, GR/IR nets to zero.

🧺 Everyday version: a "pending tray". Goods receipt drops a slip in; the invoice takes it out. If the tray isn't empty, a quantity or price doesn't match.

10. What is "Controlling" (CO)? Cost centers & profit centers

A cost center is a bucket for one department's costs (IT, Production, Admin).

🏭 Everyday version: the electricity bill is one FI expense, but CO splits it so you know how much the Karachi plant used vs the head office. Same money, sliced by "who used it".

A profit center goes one step further: it collects costs AND revenue, so you can see a mini Profit & Loss for a slice of the business β€” a product line, a division, a plant β€” even though legally it is all one company code.

Cost centerProfit center
Answers"WHERE was money spent?""Which part of the business MADE money?"
CollectsCosts onlyCosts and revenue β†’ a mini P&L
ExampleIT dept Β· Karachi ProductionConstruction-Steel line Β· Auto-Parts line Β· or a whole plant
Create withKS01KE51
🏭 Everyday version: PakSteel is one legal company (PSPK), but management wants to know which line earns more β€” construction steel or auto parts. Make each line a profit center and you get a separate profit figure for each, without splitting the company. A cost center (e.g. Production) usually rolls up into a profit center.
Why an MM consultant cares: when you issue stock to a cost center (movement 201), SAP also stamps the line with a profit center β€” and a segment (a higher grouping used for IFRS segment reporting). That's how management profitability reports work, and it's why a brand-new company code can refuse to post with "segment not filled" until the profit center & segment exist β€” exactly the gate hit in Setup Step 19 (profit center PSPK-PC, hierarchy PSPKPCH, dummy DUMMY-PK, segment SEG-PK).

11. The complete cycle β€” from a goods receipt to the financial statements

Here is everything an MM consultant needs, one connected story. PakSteel, over June. Watch each posting land on the BS or P&L:

#Event (T-code)Debit β¬…Credit ➑Hits
1Order 50t iron (ME21N)no posting β€” just a promiseβ€”
2Goods receipt (MIGO 101)Inventory 300000 ₨12.5MGR/IR 191100 ₨12.5MBS only
3Invoice (MIRO)GR/IR 191100 ₨12.5MPayables 160000 ₨12.5MBS only
4Pay supplier (F-53)Payables 160000 ₨12.5MBank 113100 ₨12.5MBS only
5Issue 30t to production (MIGO 201)Consumption 400000 ₨7.5MInventory 300000 ₨7.5MP&L + BS
6Sell finished goods (VF01/billing)Customer/Bank ₨11MSales 800000 ₨11MP&L + BS
7Cost of the goods soldCOGS ₨7.5MInventory/FG 300000 ₨7.5MP&L + BS

Notice steps 2–4 (buy & pay) never touch the P&L β€” they only reshuffle the Balance Sheet. Profit appears only when you consume (5) and sell (6–7).

πŸ“ˆ Resulting P&L (June)

Sales (step 6)₨11.0M
βˆ’ Cost of goods sold (step 7)(₨7.5M)
= Gross profit₨3.5M

🏦 Resulting Balance Sheet (30 Jun)

Inventory left (50βˆ’30 sold/used)₨5.0M
Bank (after pay + sale)βˆ’β‚¨1.5M*
Payables₨0
Profit β†’ into Equity₨3.5M
The link between the two reports: the profit on the P&L flows into Equity on the Balance Sheet at period-end. That's the loop β€” every MM goods movement ultimately nudges one or both of these two statements. (*illustrative figure to keep the example simple.) See it live: Scenario 1 (steps 2–4) Β· Scenario 3 (step 5).

12. Now the SAP part β€” why all those settings exist

SAP posts thousands of these entries a day without a human writing each one. To do that it needs the rules set up once β€” that's what the setup steps are:

SettingWhy it exists (plain words)Where
Chart of AccountsThe master list of which accounts are allowed (and BS vs P&L)Step 1
OBYCThe translator: "goods movement 101 + material class 3000 β†’ debit Inventory 300000, credit GR/IR 191100." Turns a warehouse action into the correct accounting entry, automatically.Step 15
Ledger & Document SplittingKeep the books balanced and support both IFRS and local rulesStep 1
Controlling Area + Cost CentersGive non-stock purchases a "which department" bucket to chargeStep 19
ModuleIts job in the chain
MMThe goods movement that triggers everything
FIVia OBYC, writes the debit/credit into the G/L β†’ Balance Sheet & P&L
COIf it's an expense, charges the right cost center
MLUpdates the material's stored value

14. πŸ† SAP cheat-codes β€” remember it all

The accounting equation (never breaks):   Assets = Liabilities + Equity. Every document balances to zero.
DEAD CLIC:   Debit ↑ ExpensesΒ·AssetsΒ·Drawings  |  Credit ↑ LiabilitiesΒ·IncomeΒ·Capital.
BS or P&L? Ask "does it survive year-end?"   Own/Owe/Equity β†’ Balance Sheet (carries over).   Earn/Spend β†’ P&L (resets).
MM golden rule:   Receiving/paying = Balance Sheet only.   Consuming/selling = hits the P&L.
GR/IR must end at zero.   If it doesn't β†’ quantity or price mismatch between GR and invoice.
7-second posting read:   "What did we gain (Debit) and what did we give up / now owe (Credit)?"

OBYC transaction keys β€” explained for a newcomer

First, what is OBYC? It's SAP's "which account?" rulebook. When you post a goods movement, SAP must pick the right G/L accounts by itself (you never type them). OBYC is the table that holds those rules β€” and the screen where you set them is the transaction code OBYC.

So what are these 3-letter codes? Each one is a "transaction key" β€” think of it as a labelled slot for one kind of posting. "BSX" = the slot for the inventory side, "WRX" = the slot for GR/IR, and so on. When a goods movement happens, SAP figures out which slots it needs and looks up the account you put in each slot.

Can you change them? Two parts: πŸ”’ the 3-letter keys themselves are fixed β€” SAP ships them, you can't invent or rename them. ✏️ What you do set (in OBYC) is which G/L account number sits in each slot β€” and that can differ by chart of accounts + valuation class (so raw materials class 3000 can use a different inventory account than finished goods). That account-mapping is the whole job.

Where are they used? Every goods movement β€” the GR in Scenario 1, the issue in Scenario 3, returns, STO… SAP reads the material's valuation class + the movement type, finds the keys, and posts to their accounts automatically. Full config walkthrough: Setup Step 15 β€” OBYC.
Key (hint)In plain words β€” what this slot is forFires when…Example G/LHits
BSX
"stock"
The inventory side β€” stock value going up or down.Any goods receipt / stock posting300000BS
WRX
"GR/IR"
The temporary GR/IR "pending tray" between goods and invoice.Goods receipt (filled) β†’ invoice (emptied)191100BS
GBB / VBR
offset + reason
The offsetting side of a goods issue. The 2nd code (VBR) says the reason: VBR = consumption to a cost center.Issue to cost center (mvt 201) / order (261)400000P&L
GBB / VAXSame GBB slot, reason = cost of goods sold when goods ship to a customer.Goods issue for a sale (mvt 601)COGS a/cP&L
PRD
"price diff"
Price difference β€” the gap when a material uses a fixed Standard price (S) but the real cost differs.GR/invoice on an S-price materialvariance a/cP&L
KBS
"acct-assigned"
Account-assigned PO: here OBYC steps aside β€” the account comes from what you typed on the PO (a cost center, asset or WBS), not from OBYC.PO line has an account assignment (K/A/P…)the PO's accountdepends
🧠 One-line memory: OBYC = "for THIS kind of movement, post to THAT account." You set the accounts once; SAP repeats them forever. (And if a goods movement ever errors with "account determination … not possible", it means a slot is empty in OBYC.)

Movement β†’ posting cheat sheet

MvtWhatPosting
101Goods receiptInventory Dr / GR-IR Cr
122 / 161Return to vendorInventory Cr / GR-IR Dr
201Issue to cost centerConsumption Dr / Inventory Cr
261Issue to production orderConsumption Dr / Inventory Cr
311Transfer (same plant)no FI β€” just moves location
601Goods issue for a saleCOGS Dr / Inventory Cr

15. Mini-glossary (one line each)

Balance Sheet

A snapshot of what the company owns, owes and is worth at one moment. Assets = Liabilities + Equity.

P&L (Profit & Loss)

Income minus expenses over a period = profit. Resets each year.

G/L account

A numbered bucket in the master ledger; flagged as a Balance Sheet or P&L account.

Debit / Credit

The left / right side of an entry. Equal amounts every time. Not "bad/good".

Chart of Accounts

The official list of all allowed G/L accounts (ours = INT).

Reconciliation account

The one G/L summary line that all supplier/customer sub-ledger balances roll up into (160000 payables).

Sub-ledger

The detailed per-supplier (or per-customer) records behind a reconciliation account.

GR/IR

"Goods Received / Invoice Received" β€” the temporary account bridging goods and invoice. Should net to zero.

OBYC

The SAP rulebook that auto-maps a goods movement to the right G/L accounts.

Cost center

A bucket that collects one department's costs (e.g. Production). Answers "where was money spent?" Created with KS01.

Profit center

A slice of the business that collects both costs and revenue β€” so you get a mini P&L for a product line, division or plant inside one company code. Answers "which part made money?" Created with KE51.

Segment

A higher-level grouping above profit centers, used for external segment reporting (IFRS 8). In S/4 every posting line can carry one; document splitting balances the books per segment.

Controlling area

The CO "company" that owns cost centers & profit centers; must be linked to the company code.

Material Ledger

The part of S/4 that stores and updates each material's value.

βœ… You're ready
Next time a scenario says "Dr 300000 Inventory / Cr 191100 GR/IR" you'll know it's a Balance-Sheet-only move; when it says "Dr 400000 Consumption" you'll know the P&L just took a hit. Jump back to the Setup Guide or Scenarios.