Skip to content
← Work

Invoice AI

Private client — Israel

  • React
  • Node.js
  • Tailwind CSS
  • Tesseract OCR
  • OpenAI
Visit the live site →
Invoice AI interface

Context

A business receiving invoices in mixed formats and languages was rekeying them into spreadsheets by hand every month.

My role

Full stack developer. Built an invoice processing system that reads documents with AI, extracts line items, and produces reconciled Excel reports.

The hard part

Accuracy, and the fix was a second pass rather than a smarter prompt. A user signs in, uploads a batch of PDFs, and Tesseract runs the OCR. That text goes to an OpenAI model that turns it into structured fields, then a separate reasoning model checks every field of that output against the source before anything is saved. Only entries that pass the second model land in the ledger and the accounts. Two calls per invoice cost more than one, but it is the difference between a tool you can trust with the books and one you re-check by hand anyway.

Outcome

In production for the client, replacing manual re-keying of invoices into spreadsheets with batch upload and a checked ledger.