2026-11-01 · AI-drafted · Finance · Accounting · Modeling · 6 min read
Build the Income Statement That Drives Every Other Schedule
The income statement is not the starting point of a three-statement model — it is the engine. Every line you build here feeds the working capital schedule, the debt schedule, and ultimately the cash flow statement. Get the architecture wrong and every downstream schedule inherits the error. I'll show you how to build an income statement in Excel that is honest about its assumptions, transparent about its drivers, and structured so the rest of the model can consume it without manual intervention.
Why the Income Statement Breaks Most Models
Most broken models share one flaw: the income statement is a collection of hard-coded numbers rather than a set of driven outputs. A modeler types EUR 120m of revenue into a cell, then types EUR 84m of cost of goods sold into the next one. The gross margin is implicitly 30%, but nothing in the model says so. Change the revenue assumption and the cost does not move. The model is already dishonest before the first scenario runs.
The discipline fix is straightforward. Revenue is an output of volume and price assumptions that live on the Inputs sheet — the single source of truth described in Course 2's third module. Cost of goods sold is a margin assumption applied to that revenue figure. Every line on the income statement is either a formula referencing an input or a formula referencing another income-statement line. No hard-coded operating figures survive in a model that is meant to be used.
This matters across reporting regimes. A German manufacturer reporting under IFRS 15 recognizes revenue differently from a Brazilian retailer reporting under CPC 47 (Brazil's IFRS-aligned standard) or an Indian IT services firm reporting under Ind AS 115. The revenue recognition rule changes the timing of the top line, which changes every margin below it. Your model must make that timing assumption explicit on the Inputs sheet, not buried in a formula.
Revenue: Build the Driver Tree First
Revenue belongs on the income statement as a single output cell. The work happens upstream. For a manufacturer, the driver tree might be: units sold multiplied by average selling price per unit, with a separate price escalation assumption for each year of the forecast. For a subscription business — say, a SaaS firm billing in INR — the tree is: opening subscribers plus new subscribers minus churned subscribers, multiplied by average revenue per user. Both trees live on the Inputs sheet. The income statement references the result.
A worked example makes this concrete. Assume a retailer with EUR 40m of revenue in Year 1, a 4% volume growth assumption, and a 2% annual price increase. Year 2 revenue is EUR 40m × 1.04 × 1.02 = EUR 42.43m. Year 3 is EUR 42.43m × 1.04 × 1.02 = EUR 44.97m. Those three numbers are outputs. The two assumptions — 4% volume growth, 2% price increase — are inputs. If the commercial team revises the price assumption to 3%, every year updates automatically. That is what a driven model does.
Segment revenue requires one additional layer. A conglomerate reporting in BRL under Brazilian GAAP may have three business units with different growth profiles. Build a revenue schedule tab that aggregates segment outputs into a single total, then reference that total on the income statement. Never aggregate on the income statement itself — that collapses the audit trail.
Gross Profit: Margin Assumptions, Not Cost Guesses
Cost of goods sold (COGS) — the direct costs of producing goods or services, such as raw materials, direct labor, and manufacturing overhead — should be modeled as a percentage of revenue, not as an independent line. The gross margin percentage lives on the Inputs sheet. COGS on the income statement is simply: revenue multiplied by one minus the gross margin percentage. If your gross margin assumption is 38% and revenue is EUR 42.43m, COGS is EUR 26.31m and gross profit is EUR 16.12m. Every number is traceable to one assumption.
Margin assumptions should reflect real business logic. A retailer with significant commodity exposure — a food manufacturer buying wheat in USD while reporting in EUR — needs a COGS assumption that accounts for currency and commodity risk. That is not a modeling complexity to avoid; it is an input to make explicit. Note on the Inputs sheet: 'COGS margin assumes EUR/USD rate of 1.08 and wheat at USD 220 per tonne. Sensitivity table in the Outputs tab.' The model does not need to solve the hedging problem. It needs to name the assumption.
Operating Expenses: Fixed, Variable, and Semi-Variable
Operating expenses below gross profit — selling, general and administrative costs (SG&A), research and development, and similar line items — split into three behavioral categories. Fixed costs do not change with revenue: a head office lease in Singapore costs the same whether the business grows 5% or shrinks 5%. Variable costs scale with revenue: sales commissions are typically a percentage of the top line. Semi-variable costs have a fixed base plus a variable component: a customer service team has a minimum headcount plus additional agents hired as transaction volume rises.
Model each category separately. Fixed costs are absolute amounts on the Inputs sheet, escalated by an inflation assumption. Variable costs are a percentage of revenue. Semi-variable costs use a step function: fixed base plus a variable rate applied to revenue above a threshold. This structure is more work to build once and far more useful in every scenario run thereafter. A model that treats all SG&A as a fixed percentage of revenue will produce nonsense in a stress scenario where revenue drops 20% but the cost base cannot fall proportionally.
A worked example: an Indian IT services firm with INR 2,000m of revenue models SG&A as INR 300m fixed plus 8% of revenue above INR 1,500m. At INR 2,000m of revenue, SG&A is INR 300m plus (8% × INR 500m) = INR 340m, or 17% of revenue. At INR 2,500m, SG&A is INR 300m plus (8% × INR 1,000m) = INR 380m, or 15.2% of revenue. The margin improvement at scale is real and the model captures it correctly.
Operating Profit: The Line That Feeds Everything Downstream
Earnings before interest and taxes — operating profit after all operating costs but before financing costs and tax — is the income statement's handoff point to the rest of the model. The debt schedule picks up this figure to calculate interest coverage. The tax schedule applies the effective tax rate to earnings before tax, which is operating profit minus net interest expense. The cash flow statement starts with net income and works backward. Every one of those schedules depends on operating profit being correct.
Operating profit must be a clean formula: gross profit minus each operating expense line, summed. No manual overrides. No plug figures. If your operating profit does not match what the debt schedule expects, the model has a structural error — not a rounding issue. Course 2's tie-out module covers the exact checks that catch this before a model goes to a decision-maker. The discipline is: build the income statement so that operating profit is an unambiguous output of driven inputs, then let the downstream schedules consume it without adjustment.
Depreciation and amortization (D&A) — the non-cash allocation of the cost of long-lived assets over their useful lives — appears as an operating expense on the income statement but is added back on the cash flow statement. It must flow from the capital expenditure and asset schedule, not be hard-coded. A EUR 5m D&A figure typed directly into the income statement breaks the moment the CapEx assumptions change. Reference the asset schedule. Always.
Putting the Income Statement to Work
A model-ready income statement has no hard-coded operating figures, every margin assumption traceable to the Inputs sheet, and a clean operating profit line that downstream schedules can consume without adjustment. It handles multi-currency revenue, segment aggregation, and mixed cost behavior without collapsing into a single percentage-of-revenue assumption for everything. That discipline is not complexity for its own sake — it is the difference between a model that survives a scenario run and one that produces numbers nobody trusts.
Course 2 builds this income statement from scratch, then connects it to the working capital schedule, the debt schedule, the balance sheet, and the DCF. Each module adds one layer. By the time the model ties out — meaning the balance sheet balances and the cash flow statement reconciles to the change in cash — every number on the income statement has done real work. That is what a practitioner-grade model looks like, and it starts here.
A Note on What This Course Is — and Isn’t
We don’t pursue CE accreditation. The courses are pure education, not credentialing.
Nothing in this course constitutes personalized financial, legal, or investment advice. You’ll learn frameworks and analytical tools — what you do with them is your decision.
We use AI heavily and we’re transparent about it.
Drafted with AI from the outline of Dr. Kareem Tannous’s Course 2. Published automatically under his editorial standards.
$189 per course. $504 for the bundle of three.
100% refund within 3 days of enrollment AND zero module access. Accessing any module — even briefly — waives the right to a refund permanently. Decisions are final; no appeals.
Course 2: Excel Modeling for Financial Decisions →
New to financial statements? Start with Course 1 →
Instructor: Kareem — DBA International Business · MS Applied Economics & Predictive Analytics · MBA Finance & Accounting · Series 65 · university-level instructor since 2014.
— Dr. Kareem Tannous