Drop a multi-statement financial report PDF — annual report, management pack, audit-firm output — and the tool extracts each statement onto its own sheet with real number cells. P&L → "Page 2", Balance Sheet → "Page 3", Cash Flow → "Page 4", all editable.
01 — What you create
Each financial statement (P&L, balance sheet, cash flow, equity reconciliation) becomes its own named sheet. Numbers come through as number-typed cells so SUM, AVG, and YoY % formulas just work without re-typing.
annual-report-fy26.xlsx
3 statement sheets + _meta · numbers as numbers
Sheet: Profit & Loss
| Line item | FY26 (current) | FY25 (prior) | Δ % |
|---|---|---|---|
| Revenue from operations | 44,200,000 | 38,500,000 | 14.81% |
| Other income | 1,820,000 | 1,620,000 | 12.35% |
| Total revenue | 46,020,000 | 40,120,000 | 14.71% |
| Cost of materials | -18,400,000 | -16,200,000 | 13.58% |
| Employee benefits | -14,200,000 | -12,800,000 | 10.94% |
| Depreciation | -2,400,000 | -2,280,000 | 5.26% |
| Other expenses | -3,600,000 | -3,450,000 | 4.35% |
| Profit before tax | 7,420,000 | 5,390,000 | 37.66% |
Every numeric cell is real number-typed. Switch between sheets for each statement.
Scanned invoices, multi-page batches, multi-currency stacks, and direct push into your accounting system. Free for 30 days, no card required.
Try Premium FreeFree 30 days · no credit card · cancel anytime
02 — How it works
Auditors hand you a beautiful PDF; you need to model the numbers in Excel. Re-typing 200 line items is a half-day exercise that introduces mistakes. This tool turns the PDF into an editable workbook in 30 seconds — every numeric cell stays numeric so the moment you open it, formulas work.
Drag in any annual report, audit-firm output, or management pack PDF. The tool extracts the text layer locally with pdfjs — nothing uploads.
Default settings (sheet-per-page + loose column tolerance) work for most multi-statement reports. The live preview shows the table the moment you change anything.
One click writes a proper .xlsx with one sheet per statement (P&L, balance sheet, cash flow), number-typed cells, and a _meta audit sheet.
03 — Built for FP&A
Defaults to sheet-per-page mode + loose column tolerance because that combo nails most multi-statement reports out of the box. Override if your source needs tighter detection.
Currency-prefixed, comma-thousands, accounting-negative ("(1,200.00)"), percentage cells all detected and upgraded to real number-typed cells. YoY % formulas work the moment you open the file.
P&L on its own sheet, balance sheet on the next, cash flow on the next. Matches the source PDF's navigation; no scrolling through one giant flat sheet to find the right statement.
Skip cover pages and audit reports with a range like "2-4" to grab just the financial statement section. Page-local column anchors per page mean each statement's columns line up correctly.
Every workbook includes a tiny _meta sheet recording source file, page count, mode, tolerance, and number-coercion choice. Useful audit-trail for FP&A / auditing colleagues.
PDF parsed with pdfjs locally, workbook written with SheetJS locally, downloaded via the browser. No upload, no third-party API, no logging.
Bulk OCR, batch invoicing, multi-party e-signing, redaction, audit logs — pdfFiller picks up where Sonchoy ends. Free for 30 days, no credit card.
Run 100+ invoices, statements, or conversions in one go.
Turn paper invoices into searchable, exportable data.
Multi-party signatures with full audit trails.
Mask sensitive ledger lines before sending to auditors.
04 — Common questions
Same engine, different defaults + framing. PDF to Excel is the generic tool. Financial Report PDF to Excel pre-selects sheet-per-page mode and loose column tolerance — the right settings for multi-statement reports straight out of the box. If you're extracting a vendor ledger or transaction list, PDF to Excel is the better landing.
No — it treats each page as a table and extracts the rows + columns it finds. The convention that each statement lives on its own page is what gives you "one sheet per statement" in the output. If two statements share a page, they'll both land on the same sheet; if a statement spans two pages, it'll split across two sheets (paste them together in Excel).
Yes. Accounting-format negatives like "(1,234.56)" are detected and converted to -1234.56 as real number cells. Same for currency-prefixed values (₹, $, €, £, ¥) and percentages (12.5% → 0.125 with % formatting applied).
They come through as separate columns — typically "FY26 (current)" and "FY25 (prior)" become two number columns. You can drop a third column in Excel for YoY % delta or growth, and the formula will work because both source columns are real numbers, not strings.
Sometimes. If a line item description wraps to a second line ("Cost of materials consumed and inventory adjustments"), the second line may land on its own row in the output. Quick fix: open the .xlsx in Excel and concatenate the two rows. Better fix: try row tolerance "Loose" which groups wrapped lines together more often.
Never. The PDF is parsed locally by pdfjs, tabularised in JavaScript, and serialised to .xlsx locally by SheetJS. The browser triggers the download. No upload, no third-party API, no logging.
05 — Related tools