Financial statements — P&L, margins, balance sheet and working capital
Read and analyse the profit and loss statement and the balance sheet as an analyst — from revenue to net profit, margins, assets, liabilities, equity and working capital.
This lesson builds on: PivotTables, cleaning, reconciliation and variance analysis.
- Build a P&L from revenue to net profit and compute EBITDA, EBIT and margins
- Explain the balance sheet identity and classify current vs non-current items
- Calculate working capital and liquidity ratios and interpret them
- Connect operational analytics to financial outcomes
The three financial statements
| Statement | Question | Period |
|---|---|---|
| Profit and loss (income statement) | Did we make a profit? | Over a period (month, year) |
| Balance sheet | What do we own and owe? | At a point in time (month end) |
| Cash flow statement | Where did cash come from and go? | Over a period |
Profit is not cash: a sale on credit creates revenue (P&L) and a receivable (balance sheet), but no cash until the customer pays.
The P&L structure
| Line | Definition |
|---|---|
| Revenue | Income from selling goods/services (net of discounts and returns) |
| − Cost of sales (COGS) | Direct cost of what was sold (purchase cost of goods) |
| = Gross profit | Revenue − cost of sales |
| − Operating expenses | Salaries, rent, marketing, logistics, IT … |
| = EBITDA | Earnings before interest, tax, depreciation and amortisation — operating cash-like profit |
| − Depreciation & amortisation | Spreading the cost of long-lived assets over their life |
| = EBIT (operating profit) | Profit from operations |
| − Interest | Cost of debt |
| − Tax | Income tax |
| = Net profit | What belongs to shareholders |
Margins = profit ÷ revenue: gross margin %, EBITDA margin %, net margin %. Margins make companies and periods of different size comparable.
Real data: Orion's 2025 P&L
WITH y AS (
SELECT line_class, SUM(actual) AS amt FROM pnl_monthly WHERE year_month LIKE '2025%' GROUP BY line_class)
SELECT
ROUND((SELECT amt FROM y WHERE line_class='revenue')) AS revenue,
ROUND((SELECT amt FROM y WHERE line_class='revenue') - (SELECT amt FROM y WHERE line_class='cogs')) AS gross_profit,
ROUND((SELECT amt FROM y WHERE line_class='revenue') - (SELECT amt FROM y WHERE line_class='cogs') - (SELECT amt FROM y WHERE line_class='opex')) AS ebitda,
ROUND((SELECT amt FROM y WHERE line_class='revenue') - (SELECT amt FROM y WHERE line_class IN ('cogs')) - (SELECT amt FROM y WHERE line_class='opex') - (SELECT amt FROM y WHERE line_class='da')) AS ebit,
ROUND((SELECT amt FROM y WHERE line_class='revenue') - (SELECT SUM(amt) FROM y WHERE line_class <> 'revenue')) AS net_profit;| revenue | gross_profit | ebitda | ebit | net_profit |
|---|---|---|---|---|
| 19145701 | 7781195 | 2757630 | 2349630 | 1794432 |
WITH y AS (SELECT line_class, SUM(actual) AS amt FROM pnl_monthly WHERE year_month LIKE '2025%' GROUP BY line_class),
r AS (SELECT amt FROM y WHERE line_class='revenue')
SELECT ROUND(100 * (1 - (SELECT amt FROM y WHERE line_class='cogs') / (SELECT amt FROM r)), 1) AS gross_margin_pct,
ROUND(100 * ((SELECT amt FROM r) - (SELECT amt FROM y WHERE line_class='cogs') - (SELECT amt FROM y WHERE line_class='opex')) / (SELECT amt FROM r), 1) AS ebitda_margin_pct,
ROUND(100 * ((SELECT amt FROM r) - (SELECT SUM(amt) FROM y WHERE line_class <> 'revenue')) / (SELECT amt FROM r), 1) AS net_margin_pct;| gross_margin_pct | ebitda_margin_pct | net_margin_pct |
|---|---|---|
| 40.6 | 14.4 | 9.4 |
(The finance dataset represents the whole Orion group, so its revenue is larger than the retail-orders dataset — different scopes, a reconciliation conversation you would have with Finance.)
Interpretation. Gross margin around 40% means each unit of revenue leaves ~0.40 after product cost to pay for operations; small operating-cost changes move net margin a lot because net margin is a thin slice.
The balance sheet
Identity: Assets = Liabilities + Equity — always.
| Section | Current (≤ 12 months) | Non-current |
|---|---|---|
| Assets | Cash, accounts receivable, inventory, prepaid expenses | Property, plant & equipment, intangible assets |
| Liabilities | Accounts payable, short-term debt, accrued expenses | Long-term debt |
| Equity | Share capital, retained earnings (accumulated profits) |
Working capital and liquidity
- Working capital = current assets − current liabilities.
- Current ratio = current assets ÷ current liabilities (> 1 = short-term assets cover short-term obligations).
- Quick ratio = (current assets − inventory) ÷ current liabilities (inventory may be slow to turn into cash).
- DSO (days sales outstanding) = receivables ÷ revenue × days; DIO = inventory ÷ COGS × days; DPO = payables ÷ COGS × days; cash conversion cycle = DSO + DIO − DPO.
SELECT year_month,
ROUND(SUM(CASE WHEN sub_section='Current' AND section='Assets' THEN amount END)) AS current_assets,
ROUND(SUM(CASE WHEN sub_section='Current' AND section='Liabilities' THEN amount END)) AS current_liabilities,
ROUND(SUM(CASE WHEN sub_section='Current' AND section='Assets' THEN amount END) - SUM(CASE WHEN sub_section='Current' AND section='Liabilities' THEN amount END)) AS working_capital,
ROUND(SUM(CASE WHEN sub_section='Current' AND section='Assets' THEN amount END) / SUM(CASE WHEN sub_section='Current' AND section='Liabilities' THEN amount END), 2) AS current_ratio
FROM balance_sheet WHERE year_month IN ('2024-12', '2025-06', '2025-12')
GROUP BY year_month;| year_month | current_assets | current_liabilities | working_capital | current_ratio |
|---|---|---|---|---|
| 2024-12 | 3727861 | 908381 | 2819480 | 4.1 |
| 2025-06 | 4043290 | 734219 | 3309072 | 5.51 |
| 2025-12 | 5346238 | 992714 | 4353524 | 5.39 |
Analyst's link to operations. Inventory is the biggest current asset in retail: the ABC/XYZ and stock analyses in Module 8 directly change working capital and cash.
Common mistakes
EBITDA ignores capital intensity (a store-heavy retailer has large depreciation). Compare EBIT or include capex.
Balance sheet amounts are stocks (levels at a date), not flows. You average them across months; you never sum them.
Practice
Revenue 1,000; cost of sales 600; operating expenses 250; depreciation 40; interest 20; tax 18. What is EBITDA?
Current assets 2,400; current liabilities 1,600. What is the current ratio?
Why must you never sum balance-sheet amounts across months?
Summary
- P&L: revenue → gross profit → EBITDA → EBIT → net profit; compare with margins.
- Balance sheet: assets = liabilities + equity; current vs non-current; amounts are point-in-time levels.
- Working capital and cash conversion cycle connect operations (inventory, collections, supplier terms) to cash.