Blog · Board and management reporting · Finance and FP&A teams
Build a trailing twelve-month income statement from closed monthly accounting exports. Reconcile the month entering and leaving the window, then compare revenue and profit with the previous twelve months.
A trailing 12 month income statement sums the latest twelve closed monthly P&Ls into one continuous year of revenue, costs and profit. At each close, one month enters and one leaves. Use it to assess the business across a full operating cycle while keeping the monthly results visible underneath.
A statement ending September 30, 2026 covers October 1, 2025 through September 30, 2026. Its previous nonoverlapping comparison covers October 1, 2024 through September 30, 2025. Comparing with the rolling total one month earlier answers a different question, because those windows share eleven months.
The SEC's financial statement guide describes an income statement as revenue earned and associated expenses over a period. Rolling twelve months changes that period, rather than changing what the accounts measure. For public-company reporting, Regulation S-X Rule 10-01(c)(2) permits cumulative twelve-month income information alongside the specified interim periods.
Export closed monthly amounts, account codes, account names, entity, department and currency. Use the same account mapping and consolidation scope throughout. Normalize expense signs so that costs are positive deductions. If the accounting export contains year-to-date columns, first turn them into standalone months; adding cumulative totals repeatedly double counts the earlier months.
The broader P&L analysis guide covers interpretation by line. This process establishes the rolling period those comparisons depend on.
Consider a hypothetical US distributor. These are its monthly income-statement amounts in USD. Operating expenses include depreciation. September 2025 is shown because it leaves the window in the next reconciliation; the twelve months below it form the current statement.
| Month | Revenue (USD) | Cost of sales (USD) | Operating expenses (USD) | Interest (USD) | Income tax (USD) | Net income (USD) |
|---|---|---|---|---|---|---|
| September 2025 | 900,000 | 540,000 | 240,000 | 10,000 | 27,500 | 82,500 |
| October 2025 | 920,000 | 552,000 | 250,000 | 10,000 | 27,000 | 81,000 |
| November 2025 | 940,000 | 564,000 | 250,000 | 10,000 | 29,000 | 87,000 |
| December 2025 | 960,000 | 576,000 | 250,000 | 10,000 | 31,000 | 93,000 |
| January 2026 | 980,000 | 588,000 | 250,000 | 10,000 | 33,000 | 99,000 |
| February 2026 | 1,000,000 | 600,000 | 250,000 | 10,000 | 35,000 | 105,000 |
| March 2026 | 1,020,000 | 612,000 | 250,000 | 10,000 | 37,000 | 111,000 |
| April 2026 | 1,040,000 | 624,000 | 250,000 | 10,000 | 39,000 | 117,000 |
| May 2026 | 1,060,000 | 636,000 | 250,000 | 10,000 | 41,000 | 123,000 |
| June 2026 | 1,080,000 | 648,000 | 250,000 | 10,000 | 43,000 | 129,000 |
| July 2026 | 1,100,000 | 660,000 | 250,000 | 10,000 | 45,000 | 135,000 |
| August 2026 | 1,120,000 | 672,000 | 250,000 | 10,000 | 47,000 | 141,000 |
| September 2026 | 1,140,000 | 684,000 | 250,000 | 10,000 | 49,000 | 147,000 |
| Latest twelve months | 12,360,000 | 7,416,000 | 3,000,000 | 120,000 | 456,000 | 1,368,000 |
The tax figures are illustrative booked expenses, not a recommendation about the company's tax rate. Each month's net income equals revenue minus the other four expense columns.
In a spreadsheet, put month-end dates in A, revenue in B, cost of sales in C, operating expenses in D, interest in E, income tax in F and net income in G. Assume rows 2 through 25 contain the full twenty-four-month history. Put the report end date in J2.
Current trailing revenue is:
=SUMIFS(B2:B25,A2:A25,">"&EOMONTH($J$2,-12),A2:A25,"<="&$J$2)
Use the same formula for columns C through G. The date condition excludes September 2025 and includes September 2026. Confirm the window contains twelve monthly records:
=COUNTIFS(A2:A25,">"&EOMONTH($J$2,-12),A2:A25,"<="&$J$2)
This count works for the one-row-per-month layout shown here. For account-level exports, check a separate list of unique closed months; counting transaction rows would prove nothing about completeness.
New trailing total = Previous trailing total − Oldest month leaving + Newest month entering
The statement ending August 31, 2026 runs from September 2025 through August 2026. Apply the identity independently to every line:
| Line | August trailing total (USD) | Remove September 2025 (USD) | Add September 2026 (USD) | September trailing total (USD) |
|---|---|---|---|---|
| Revenue | 12,120,000 | −900,000 | 1,140,000 | 12,360,000 |
| Cost of sales | 7,272,000 | −540,000 | 684,000 | 7,416,000 |
| Operating expenses | 2,990,000 | −240,000 | 250,000 | 3,000,000 |
| Interest | 120,000 | −10,000 | 10,000 | 120,000 |
| Income tax | 434,500 | −27,500 | 49,000 | 456,000 |
| Net income | 1,303,500 | −82,500 | 147,000 | 1,368,000 |
Revenue increases $240,000 between rolling statements, while net income increases $64,500. Those changes reflect the two September months, not the total activity in the newest month. Also check the statement identity: $12,360,000 less $7,416,000, $3,000,000, $120,000 and $456,000 equals $1,368,000.
For a compact prior-period baseline, assume each month from October 2024 through September 2025 had the same amounts as the September 2025 row above. Multiplying each amount by twelve gives the prior statement. In a live workbook, sum the twelve individual monthly records instead.
| Measure | Previous twelve months (USD) | Latest twelve months (USD) |
|---|---|---|
| Revenue | 10,800,000 | 12,360,000 |
| Cost of sales | 6,480,000 | 7,416,000 |
| Operating expenses | 2,880,000 | 3,000,000 |
| Interest | 120,000 | 120,000 |
| Income tax | 330,000 | 456,000 |
| Net income | 990,000 | 1,368,000 |
Revenue grew 14.4% and net income grew 38.2%, using current divided by prior minus one. Net margin rose from 9.2% to 11.1%, using each period's total net income divided by total revenue. Percentages are rounded to one decimal place.
Select the prior window with:
=SUMIFS(B2:B25,A2:A25,">"&EOMONTH($J$2,-24),A2:A25,"<="&EOMONTH($J$2,-12))
The rolling average guide explains averages; a trailing income statement sums the dollar flows. A projected P&L looks forward, while a P&L dashboard presents the resulting measures for review.
Upload your monthly accounting export with period labels and consistent P&L categories to Covirage. Covirage maps the columns, its tools compute and check rolling revenue, cost and profit comparisons, and the external AI model explains the movements with every figure traced to its rows. Create a free Covirage account and bring a sample of your own data.
See Covirage for finance teams for the wider reporting workflow.
No. Year to date starts at the beginning of the current fiscal year. Trailing twelve months always covers twelve completed months and can cross a fiscal year-end. They coincide only when the rolling statement ends on that fiscal year-end.
Yes, if you have four consecutive standalone quarters prepared on a consistent basis. Check whether the export shows individual quarters or cumulative year-to-date amounts. Subtract prior cumulative figures when necessary before adding quarters, and retain the period labels in the supporting schedule.
No. Sum the revenue and profit amounts, then divide total profit by total revenue. Adding monthly margins has no useful interpretation, and a simple average gives a small revenue month the same importance as a much larger month.