How to pull invoice numbers, dates and totals out of PDF invoices in bulk (2026)
To pull invoice numbers, dates and totals out of many PDF invoices, search each invoice's text for the label that precedes each value ("Invoice No", "Invoice Date", "Total Due", "Amount Due") or for its format, then write one row per invoice. A total should be taken from the line that says total, amount due or balance due, not from the largest number on the page, and dates must be read with the right day/month order. Then check the result: no duplicate invoice numbers, no empty cells, and a column sum that matches what you expect.
The fields and how to find them
| Field | Labels to look for | Format clues | Pitfalls |
|---|---|---|---|
| Invoice number | Invoice No, Invoice #, Invoice Number, Bill No | Letters, digits, dashes: INV-10023, 2026-0142 | "Invoice" also appears in titles and sentences; require a digit |
| Invoice date | Invoice Date, Date, Issued | 03/04/2026, March 4, 2026, 2026-03-04 | 03/04/2026 is March 4 (US) or April 3 (UK, EU); due dates sit nearby |
| Subtotal | Subtotal, Net amount, Total excl. tax | Amount with 2 decimals | "Subtotal" also contains "total" |
| Tax | Tax, Sales Tax, VAT | Amount, often next to a rate (8.875%, 20%) | The rate itself is not the amount; "VAT No" is an ID, not money |
| Total | Total Due, Amount Due, Balance Due, Grand Total, Total | Amount, often bold, near the bottom | Discounts, deposits and "already paid" lines |
| Supplier VAT ID | VAT Reg No, VAT ID, TVA | GB123456789, FR + 11 characters, DE + 9 digits | Must match the country format |
| Bank details | IBAN | Country code, 2 check digits, account | Validate with the ISO 13616 mod-97 check |
Number and date formats
The same amount appears as 1,234.56 (US, UK), 1.234,56 (Germany, Italy, Spain) or 1 234,56 (France). A converter that only knows one convention turns 1.234,56 into 1.23456 or into text. Dates have the same problem: decide the day/month order per supplier country, and store dates in the spreadsheet as dates, not strings, so that sorting and filtering by month work.
Step by step
- Put the invoices in one folder. Keep only text-based PDFs; scans need OCR first.
- Define the columns once: invoice number, date, subtotal, tax, total, supplier VAT ID.
- For each column, choose how to find it: a label (value on the same line, or under it in a header row), a pattern, or a dedicated detector for dates, totals and IDs.
- Run it on all invoices and review the table: empty cells are fields not found, odd values are usually a neighbouring line picked up.
- Fix the few exceptions by hand, then export to Excel with real dates and numbers.
- Save the setup to reuse it next month.
The PDF data extractor does these steps in the browser: detectors for invoice number, date, total, subtotal, tax, EU VAT ID and IBAN (with checksum), label and regex fields, suggestions from the first invoice, editable cells, duplicate warnings, column sums, and XLSX or CSV export. Export is free up to 5 invoices; beyond that, $4.99 for 24 hours, after the full on-screen preview.
Checks that catch most errors
| Check | What it catches |
|---|---|
| One row per PDF | Unreadable, password-protected or scanned files |
| No duplicate invoice numbers | The same invoice saved twice, or a credit note with the same number |
| Subtotal + tax = total, per row | A wrong line picked for one of the three amounts |
| Sum of totals vs. payables ledger or bank payments | Missing invoices |
| Dates within the expected period | Day/month swapped, or the due date picked instead of the invoice date |
FAQ
Why not take the largest amount on the invoice as the total? It often works, but fails when a line item, a previous balance or a yearly figure is larger than the amount due. Prefer the amount on a line labelled total, amount due or balance due, and fall back to the largest amount only when no such line exists.
How do I handle invoices from many suppliers with different layouts? Use field definitions that do not depend on position: labels, patterns and detectors. Add a supplier-specific label only for the few that use unusual wording, and save the setup as a template.
Can I get the line items too? Line items are tables of variable length; a one-row-per-invoice sheet holds header fields (number, date, totals, IDs). For line items, use a table importer such as Power Query on invoices that share a layout.
What about e-invoices? Structured e-invoices (XML, or PDF with embedded XML) already carry the data in fields; read them with your accounting software. PDF extraction is for invoices that arrive as plain PDFs.