Profit and Loss Statement Template
Enter monthly revenue and costs; calculate gross profit, operating profit, net profit and annual margins automatically.
Free Excel workbook · direct .xlsx file · no signup · works without JavaScript
What is in the file
The Profit and Loss sheet, exactly as you will get it. Cells shown as=… are live formulas in the download, not text. The How to use tab explains what to change first.
| Category | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | Year total |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product revenue | 9000 | 9600 | 10500 | 11200 | 11800 | 12200 | 12600 | 13000 | 13400 | 14000 | 15000 | 16800 | =SUM(B2:M2) |
| Service revenue | 2500 | 2900 | 2700 | 3000 | 3200 | 3500 | 3800 | 3600 | 3900 | 4000 | 4100 | 4500 | =SUM(B3:M3) |
| Total revenue | =SUM(B2:B3) | =SUM(C2:C3) | =SUM(D2:D3) | =SUM(E2:E3) | =SUM(F2:F3) | =SUM(G2:G3) | =SUM(H2:H3) | =SUM(I2:I3) | =SUM(J2:J3) | =SUM(K2:K3) | =SUM(L2:L3) | =SUM(M2:M3) | =SUM(B4:M4) |
| Materials | 3200 | 3300 | 3550 | 3750 | 3800 | 4000 | 4200 | 4350 | 4500 | 4700 | 5050 | 5500 | =SUM(B5:M5) |
| Delivery costs | 500 | 550 | 600 | 650 | 620 | 680 | 700 | 700 | 750 | 750 | 830 | 900 | =SUM(B6:M6) |
| Total cost of sales | =SUM(B5:B6) | =SUM(C5:C6) | =SUM(D5:D6) | =SUM(E5:E6) | =SUM(F5:F6) | =SUM(G5:G6) | =SUM(H5:H6) | =SUM(I5:I6) | =SUM(J5:J6) | =SUM(K5:K6) | =SUM(L5:L6) | =SUM(M5:M6) | =SUM(B7:M7) |
| Gross profit | =B4-B7 | =C4-C7 | =D4-D7 | =E4-E7 | =F4-F7 | =G4-G7 | =H4-H7 | =I4-I7 | =J4-J7 | =K4-K7 | =L4-L7 | =M4-M7 | =SUM(B8:M8) |
| Gross margin | =IF(B4=0,"",B8/B4) | =IF(C4=0,"",C8/C4) | =IF(D4=0,"",D8/D4) | =IF(E4=0,"",E8/E4) | =IF(F4=0,"",F8/F4) | =IF(G4=0,"",G8/G4) | =IF(H4=0,"",H8/H4) | =IF(I4=0,"",I8/I4) | =IF(J4=0,"",J8/J4) | =IF(K4=0,"",K8/K4) | =IF(L4=0,"",L8/L4) | =IF(M4=0,"",M8/M4) | =IF(N4=0,"",N8/N4) |
| Payroll | 3400 | 3400 | 3400 | 3400 | 3400 | 3400 | 3400 | 3400 | 3400 | 3400 | 3400 | 3400 | =SUM(B10:M10) |
| Rent | 900 | 900 | 900 | 900 | 900 | 900 | 900 | 900 | 900 | 900 | 900 | 900 | =SUM(B11:M11) |
| Marketing | 350 | 400 | 420 | 430 | 460 | 500 | 520 | 500 | 550 | 620 | 690 | 800 | =SUM(B12:M12) |
| Software | 185 | 185 | 185 | 185 | 185 | 185 | 185 | 185 | 185 | 185 | 185 | 185 | =SUM(B13:M13) |
| Operating expenses | =SUM(B10:B13) | =SUM(C10:C13) | =SUM(D10:D13) | =SUM(E10:E13) | =SUM(F10:F13) | =SUM(G10:G13) | =SUM(H10:H13) | =SUM(I10:I13) | =SUM(J10:J13) | =SUM(K10:K13) | =SUM(L10:L13) | =SUM(M10:M13) | =SUM(B14:M14) |
Preview showing the first 14 of 20 rows. The downloadable workbook contains the full schedule.
How this template works
A useful profit and loss statement separates revenue, direct costs and operating expenses instead of treating every transaction as the same kind of line. This twelve-month Excel workbook calculates each subtotal, profit figure and margin for you, and it computes annual margins from annual totals instead of averaging the monthly percentages.
Use it for
- Reviewing a small business P&L month by month
- Comparing direct costs and overhead against revenue
- Preparing a simple management overview before consulting an accountant
Related templates
Free to use, share and republish — including commercially. Attribution isn't required, but it's what keeps these free to make, and there's one ready to paste below.
Questions
Is this profit and loss statement template free?
Yes — free to download and free to use, personally or commercially. There is no email gate, no account and no watermark.
Do the formulas work, or are they just shown?
They work. The file contains live formulas, so editing a value recalculates everything that depends on it. The "How to use" tab lists which cells are formulas so you know what you are typing over.
Which apps open it?
Any spreadsheet that reads .xlsx: Excel, Google Sheets, LibreOffice Calc and Apple Numbers. To use it in Sheets, upload the file to Drive and open it with Google Sheets.
Where does the file come from?
The Excel workbook is a ready-made static file hosted by FormulaSmith. The direct link also works when JavaScript is switched off; nothing needs to be uploaded or signed up for.