Sign in

Blog · Board and management reporting · Finance and FP&A teams

Trailing 12-month income statement: build and check a P&L

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.

The short answerA trailing 12 month income statement adds revenue and expenses from the latest twelve completed months, regardless of the fiscal year-end. Each update removes the oldest month and adds the newest. Build it from consistent monthly P&Ls, calculate margins from the summed amounts and reconcile each line to the previous rolling total plus the month entering minus the month leaving.

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.

Set the dates and the accounting basis

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.

Work from the monthly rows

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.

Use dates to select the window

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.

Prove the month entering and leaving

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.

Compare with the previous twelve months

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.

Where it goes wrong

  • Partial current month included. A partly posted month can depress the apparent annual run rate. End at the latest completed close.
  • Cumulative exports added together. Convert year-to-date amounts into monthly movements before summing.
  • Old versions mixed with revised months. A late journal can alter a historical period. Refresh the affected windows and retain a version record.
  • Margins averaged. Calculate each margin from the summed dollar amounts rather than averaging monthly percentages.
  • Changing business scope ignored. Acquisitions, disposals and account reclassifications need explanation before the rolling comparison becomes a performance judgment.

Check your rolling statement in Covirage

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.

Questions people ask

Is trailing twelve months the same as year to date?

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.

Can I calculate a rolling statement from quarterly reports?

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.

Should I add the monthly profit margins?

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.