BillSight

Read your invoices on your own computer - and keep the originals to prove what arrived

BillSight reads the fields your books need - vendor, invoice number, dates, currency, subtotal, tax, total due, line items - from invoice PDFs and e-invoice XML, and hands you a clean Excel or CSV. It runs entirely on your own computer: no upload, no account, no AI service and no per-invoice fee. Every original is kept in a local archive addressed by its content, so a figure can always be traced back to the file it came from. And when it is not sure about a value, it says so, instead of filling in a number that looks plausible.

Support Windows, Linux & macOS

BillSight reading a folder of invoices into a table

What It Reads

In: invoice PDFs that carry a text layer, and e-invoice XML. Out: Excel, CSV, line items, or UBL.

Invoice PDF Excel (XLSX) CSV UBL 2.1 out Factur-X ZUGFeRD UBL CII CFDI NF-e FatturaPA Facturae Line items Multi-currency

What it will not pretend to read: scans and photos. When a document has no text to read, BillSight says "this looks like a scan" and stops there - it does not invent numbers for you to check later. (OCR is not in this version.) An invoice that arrives as e-invoice XML - on its own or embedded in the PDF - is read exactly, so it needs no guessing at all.

Built for Invoices You Cannot Upload

A cloud AI service is quick for a one-off pile of scans. These are the invoices - and the records - where it is the wrong tool.

They carry more than numbers

An invoice has a bank account, a supplier's terms, your own address and what you paid. BillSight reads it where it already is - no upload, no account, no third party.

You may have to produce it years later

Every original is stored in a local archive under its content hash. When the accountant, the auditor or the tax office asks for the invoice you booked in March, the file you produce is the one that arrived - and its hash shows it has not changed.

The books cannot contain a guess

BillSight marks a value it is unsure of and stops at a scan. A cloud model can invent a plausible number; a posted invoice needs the real one. Where AI is quickest, use it - where the number has to be right, the reading has to be checkable.

Key Features

The fields your books need

Vendor, customer, invoice number, issue date, due date, currency, subtotal, tax, total due, invoice type code and PO number - plus the line items, when the document has them.

It says when it is guessing

Every value carries where it came from - the word it was read from, the line it was on, or the rule that produced it. The ones it is not sure about are tinted and marked please check, so you look at those, not at all of them.

E-invoice XML read exactly

Factur-X, ZUGFeRD, UBL, CII, CFDI, NF-e, FatturaPA and Facturae are read from the XML itself, and so is the XML embedded inside a PDF - no picture, no guessing.

Your suppliers, learned once

When one supplier's layout is read wrongly, fix the value in the table and save it as a rule for that supplier. The next invoice from them is read that way.

Checked before you export

Subtotal plus tax against the total, dates that cannot be right, invoice numbers that appear twice, fields a standard requires - all checked, and an export you can stop before it writes anything.

Everything stays on this computer

No upload, no cloud account, no network. Your invoices - and the copies BillSight keeps of the originals - are files on your own machine.

How It Works

1

Add Files... or Add Folder...

Drag in a single invoice, or point it at a folder and let it take the sub-folders too.

2

Check the reading

The table shows each field, where it was read from, and the line in the document it came from. A wrong value is fixed in the cell, not in the PDF.

3

Make Table... or Import to System...

Excel or CSV with the columns you choose, a saved template for your accounting system, the line items on their own, or a UBL e-invoice for the customer.

Extraction Example

From an invoice PDF to a row your spreadsheet can use

Original Invoice (PDF):
Northwind Supplies Ltd
14 Harbour Road, Bristol BS1 4TR, United Kingdom
Invoice number: INV-2026-0417  Date of issue: 17 April 2026
Due date: 17 May 2026  Currency: EUR
Subtotal   1,240.00
VAT (19%)   235.60
Total due   1,475.60

Exported Excel / CSV:
"vendor","invoice_number","issue_date","due_date","currency","subtotal","tax","total_due"
"Northwind Supplies Ltd","INV-2026-0417","2026-04-17","2026-05-17","EUR","1240.00","235.60","1475.60"

Note: amounts come out as plain numbers with a dot (1240.00) and the currency as an ISO code, so nothing has to be cleaned up before the spreadsheet or the accounting system sees it.

Fields BillSight extracts:
Vendor: name, address, tax ID
Customer: name, address
Invoice number, invoice type code, PO number
Issue date, due date
Currency, subtotal, tax, total due
Line items: description, quantity, unit price, amount

Note: every value keeps its Read from and Seen in the document columns, so a figure can always be traced back to the line it came from - and a value the reader is unsure of is marked instead of trusted.

Why the Numbers Hold Up

Nothing is invented

A field the document does not carry stays empty. A line-item list that does not add up to the stated subtotal is dropped rather than repaired. An amount or date that cannot be parsed is left blank - not guessed.

You can see the evidence

Each row shows the word or rule the value was read from, and the line it was read on. A reading you agree with can be accepted in one click and stops asking.

The originals are kept

Every invoice taken in is copied into a local archive, addressed by its own content hash. The same file arriving twice is stored once - and you can search the archive by invoice number, supplier or file name.

What People Actually Do With BillSight

It is the 30th, and forty invoices have to become one spreadsheet

The month's folder in, one checked table out, with the two files that would not read named instead of skipped.

Did I already pay this one?

The same invoice sent twice under two file names, caught by supplier and invoice number - before it becomes two payments.

Prove what arrived - and that it has not changed

Every original kept as it came in and addressed by its content, so March's invoice can be produced when somebody asks for it.

The invoices never leave this computer

No upload, no account, no network - and an archive that is a folder on your own disk.

I work for myself - and the invoices still have to become a ledger

No accounts department: the invoices read into the columns your books need, with the originals kept on your own machine.

Frequently Asked Questions

Can BillSight read scanned invoices or photos?

No - and it will tell you so rather than guess. When a PDF has no text layer, BillSight reports it as "this looks like a scan" and reads nothing from it. OCR is not part of this version. Invoices that arrive as e-invoice XML are read exactly, from the text itself.

Why not use a cloud AI service to extract invoices?

For a one-off pile of scans, a cloud service is often the fastest route. BillSight is for the invoices you are not allowed to upload - they carry bank details, supplier terms and your pricing - and for records you may have to produce years later. It runs offline, charges no per-invoice fee, keeps a content-addressed copy of every original, and refuses a scan rather than guessing a number for your books.

Are my invoices uploaded to a server?

No. BillSight is a desktop application that processes everything locally. Your invoices never leave your computer and no cloud account is required.

Which e-invoice formats are read?

Factur-X, ZUGFeRD, UBL, CII, CFDI, NF-e, FatturaPA and Facturae - and the XML embedded inside a PDF. An output in UBL 2.1 can be written as well, with line items.

What if a value is read wrongly?

Fix it in the table - the exported file uses the value you left there. If it is a supplier you deal with regularly, save the correction as a rule for that supplier and the next invoice from them is read that way.

What can I export?

Excel (XLSX), CSV or TSV with the columns you choose; the 11 standard columns your accounting system wants; the line items on their own; or a UBL 2.1 e-invoice. A column set can be saved as a template, so the next export is one click.

How many invoices can I extract at once?

There is no fixed limit. BillSight supports recursive folder scanning and can batch extract large numbers of invoices in a single run, with a progress bar you can stop.