Evaluate · table reading

PDF table extraction tool for filings: what the reader must record

Any PDF table extraction tool can pull cells into a spreadsheet; for financial statements the test is whether every value keeps its page, row, column and printed units, and whether the tool refuses to guess a digit it cannot read. This buyer's guide opens up the agent that does that job inside Financial Data Extraction.

Updated · 14 min read

A PDF table extraction tool finds the tables in a PDF and turns them into rows and columns you can use in Excel or code. For financial statements, that is the easy half. The hard half is everything a spreadsheet cell loses: which page the number came from, which period the column covers, whether the table was "in thousands", whether brackets meant negative, and whether a smudged digit in a scan was read or guessed. A tool that delivers clean cells without that record leaves an analyst unable to defend a number when a portfolio manager asks. Botminds' Financial Data Extraction uses an agent called the Table Reader for this step. It reads every page and table of a 10-Q, an earnings release, an investor deck or a local-language filing, scans included, and records each value with its page, table, row, column and printed units; it never infers a number that is not printed, and scanned values read below 0.85 confidence go to a person with the crop.

This guide is for the research data lead or technical buyer choosing how to extract tables from financial PDFs. Its examples are fictional sample data from the solution; the research figures come from peer-reviewed and preprint benchmarks, labelled as such.

One value, fully recorded: what a table reader keeps for a single cell

Document
Form 10-Q for the quarter ended September 30, 2026, filed 4:12 PM
Page
4 of 48
Table
Condensed consolidated statements of operations (unaudited; in thousands, except per-share amounts)
Row
Net sales
Column
Three months ended September 30, 2026
Printed
814,112
Units as printed
US dollars in thousands
Into the model
814.1 ($ millions), with the conversion shown
Read confidence
0.99
Checked against
Three segments plus the corporate and eliminations line on page 22
Fictional sample data: Corvane Industrial's third-quarter net sales as the Table Reader records it in Financial Data Extraction. Every field is visible in the cell's lineage, and the page opens with the row highlighted.

What is the best PDF table extraction tool for financial statements?

The best one for financial statements is the one whose output you can check, not the one with the highest headline accuracy. A converter that is right on 99 cells in 100 and silent about which one is wrong forces someone to check all hundred. A reader that records where every value came from, marks the ones it is unsure of, and shows its arithmetic on anything it converted lets a person check five.

That shifts the buying question from "how accurate is it?" to four narrower ones. Does every extracted value carry its page, table, row, column and printed units? Does the tool distinguish a number it read from a number it inferred, and a blank cell from a zero? What does it do with a scan it cannot read? And can you test it on your own filings, with errors you planted, before you trust it? The last is a method in itself, set out in the guide to testing an LLM for data extraction with seeded errors.

How do you extract tables from a PDF?

There are three families of method, and most modern tools combine them. Text-layer extraction reads the characters and their positions that a digitally produced PDF already contains, and infers rows and columns from alignment; it is fast and exact on clean filings and fails on scans, which have no text layer. Optical character recognition turns page images into characters first, then does the same; it handles scans but adds misread digits. Model-based extraction, including large language models and vision models, reads the page more as a person does, which copes with irregular layouts and footnotes but can produce plausible numbers that are not on the page.

For financial statements the method matters less than what is kept. A 10-Q filed on EDGAR is an HTML document whose statements are tagged in Inline XBRL, so its numbers can be read exactly; the PDF copies people pass around are renderings of it. An earnings deck is usually a digital PDF with charts and footnotes. A private issuer's noteholder report may be a scan of a printed page. A reader that has to handle all three needs all three methods, and a record that says which one produced each value.

What a table reader must record for every value

At minimum, the location, the printed form and the period. Location is document, page, table, row label and column header. The printed form is the exact string, such as "(17.0)" or "412.386", plus the scale and currency the table declares. The period is what the column header says, three months or nine months, because the same row prints both. Without those, every later step is guesswork: the conversion to millions, the mapping to the analyst's line, the footing check and the answer to "where did this come from?"

Two further fields separate a research-grade reader from a converter. One is the confidence of the read, so that low-confidence values can be routed to a person. The other is a clear distinction between a value that is absent and a value that is zero. A recent benchmark of PDF-to-JSON extraction makes the same point in its method: its scoring treats quantities with tolerance, identifiers with exact match, and insists that "omission must be distinguished from hallucination" (ExtractBench, arXiv 2602.12247, February 2026, not peer reviewed).

Where table reading sits in Financial Data Extraction: agents propose, people decide

  1. Agent

    Filing Watcher

    Picks up the filing and links the release, the deck and the analyst's model.

    Never: Never opens a private pack outside the covering team

  2. Agent

    Table Reader

    Records every value with page, table, row, column and printed units, in the original language.

    Never: Never infers a number that is not printed

  3. Agent

    Units & Periods

    Converts scale and currency, derives quarters from year-to-date figures, shows the arithmetic.

    Never: Never uses a rate other than the house rate

  4. Agent

    Mapper and Footing

    Maps each label to the analyst's line; adds every subtotal and finds the reconciling line.

    Never: Never plugs a difference

  5. A person decides

    Research associate

    Decides what the agents could not settle, types any digit a scan hid, accepts the column.

  6. A person decides

    Senior analyst

    Checks recasts and footing decisions before any version is shared.

The seven agents and three roles of Financial Data Extraction, condensed; the Restatement agent and Model Writer sit between the footing and the associate. Each 'never' is a limit written into the agent.

Can AI read tables in financial statements?

It can find numbers in them well; it is less reliable at the reasoning around them, and published benchmarks say so consistently. TableQuest, built from the table-rich text of real financial reports, tested seven state-of-the-art models and found that "despite reasonable accuracy in locating facts, they often falter when required to execute more sophisticated reasoning or multi-step calculations" (Pan et al., arXiv 2412.09884, NeurIPS 2024 workshop). An earlier peer-reviewed benchmark, TAT-QA, drew its questions from real financial reports' tables and text; the best model of its day reached 58.0% F1 against 90.8% for expert humans (Zhu et al., ACL 2021). Those 2021 models predate today's, which is why the number matters less than the shape: locating a value is easier than combining values correctly.

Breadth is its own problem. ExtractBench paired 35 PDFs with JSON schemas and 12,867 evaluatable fields and found that frontier models "remain unreliable on realistic schemas", with performance falling as schemas widened, "culminating in 0% valid output on a 369-field financial reporting schema across all tested models" (ExtractBench, 2026, not peer reviewed). A whole-quarter extraction in one pass is exactly that kind of wide schema.

The design response is to keep the model's job narrow. The Table Reader reads and records; it does not add, convert or map. Arithmetic is done by Units and Periods and Footing, with the working shown; meaning is decided by the Mapper and, below threshold, by a person. FINRA's 2026 oversight report suggests the matching control to firms considering generative AI: validate model outputs and keep a person reviewing them, with regular checks for errors (FINRA, 2026 Annual Regulatory Oversight Report).

A table read back to its page: Financial Data Extraction's lineage for net sales

The analyst's model for Corvane Industrial with total revenue for the third quarter of 2026 selected at 814.1, confidence 0.99, marked needs you. The Footing agent's note says segments add to 812.4 million against net sales of 814.1 million, that it found the 1.7 million corporate, other and eliminations line of 1,711 thousand on page 22, and that it will not plug it, with buttons to add the row and back-fill or reject. Below, the lineage: Form 10-Q for the quarter ended September 30, 2026, page 4, the condensed consolidated statements of operations in thousands with the net sales row highlighted, the table row printed 814,112, and the units printed in thousands converted to 814.1 million.
Fictional sample data. The read is certain (0.99) and still needs a person, because the footing failed; a reader's confidence is about the digits, not about whether the model is complete.

Can it read scanned financial statements?

Yes, with a rule for what it cannot read. Scans are where table extraction loses most: skew, low resolution, stamps and handwriting make digits ambiguous, and a model that is asked for a number tends to supply one. The safe rule is to separate reading from guessing. In Financial Data Extraction, a scanned value read below 0.85 confidence is not written; it goes to a person with the crop of the page, and the Footing agent re-checks whatever the person types against the rest of the document.

In the fictional sample, a private 144A issuer's noteholder report arrived as a 200 dpi scan, skewed on the page. The Table Reader read net revenue at 0.83, adjusted EBITDA at 0.61 because the last digit was unreadable, and capex at 0.82. All three went to the research associate with the crops, and the agent's note was blunt: "I never guess a digit: type what you see and the Footing agent re-checks it against the covenant table on p.9."

Eight table traps in a 10-Q, a deck and a German quarterly

Most extraction errors in financial tables are not misread characters. They are correct characters read in the wrong context. The eight below account for most of what an associate checks by hand.

Where financial tables mislead a reader, and what catches each

TrapWhat it looks likeWhat catches it
Scale in the header"In thousands, except per-share amounts" printed once above the tableRecording the declared scale with every value, then converting with the arithmetic shown
Brackets and signs(17.0) for a cost line; a positive cost elsewhereKeeping the printed string. In XBRL, the SEC staff note most elements are entered as positive values, with negation done in the label
Two periods in one table"Three months ended" and "Nine months ended" side by sideReading the column header as the period, never the column position
Mixed units in one documentThousands of euros on page 4, millions on page 9Tying the same line across pages after conversion
Local number formats412.386 meaning four hundred twelve thousand; 1,31 meaning one point three oneParsing by the document's language and locale, then footing
Footnoted definitionsA metric renamed on a slide, its new scope in footnote 2Reading footnotes as part of the table, and asking on any changed definition
Presenter rounding"$2.31 billion" on a slideConverting with the rounding marked, and replacing it when the filing gives the exact figure
ScansA skewed 200 dpi page; a last digit lost in the foldA confidence floor below which a person types the value from the crop
Our list, illustrated from fictional sample filings in Financial Data Extraction (a US 10-Q, an investor deck, a German Quartalsmitteilung and a scanned noteholder report). The XBRL sign convention is from the SEC's structured-data staff reminder of July 20, 2017.Source: SEC, Negative Values reminder, 2017

Local formats deserve a word of their own, because they defeat tools that are excellent on English filings. In a German quarterly the same characters mean different numbers: a full stop groups thousands and a comma marks the decimal. Research on machine translation found that numerical mistranslation "is a general issue" across major commercial systems and research models (Wang et al., Findings of ACL 2021), which is why the agents read the original-language table rather than an English rendering of it. A Japanese company's English summary can also round what the original prints in full; in the solution's sample, the agents used ¥48,612 million from the Japanese original rather than the English summary's ¥48.6 billion.

A German table beside the analyst's English line names in Financial Data Extraction

Altmark Antriebstechnik's Quartalsmitteilung for the third quarter of 2026 side by side: the original German income statement in thousands of euros on the left, with Umsatzerlöse 412.386 and EPS 1,31 euros, and on the right the analyst's line names with values in millions of euros: total revenue 412.4, gross profit 110.4, EBIT 38.9, adjusted EBIT 42.6 held at 0.89 confidence, net income 26.1, EPS 1.31 marked comma decimal, and two segment revenues from page 9 in millions. Units and Periods confirms page 4 in thousands and page 9 in millions both convert and revenue ties at 412.4 million euros.
Fictional sample data. Two scales and comma decimals in one 18-page document; revenue is tied across page 4 and page 9 after conversion, and each value keeps its original string.

From PDF to Excel, without losing the page

Most people who search for a PDF table extraction tool want the numbers in Excel. The common route, export the table to a sheet and copy the cells into the model, keeps the number and drops everything else; a month later nobody can say which page a cell came from. The alternative is to write into the workbook with the lineage attached: in Financial Data Extraction an Excel add-in writes each accepted value with a link and a note on the cell, so clicking it shows the filing, page, row, units, mapping and checks.

Writing into the analyst's own workbook also changes what "extraction" has to produce. It is not a new sheet in a vendor's layout but a new column under the analyst's own line names, beside the analyst's estimates, with the analyst's formulas left alone. The guide to AI financial modeling in the analyst's own model covers that half.

What to ask before you buy a PDF table extraction tool

Twelve questions for any PDF table extraction tool used on filings

  1. Does every value carry page, table, row, column and printed units?

    If not, every later check depends on someone reopening the PDF.

  2. Does it tell a blank from a zero?

    An omitted value and a hallucinated zero look the same in a spreadsheet.

  3. Is the printed string kept beside the parsed number?

    It is the only way to audit scale, sign and locale after the fact.

  4. How does it read the column header?

    Quarter and year-to-date columns sit side by side in every 10-Q.

  5. What happens below its confidence floor?

    The right answer is a person and a crop, not a best guess.

  6. Does it read scans and local languages?

    Ask for a demonstration on your own worst document, not the vendor's best.

  7. Are footnotes read with the table?

    Definitions change in footnotes; a tool that skips them maps old meanings to new numbers.

  8. Can you plant errors and see what it catches?

    A seeded test on your own filings beats any published accuracy figure.

  9. Where does the output go?

    Into your model under your line names, or into a template someone must re-key.

  10. Does it convert units with the arithmetic shown?

    Every derived or converted value should say how it was derived.

  11. Is there an audit trail per value?

    Who changed it, when, why and from which page; research records are kept for years.

  12. Who can change its thresholds?

    A confidence floor is a control; changing it should need a second person.

Our buyer's checklist for research and data teams. For broader questions about AI tools in research, see the equity research guide linked below.

Buyers comparing whole platforms rather than a single step will find a wider set of questions in AI tools for equity research: 12 questions to ask before you buy, which covers restricted lists, sign-off and records as well as extraction.

Where Financial Data Extraction fits, and where it does not

It fits a research team that keeps its own models and needs each covered company's new quarter in them the day it reports, from the 10-Q, the release, the deck, local filings and private packs, with every value tied to its page and checked by a second person. In the solution's fictional sample, a 10-Q, a release and a deck, 84 pages and 63 tables in all, are read and 31 values mapped into the analyst's column in 40 seconds, and the associate then decides the two things the agents could not settle.

It does not replace every tool that extracts tables from PDFs. If you need one table out of one document once, a desktop converter is cheaper. If you need a standardized field across thousands of companies for screening, the SEC's structured data or a data vendor's dataset is the better source; the solution uses a vendor dataset, where one exists, only as a cross-check. And it is not a way to avoid checking: the agents propose and never accept, check or publish.

Questions people ask

How accurate is PDF table extraction?

It depends on the document and the task more than the tool. Benchmarks find models locate values reasonably well but falter on multi-step reasoning, and fail on very wide schemas extracted in one pass. Measure accuracy on your own filings with planted errors, and count the errors a tool flags as well as those it misses.

How do you extract tables from a PDF to Excel?

Extract the table with its page, row and column labels, convert units explicitly, then write the values into the workbook. For financial models, write into the existing model under its own line names, and keep a link from each cell to its page so the number can be traced later.

Can AI read tables in scanned financial statements?

It can read most of a clean scan, but low resolution and skew make some digits ambiguous. A safe tool sets a confidence floor and routes anything below it to a person with the crop; Financial Data Extraction's floor is 0.85 by default.

Is XBRL better than PDF extraction for SEC filings?

For the face statements of SEC filers, XBRL gives exact, tagged values. It does not cover the earnings release, investor decks, MD&A metrics or non-SEC issuers, and custom tags make some lines hard to compare. Most research teams need both.

What does a table reader do with numbers it cannot read?

A well-designed one says so. The Table Reader in Financial Data Extraction never infers a number that is not printed; it records its confidence, and scanned values below the floor go to a person, after which the Footing agent re-checks the typed value against the rest of the document.

Financial Data Extraction.
See it on your own files.

An agentic solution from Botminds. Each new filing's numbers land in the analyst's own model the day it files, every value read, mapped, footed and checked against its page before an associate accepts the column. Book a demo, or explore how it works.