Stop rebuilding the income statement in Excel every month. Learn to turn your general ledger into live, drill-down financial statements that tie back to every transaction.
Excel can produce an income statement, and for one year it works. The trouble starts when the questions grow: a new year, a new grouping, or the CFO asking why the margin moved, and where?
Every line is a SUMIFS or SUMPRODUCT over thousands of ledger rows. Each new year means copying columns and fixing ranges.
Moving an account from one group to another means editing formulas in several places, and one missed cell shifts a subtotal.
The statement shows Marketing. Seeing which accounts or territories sit behind it needs another pivot table or another tab.
Each month’s copy is slightly different, and nobody can say which file is the right one.
Prior year, year-over-year change and growth are more columns to build and keep consistent.
Reviewers have to trace formulas by hand to confirm the statement matches the ledger.
The statement layout becomes data, and one measure fills it. Changing the structure no longer means editing formulas.
Import your general ledger once: date, account, territory or department, and amount.
A small mapping table assigns each account to a report line, such as Rent and Utilities under Premises.
A layout table sets order, groups, subtotals and spacer lines. A rollup grid says what adds into each subtotal.
A single DAX measure returns every line, subtotal and total, with signs handled for you.
A full statement from Gross Revenue to Profit After Tax across four fiscal years. Click the boxes to expand or collapse a group.
| Line | FY2023 | FY2024 | FY2025 | FY2026 | Total |
|---|---|---|---|---|---|
| Gross Revenue | 3,685,250 | 4,348,258 | 5,205,268 | 6,823,847 | 20,062,623 |
| Returns & Adjustments | (98,356) | (116,602) | (140,192) | (187,546) | (542,696) |
| Net Revenue | 3,586,894 | 4,231,656 | 5,065,076 | 6,636,301 | 19,519,927 |
| Cost of Sales | (1,129,563) | (1,300,785) | (1,522,215) | (1,975,869) | (5,928,432) |
| Gross Profit | 2,457,331 | 2,930,871 | 3,542,861 | 4,660,432 | 13,591,495 |
| Operating Expenses | (1,347,809) | (1,555,354) | (1,828,407) | (2,333,451) | (7,065,021) |
| Sales & Distribution | (290,602) | (315,283) | (344,404) | (413,443) | (1,363,732) |
| Marketing | (367,956) | (435,500) | (533,293) | (693,357) | (2,030,106) |
| Travel & Entertainment | (249,837) | (291,868) | (345,056) | (449,327) | (1,336,088) |
| Premises & Utilities | (142,982) | (166,839) | (197,145) | (250,014) | (756,980) |
| General & Professional | (296,432) | (345,864) | (408,509) | (527,310) | (1,578,115) |
| EBITDA | 1,109,522 | 1,375,517 | 1,714,454 | 2,326,981 | 6,526,474 |
| Depreciation & Amortisation | (105,996) | (238,212) | (341,004) | (742,608) | (1,427,820) |
| Depreciation | (96,792) | (217,812) | (312,000) | (675,612) | (1,302,216) |
| Amortisation | (9,204) | (20,400) | (29,004) | (66,996) | (125,604) |
| Non-Operating Items | 9,445 | 18,950 | 28,656 | 59,933 | 116,984 |
| Investment Income | 7,260 | 16,320 | 23,340 | 54,000 | 100,920 |
| Disposals & FX | 2,185 | 2,630 | 5,316 | 5,933 | 16,064 |
| Profit Before Interest and Tax | 1,012,971 | 1,156,255 | 1,402,106 | 1,644,306 | 5,215,638 |
| Interest | 3,574 | 4,857 | 2,098 | (11,647) | (1,118) |
| Interest Income | 11,074 | 21,717 | 26,338 | 44,333 | 103,462 |
| Interest Expense | (7,500) | (16,860) | (24,240) | (55,980) | (104,580) |
| Profit Before Tax | 1,016,545 | 1,161,112 | 1,404,204 | 1,632,659 | 5,214,520 |
| Tax | (255,643) | (291,794) | (351,052) | (416,465) | (1,314,954) |
| Profit After Tax | 760,902 | 869,318 | 1,053,152 | 1,216,194 | 3,899,566 |
| Gross margin | 68.5% | 69.3% | 69.9% | 70.2% | 69.6% |
| EBITDA margin | 30.9% | 32.5% | 33.8% | 35.1% | 33.4% |
| Net margin | 21.2% | 20.5% | 20.8% | 18.3% | 20.0% |
Demo only: figures come from a synthetic general ledger (7 territories, four years), not client data. On the demo ledger, net revenue grows from 3.59M in FY2023 to 6.64M in FY2026, and EBITDA margin rises from 30.9% to 35.1%.
You don’t need to be a developer. If you can read a trial balance, you can learn to build this.
Deliver the monthly pack in minutes and answer follow-up questions without a rebuild.
Give clients repeatable statements and variance views from the books you already keep.
Standardise reporting across engagements, with a clear audit trail back to the ledger.
Move from static spreadsheets to one model that serves budgets, actuals and forecasts.
The same ledger-mapping-layout pattern extends beyond the income statement.
| Statement | What it adds | Status |
|---|---|---|
| Income Statement | Revenue to profit after tax, multi-year, drill to account | Covered in training |
| Balance Sheet | Assets, liabilities and equity as of any date | On request |
| Cash Flow | Operating, investing and financing movements | On request |
| Budget vs Actual | Variance in amount and percent by line | On request |
| By territory or entity | The same statement filtered or consolidated | Covered in training |
| Need | Excel | Power BI |
|---|---|---|
| Add a new year | Copy columns, fix ranges | Refresh; the year appears |
| Regroup an account | Edit formulas in several cells | Change one row in the mapping table |
| Drill from group to account | Build a pivot or a new tab | Expand the row in the matrix |
| Prior year and growth | Extra columns for every year | One measure, reused everywhere |
| Tie-out to the ledger | A manual check row | Same model; subtotals follow the rollup |
| Share with others | Email a file copy | One report, one version |
Build-while-you-learn sessions for finance professionals. You leave with a working statement made from your own data, not a slide deck.
Prerequisites: comfortable with Excel and basic accounting. No coding needed.
email: kaleem.mian@datascientist.ca
No. The training is aimed at finance users. If you can export your general ledger to Excel or CSV, you have what you need to start.
If you can export a general ledger with date, account and amount, it works. Direct connections to many systems are possible and can be discussed.
The statement is built from the ledger and includes a check that compares profit to the ledger total, so differences show up immediately.
Power BI Desktop is free for building reports. Sharing reports inside your organisation requires a Power BI Pro or similar licence. We can advise on what fits your team.
Training can run on a sample or on your own data under a confidentiality agreement. Nothing needs to leave your environment if you prefer.
Tell us about your ledger and your team. We’ll recommend a training format and send you a quote.