All essentials

Choose a folder of invoice PDFs. The tool reads their text in this tab, and you check every value.

Free tool

Invoice Rollup

Read vendor, date, invoice number and total from the text of invoice PDFs, using simple rules. Every value is editable, low-confidence values and duplicates are flagged, and totals are summed in whole cents. Export XLSX.

Drop a folder of invoice PDFs here

One invoice per PDF · files stay in your browser

Good to know

  • Extraction uses text rules and will get some invoices wrong. Check every value against the invoice before relying on the totals.
  • Scanned PDFs have no text to read, and are flagged. Run OCR PDF first, or type the values in.
  • Duplicates are flagged by invoice number or by vendor, date and amount. Nothing is removed for you.

Your files stay on your machine

This tool runs entirely inside your browser tab. Nothing is uploaded, stored, or sent to a server — close the tab and every trace is gone.

These are the free ones — see the full suite

How big a file can it take?

There is no upload, so there is no upload limit — but the work happens in this tab, which means your browser’s memory is the budget. Nothing here will refuse a file for being large; a big enough one simply gets slow and, eventually, reloads the tab. The figures below are rules of thumb on a desktop browser, not enforced caps. On a phone or tablet, expect a good deal less.

  • Files are read one at a time and released, so several hundred invoices are comfortable.
  • Each row is an editable field on the page, which is what slows down past about 1,000 invoices.

Password-protected PDFs are declined whatever their size — unlock the file first. If a run does die on a long document, splitting it into volumes and working through them one at a time is the reliable way round it.

Built on open source

The Essentials tools do their work in your browser using these open-source libraries, used under the licenses below. Each remains the copyright of its authors.

  • pdf-lib — MIT · creates and edits the PDFs you download
  • pdf.js — Apache-2.0 · reads your PDF and renders the page previews
  • SheetJS (xlsx) — Apache-2.0 · reads Excel workbooks — .xlsx, .xls, .xlsb and .ods
  • hyparquet — MIT · reads Apache Parquet files
  • hyparquet-compressors — MIT · the Parquet codecs beyond Snappy — Gzip, Zstd, Brotli, LZ4
  • JSZip — MIT · bundles multi-file results into one ZIP
  • Tesseract.js — Apache-2.0 · reads the text on scanned pages in OCR PDF, with its self-hosted engine and English data
  • exifr — MIT · reads photo dates, locations and orientation
  • geotiff.js — MIT · reads GeoTIFF elevation models
  • LERC — Apache-2.0 · decodes LERC-compressed GeoTIFFs, through geotiff.js
  • zstddec (with Zstandard) — MIT, BSD-3-Clause · decodes Zstandard-compressed GeoTIFFs, through geotiff.js
  • pako — MIT, Zlib · compresses and decompresses data inside pdf-lib, JSZip, PizZip and geotiff.js
  • shpjs — MIT · reads zipped Shapefiles
  • docxtemplater — MIT · fills the fields in Word templates
  • PizZip — MIT · opens Word templates for filling
  • jsdiff — BSD-3-Clause · finds the word changes in PDF Compare
  • msgreader — Apache-2.0 · reads Outlook .msg files
  • Lucide — ISC · the icons throughout these tools
  • React — MIT · the interface itself
  • Next.js — MIT · builds and serves these pages

pdf.js ships fallback fonts contributed by Foxit Software, redistributed here as part of pdf.js. JSZip is dual-licensed; it is used here under the MIT license.