RayzentLabs
Automation · manufacturing

Ledgerly: supplier invoices arrive as pdfs

Supplier invoices arrive as PDFs, photos and email attachments. Ledgerly reads them, matches them to purchase orders, flags mismatches and posts clean records to accounting.

sample entry — replace with real work before launch (this page is set to noindex)

500+
invoices in the eval set
~90%
processed untouched
1 person
covers what took three

Key features

  • Ingests email attachments, uploads and a WhatsApp inbox
  • Line-item extraction with confidence scores per field
  • Purchase-order matching with tolerance rules
  • Exception queue for anything below threshold
  • Two-way sync with the existing accounting system

UI/UX approach

Built for one job: clear the queue. A single work surface with the document on the left and extracted fields on the right, each field clickable to highlight its source region. Keyboard shortcuts move through the queue without touching the mouse.

AI features

  • Vision model reads scanned and photographed invoices in mixed layouts
  • Field-level confidence routes low-certainty documents to a human
  • Supplier and item normalisation against a master list
  • Duplicate detection using embedding similarity

How AI changed the build

The evaluation harness was itself generated — scoring scripts, edge-case fixtures and a regression suite running on every prompt change, which made fast prompt iteration safe instead of a guess.

AI tools used

Claude API (vision)OpenAI APIn8nCursor

Technologies

FastAPIPythonPostgreSQLRedisDockerReactRailway

Live link

Private build — walkthrough available on request.

process

How the project ran.

  1. Collected 500 historical invoices as an evaluation set
  2. Benchmarked extraction accuracy before committing to a model
  3. Built the review interface first, so humans could work from day one
  4. Added auto-post only for field groups clearing the accuracy bar
  5. Tuned thresholds monthly against live corrections

This follows the six-stage process every project uses.

Building something like Ledgerly?

A 30-minute walkthrough of this record on a call, then a written scope and a real number for your version of it.