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.
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.
π Master table β every account type at a glance (bookmark this one):
| Account type | Examples | β¬ Increase with | β¬ Decrease with | Normal balance | Report |
|---|---|---|---|---|---|
| Assets | Cash, Bank, Inventory, Receivables | Debit | Credit | Debit | Balance Sheet |
| Expenses | Consumption, Salaries, Rent, Consulting | Debit | Credit | Debit | P&L |
| Drawings / Dividends | Owner withdrawals | Debit | Credit | Debit | Equity (contra) |
| Liabilities | Vendor/AP, GR/IR, Loans, Tax payable | Credit | Debit | Credit | Balance Sheet |
| Income / Revenue | Sales, Service revenue, Interest earned | Credit | Debit | Credit | P&L |
| Capital / Equity | Owner's capital, Retained earnings | Credit | Debit | Credit | Balance Sheet |
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).β "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).
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.)π₯οΈ 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:
1,250,000.00-.Example β a goods issue of β¨1,250,000 to a cost center appears on screen like this:
| Key | Account | Amount on screen | = which side |
|---|---|---|---|
| 81 | 400000 Consumption | 1,250,000.00 | Debit β expense up (charged to the cost center) |
| 99 | 300000 Inventory | 1,250,000.00β | Credit β stock value down |
- The "Key" (posting key) column is a second clue: in MM auto-postings 8x = Debit, 9x = Credit; manual FI uses 40 = Debit, 50 = Credit.
- Want the actual word? Double-click any line β the detail screen spells it out: "Posting Key 81 β Debit entry" / "99 β Credit entry".
- It must balance: total Debits = total Credits, so the document total reads 0.
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 = a photo at a moment: what you own (assets), owe (liabilities), and what's left for owners (equity). It always obeys: Assets = Liabilities + Equity.
- P&L (Profit & Loss / Income Statement) = a movie over a period: Income β Expenses = Profit.
π¦ 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 |
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:
| Kind | Holds | At year-end | Examples |
|---|---|---|---|
| Balance Sheet a/c | Assets, liabilities, equity | Carries over (your bank balance doesn't reset) | 300000 Inventory, 160000 Payables, 113100 Bank |
| P&L a/c | Income & expenses | Resets to 0; the year's profit is pushed into equity | 400000 Consumption, 800000 Sales |
- 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)
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
- Default: the
INTchart already ships with hundreds of standard G/Ls (your IDES is pre-loaded). You normally reuse these β don't reinvent. - Created: you only make a new G/L when the business needs one that doesn't exist (e.g. a Pakistan-specific WHT payable or a custom inventory split).
- β οΈ Existing β usable. A G/L in the chart must still be extended to your company code (FS00) before you can post to it β skipping that is the Step 1 error
M7 055.
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".
8. The handful of accounts you meet in MM
| Account | Report | In plain words |
|---|---|---|
| 300000 Inventory | BS asset | Stuff sitting in your warehouse |
| 191100 GR/IR | BS transit | Temporary "pending" account between goods & bill (see section 9) |
| 160000 Trade Payables | BS liability | Money you owe suppliers |
| 113100 Bank | BS asset | Cash in the bank |
| 400000 Consumption | P&L expense | Material used up in production β a real cost |
| 800000 Sales revenue | P&L income | Money 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.
10. What is "Controlling" (CO)? Cost centers & profit centers
- FI (Financial Accounting) answers "what did the whole company spend, for the legal accounts & tax?" β it produces the Balance Sheet & P&L.
- CO (Controlling) answers "WHICH department or job spent it?" β internal management view.
A cost center is a bucket for one department's costs (IT, Production, Admin).
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 center | Profit center | |
|---|---|---|
| Answers | "WHERE was money spent?" | "Which part of the business MADE money?" |
| Collects | Costs only | Costs and revenue β a mini P&L |
| Example | IT dept Β· Karachi Production | Construction-Steel line Β· Auto-Parts line Β· or a whole plant |
| Create with | KS01 | KE51 |
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 |
|---|---|---|---|---|
| 1 | Order 50t iron (ME21N) | no posting β just a promise | β | |
| 2 | Goods receipt (MIGO 101) | Inventory 300000 β¨12.5M | GR/IR 191100 β¨12.5M | BS only |
| 3 | Invoice (MIRO) | GR/IR 191100 β¨12.5M | Payables 160000 β¨12.5M | BS only |
| 4 | Pay supplier (F-53) | Payables 160000 β¨12.5M | Bank 113100 β¨12.5M | BS only |
| 5 | Issue 30t to production (MIGO 201) | Consumption 400000 β¨7.5M | Inventory 300000 β¨7.5M | P&L + BS |
| 6 | Sell finished goods (VF01/billing) | Customer/Bank β¨11M | Sales 800000 β¨11M | P&L + BS |
| 7 | Cost of the goods sold | COGS β¨7.5M | Inventory/FG 300000 β¨7.5M | P&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 |
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:
| Setting | Why it exists (plain words) | Where |
|---|---|---|
| Chart of Accounts | The master list of which accounts are allowed (and BS vs P&L) | Step 1 |
| OBYC | The 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 Splitting | Keep the books balanced and support both IFRS and local rules | Step 1 |
| Controlling Area + Cost Centers | Give non-stock purchases a "which department" bucket to charge | Step 19 |
13. How it links across the modules
| Module | Its job in the chain |
|---|---|
| MM | The goods movement that triggers everything |
| FI | Via OBYC, writes the debit/credit into the G/L β Balance Sheet & P&L |
| CO | If it's an expense, charges the right cost center |
| ML | Updates the material's stored value |
14. π SAP cheat-codes β remember it all
OBYC transaction keys β explained for a newcomer
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 for | Fires whenβ¦ | Example G/L | Hits |
|---|---|---|---|---|
| BSX "stock" | The inventory side β stock value going up or down. | Any goods receipt / stock posting | 300000 | BS |
| WRX "GR/IR" | The temporary GR/IR "pending tray" between goods and invoice. | Goods receipt (filled) β invoice (emptied) | 191100 | BS |
| 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) | 400000 | P&L |
| GBB / VAX | Same GBB slot, reason = cost of goods sold when goods ship to a customer. | Goods issue for a sale (mvt 601) | COGS a/c | P&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 material | variance a/c | P&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 account | depends |
Movement β posting cheat sheet
| Mvt | What | Posting |
|---|---|---|
| 101 | Goods receipt | Inventory Dr / GR-IR Cr |
| 122 / 161 | Return to vendor | Inventory Cr / GR-IR Dr |
| 201 | Issue to cost center | Consumption Dr / Inventory Cr |
| 261 | Issue to production order | Consumption Dr / Inventory Cr |
| 311 | Transfer (same plant) | no FI β just moves location |
| 601 | Goods issue for a sale | COGS 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.