Financial Statements to Excel Without Losing the Subtotal Structure
A P&L is not a flat table. It has sections, subtotals that must not be summed twice, and two or three year columns that all look alike. Flatten it carelessly and your EBITDA quietly becomes someone else’s guess.
Convert one file free — see the table land in Excel
Free daily conversions · multi-year column layouts supported · CSV and Excel export.
Where financial statement extraction fails
Subtotals treated as line items
Gross profit, operating income, and net income are already sums. Add them to the detail lines and every total doubles.
Parentheses lose their sign
(1,450) means negative 1,450. Imported as text, expenses become revenue in your model.
Year columns merge
FY2024 and FY2023 sit 40 points apart with no rule between them, so both years collapse into one column of interleaved numbers.
Unit headers get lost
"$ in thousands" printed once above the table changes every number by 1000×. Miss it and your model is off by three orders of magnitude.
Notes and page furniture
Footnote markers, "(see Note 12)", and page numbers become stray values in the data.
Restated figures
Prior-year columns sometimes contain restated numbers that no longer match the last filing. Nothing in the PDF flags it.
What the conversion must preserve
- Section headings and indentation, so you can reconstruct the statement’s hierarchy.
- Subtotal rows marked as such, distinct from detail rows.
- One column per period, with the period labels kept — never merged into one amount column.
- Signs and units, so figures are comparable without mental arithmetic.
- Footnote text kept out of the numeric grid.
Turning three statements into a model
Most analysis starts by pulling P&L, balance sheet, and cash flow into one workbook, each on its own sheet, with the periods aligned. Do that before writing a single formula — misaligned years are the most common modelling error.
Then build a small check row: assets minus liabilities minus equity should equal zero for every period. It is a one-line sanity test that catches most extraction mistakes in the balance sheet.
A note on prior periods
When a company restates, the comparative columns in the new filing replace the old numbers. If you are building a time series, use the most recent filing’s figures for all periods it shows, and only use older filings for years the new one omits.
Keep the source filing in the filename. Analysts who cannot trace a number back to a page will eventually distrust the whole sheet.
Frequently asked questions
Can it handle multi-year column layouts?+
Yes. Columns are detected from the table geometry, so a three-year statement keeps three separate amount columns rather than interleaving values.
Do signs survive accounting parentheses?+
Yes. Values written as (1,450) are kept negative so arithmetic behaves correctly after import.
What about the "$ in thousands" header?+
It is part of the table header and is preserved for you to scale by. Always confirm the unit before using the numbers in a model.
Does it work on scanned annual reports?+
Scanned pages are OCRed first. Dense financial tables at low resolution are the hardest case — check totals and subtotals against the printed page.
Can I get the notes and MD&A too?+
Text sections can be extracted as text, but the numeric grid is what the table pipeline is built for. Treat narrative as reference material, not data.
Keep reading
Done reading? Convert a document and check the output yourself.
Convert a statement free