Extract the line items from an invoice

Every row of the invoice's table (description, quantity, unit, unit price and amount) becomes a row, and the header (vendor, number, date, totals) is repeated on each one. That is how accounting and accounts payable need line items to post them, reconcile them or check them against a purchase order. Works on PDFs, scans and photos, with no per-vendor templates.

  • PDF, JPG or PNG · up to 5 pages
  • 5 free documents a day
  • Everything deleted after 24 h

How it works

  1. 1. Upload the invoice

    Text PDF, scan or photo. One page or several, up to 5.

  2. 2. Tavnit splits out the lines

    It finds the table even without ruled borders, reads each row (description, quantity, unit, price, amount) and attaches the header to it.

  3. 3. Review and download

    One row per line item on screen. With a free account you take it home as Excel, minus any columns you do not need.

Common questions

What is an invoice line item?

Each row of the detail table: one product or service with its description, quantity, unit, unit price and amount. The footer totals (subtotal, tax, total) are not line items; they come out as header fields repeated on every row.

Why do the vendor and number appear on every row?

So that each row stands on its own: you can filter, sum or paste the lines of many invoices into one sheet without losing which invoice they came from. It is the shape an ERP, a pivot table or a reconciliation expects.

Does it work when the table spans several pages?

Yes. Tavnit follows the table from one page to the next and returns all the lines in sequence, without repeating the column header as if it were a row. The free version handles up to 5 pages.

What about wrapped descriptions or merged cells?

A description that continues on the next row is joined to its line; a merged cell is applied to the lines it covers. We do not depend on the table's rules but on reading which quantity, price and amount belong to each description.

How are per-line discounts and taxes handled?

Each line's amount comes out as printed. A discount or tax the invoice shows as its own row is not turned into a line item; it is treated as a document total. If your invoices itemise tax per line, an account lets you add that field to the Flow.

Can I check the lines against my purchase order?

Yes, with the free PO vs invoice check (/tools/po-vs-invoice-check): upload both documents and it flags lines with a different price or quantity, lines that are missing and lines that were added.

Do I need a template per vendor?

No. Tavnit reads each invoice as it comes; if the vendor redesigns it tomorrow, it still works. That is also why it handles invoices from different countries and languages alike.

How do I do this for hundreds of invoices?

With an account you create a Flow with these same fields (or your own) and forward invoices to its email address, or send them through the API. Each invoice comes out as rows into your ERP, Google Sheets or a Bucket, with nobody typing.

This tool runs one document at a time. The same engine can take them in by email or API, route them through your team’s review and deliver them to your systems.