Skip to content
AI extraction · automatic reconciliation

Every invoice, extracted.
Every ledger, reconciled.

LedgerSync reads incoming invoices with AI, turns them into structured records, and matches them against your ERP data automatically — so your team reviews exceptions, not everything.

invoice_brightsupply_0417.pdf

Invoice

Bright Supply Co.

INV-0417

Apr 17, 2026

Warehouse pallets ×40$1,840.00
Freight & handling$620.00
Packaging materials$1,820.00
SupplierBright Supply Co.
Invoice #INV-0417
Total$4,280.00
Extracted with AI
Matched · 98%
AI-powered document extraction
BullMQ background pipeline
Local disk or S3 storage
Typed access & refresh JWTs
Structured JSON, not free-text parsing
Platform

Built for the invoice-to-ledger workflow

One pipeline from a raw upload to a reconciled record — running in the same process, per tenant.

AI-powered extraction

AI reads each PDF or image against a strict structured JSON schema — no brittle regex or free-text parsing — and returns supplier, line items, and totals ready to reconcile.

Every field it extracts

Smart reconciliation

Extracted documents are matched to ERP records by supplier and invoice number, then scored field-by-field with a match status and flagged discrepancies.

How matching works

Tenant-isolated by design

Every tenant gets its own database. Every query is scoped to it — cross-tenant access simply isn't reachable from the API.

Role-based access

Admins, members, and read-only viewers — scoped down to who can upload, write to the ERP, or review reconciliation.

Background processing, one deployable

Uploads queue onto BullMQ and Redis and are picked up by a worker running in the same process as the app — extraction and reconciliation happen off the request path, with workflows and tickets for exceptions that need a human.

How it works

From raw file to reconciled record

01

Upload

Drop in a PDF or image. It lands on local disk or S3, and its content type is verified against the actual file bytes — not just a trusted header.

02

Extract

AI reads the document against a fixed response schema, returning structured supplier, invoice, and line-item data.

03

Reconcile

The extracted record is matched against your ERP data and scored — a clean match clears automatically, a mismatch surfaces for review.

Security

Isolation is the default, not an option

  • Every request is scoped to the caller’s tenant — there is no code path that reads across tenant databases.
  • Access and refresh tokens are typed, so a refresh token can’t be replayed as an access token.
  • Two-factor authentication (TOTP) is available per user, checked before a session is issued.
  • Errors are normalized before they reach the client — no stack traces or raw database errors leak out.
One database per tenant, resolved from the JWT on every request

Stop reconciling ledgers by hand.

Talk to us about pointing your invoices at LedgerSync — we'll set your workspace up directly.