A free Excel P&L template for companies: paste a trial balance, map each account once, and get a monthly profit and loss statement with margins, a budget, a variance sheet and a check that it ties to the ledger.
Free Excel workbook, no sign-up. The formulas are live, and sample rows show how it fills in: replace them with your own.
Download profit-and-loss-template.xlsx
| Line | Actual | Budget | Variance | Variance % | Reading |
|---|---|---|---|---|---|
| Gross sales | $1,250,000 | $1,300,000 | ($50,000) | -3.8% | Unfavorable |
| Returns and discounts | $50,000 | $52,000 | ($2,000) | -3.8% | Favorable |
| Net revenue | $1,200,000 | $1,248,000 | ($48,000) | -3.8% | Unfavorable |
| Cost of goods sold | $720,000 | $741,000 | ($21,000) | -2.8% | Favorable |
| Gross profit | $480,000 | $507,000 | ($27,000) | -5.3% | Unfavorable |
| Gross margin | 40.0% | 40.6% | -0.6% | Worse | |
| Sales and marketing | $150,000 | $145,000 | $5,000 | 3.4% | Unfavorable |
| General and administrative | $110,000 | $105,000 | $5,000 | 4.8% | Unfavorable |
| Research and development | $60,000 | $62,000 | ($2,000) | -3.2% | Favorable |
| Total operating expenses | $320,000 | $312,000 | $8,000 | 2.6% | Unfavorable |
| EBITDA | $160,000 | $195,000 | ($35,000) | -17.9% | Unfavorable |
| EBITDA margin | 13.3% | 15.6% | -2.3% | Worse | |
| Depreciation and amortization | $25,000 | $25,000 | $0 | 0.0% | On budget |
| Operating profit | $135,000 | $170,000 | ($35,000) | -20.6% | Unfavorable |
| Operating margin | 11.3% | 13.6% | -2.4% | Worse | |
| Interest expense | $15,000 | $15,000 | $0 | 0.0% | On budget |
| Income before taxes | $120,000 | $155,000 | ($35,000) | -22.6% | Unfavorable |
| Income tax | $30,000 | $38,750 | ($8,750) | -22.6% | Favorable |
| Net profit | $90,000 | $116,250 | ($26,250) | -22.6% | Unfavorable |
| Net margin | 7.5% | 9.3% | -1.8% | Worse |
This template is a company P&L, built the way a finance team builds one: from the trial balance, not typed in by hand. You paste the ledger export, tell it once which P&L line each account belongs to, and every month fills itself. It is for business use; it is not a household budget.
| Line | How it is built |
|---|---|
| Gross sales | Invoiced revenue |
| Returns and discounts | Taken off gross sales |
| Net revenue | Gross sales − returns and discounts |
| Cost of goods sold | The cost of what was sold |
| Gross profit | Net revenue − COGS |
| Sales and marketing, G&A, R&D | Operating expenses |
| EBITDA | Gross profit − operating expenses |
| Depreciation and amortization | |
| Operating profit | EBITDA − D&A |
| Interest expense | |
| Income before taxes | Operating profit − interest |
| Income tax | |
| Net income | Income before taxes − tax |
The captions follow US practice: the SEC's Regulation S-X, Rule 5-03 lists the income statement captions public companies use, from net sales down to net income. EBITDA and operating profit are management subtotals under US GAAP, so the template shows exactly which lines make them. (IFRS reporters get a defined operating profit subtotal under IFRS 18 from 2027.)
yyyy-mm, Amount (debits positive, credits negative) and Type (PL or BS). Column F looks up each account's P&L line in the Map sheet:=IF(E2="PL",IFERROR(INDEX(Map!$C$2:$C$500,MATCH(A2,Map!$A$2:$A$500,0)),"UNMAPPED"),"")
=-SUMIFS(TB!$D$2:$D$2000,TB!$F$2:$F$2000,$A6,TB!$C$2:$C$2000,C$4)
The minus sign is for revenue, which a trial balance holds as a credit. Cost lines drop it. Subtotals are plain arithmetic on the rows above, and each margin row divides by net revenue:
=IFERROR(C10/C8,"")
B2 and every line shows actual, budget, variance (actual − budget), variance % and a reading. On cost lines a negative variance is favorable, so the reading flips there.The lookups use INDEX and MATCH, not XLOOKUP, so the workbook works in Excel 2016 and 2019 as well as Microsoft 365.
UNMAPPED. Add each of those accounts to Map with its P&L line.The sample company in the workbook, as the Variance sheet shows it for March:
| Line | Actual | Budget | Variance | Reading |
|---|---|---|---|---|
| Gross sales | 1,250,000 | 1,300,000 | (50,000) | Unfavorable |
| Returns and discounts | 50,000 | 52,000 | (2,000) | Favorable |
| Net revenue | 1,200,000 | 1,248,000 | (48,000) | Unfavorable |
| Cost of goods sold | 720,000 | 741,000 | (21,000) | Favorable |
| Gross profit | 480,000 | 507,000 | (27,000) | Unfavorable |
| Total operating expenses | 320,000 | 312,000 | 8,000 | Unfavorable |
| EBITDA | 160,000 | 195,000 | (35,000) | Unfavorable |
| Depreciation and amortization | 25,000 | 25,000 | 0 | On budget |
| Operating profit | 135,000 | 170,000 | (35,000) | Unfavorable |
| Interest expense | 15,000 | 15,000 | 0 | On budget |
| Income tax at 25% | 30,000 | 38,750 | (8,750) | Favorable |
| Net income | 90,000 | 116,250 | (26,250) | Unfavorable |
Gross margin is 40.0% against a budgeted 40.6%, operating margin 11.3% against 13.6%, and net margin 7.5% against 9.3%.
The template carries three:
PL row in the trial balance for that month. The "Difference" row shows the gap and must be 0.That is the same tie-out habit as five checks before you trust a spreadsheet total, applied to a P&L: a control total from the source, compared with the report.
A workbook like this handles one entity, one currency and a few dozen accounts. It strains with several entities, intercompany eliminations or hundreds of cost centers, and it does nothing about the week of questions after the P&L goes out in the monthly pack. Covirage reads the trial balance and budget exports, keeps the account mapping once, and computes the P&L, margins and variances with deterministic tools that reconcile to the ledger; the external AI model explains what moved and never does the arithmetic. See FP&A reporting. For margins taken per customer rather than for the company, read gross margin vs contribution margin vs net margin. For a filled-in statement, see the profit and loss statement example and how to analyze a P&L; for budget against actual with commentary, use the budget vs actual template.
Yes. US filings call it the income statement or statement of operations, IFRS calls it the statement of profit or loss, and management reporting calls it the P&L. The lines and the logic are the same: revenue at the top, costs taken off in stages, net income at the bottom.
Export the trial balance by period, map each account to a P&L line once, then sum each line with SUMIFS on the mapped line and the period. Negate income accounts, add subtotal rows, and check that net income equals the sum of the profit and loss accounts in the trial balance.
Management P&Ls usually do, because it separates operating performance from depreciation and financing. EBITDA is not defined by US GAAP, so label it and show how it is built. SEC registrants that report EBITDA publicly must reconcile it to net income.
Monthly for management reporting, as part of the month-end close package, and quarterly and annually for external reporting (the 10-Q and 10-K for a public company). A monthly P&L with a budget column is the standard basis for variance commentary.