Document processing

Most business documents were written for people, not software. We build systems that read them anyway. Some projects go one way, from a scan or a PDF to clean, validated data. Others go the other way, from voice notes and rough source files to a finished, formatted document. Here is what each looks like.

Extraction: documents in, data out

Invoices, permits, contracts, delivery notes: the paperwork that runs your operation, arriving as scans and PDFs. The system reads each one, pulls out the fields you care about, validates them against your rules, and flags anything it is not sure about for a person to check.

Invoice intake
loops
NL-2417-scan.pdf

INVOICE

Nordwind Logistics GmbH

Total 4,902.80

Reading the document

  1. Scan the pages2 pages
  2. Find the fields
  3. Extract the values8 fields
  4. Validate against rulessums match
  5. Deliver and flag1 for review

Extracted fields

VendorNordwind Logistics GmbH
Invoice no.NL-2417
Date2026-06-30
CurrencyEUR
Net amount4,120.00
VAT 19%782.80
Total4,902.80
IBANDE89 3704 0044 0532 0130 00Review

Two digits are unclear on the scan, so this one goes to a person.

Posted to accounting, saved asNL-2417.json

How it works

  1. 1

    Read every page

    Scans, photos, and PDFs all come in the same door. The system reads them the way an accountant would, not as raw pixels.

  2. 2

    Find the fields that matter

    Vendor, dates, amounts, line items: it locates them wherever the layout puts them, across formats it has never seen before.

  3. 3

    Extract and type the values

    Each value lands in a named field with the right type, a date as a date, an amount as a number.

  4. 4

    Validate against your rules

    Sums have to add up, dates have to be plausible, the VAT has to match the rate. Failures never pass silently.

  5. 5

    Flag what it is not sure about

    A blurry digit or an odd value goes to a person instead of into your books. That rule is what makes everything else trustworthy.

Generation: raw material in, report out

The same machinery run in reverse. Voice notes, photos, and messy source files go in, and a clean, correctly structured document comes out. We built exactly this for municipal housing inspections: the inspector narrates on site, and the system writes the report.

Inspection report
loops
voice-note-0712.m4a14 photos

HOUSING INSPECTION

Unit 4B, Lindenstraat 12

Building the report

  1. Transcribe the voice notes6:42 audio
  2. Map findings to the checklist23 items
  3. Draft each section
  4. Check completeness1 gap found
  5. Return for sign-offready

Report sections

Accessfrom notes 00:12
Kitchenfrom notes 01:05
Bathroomfrom notes 02:31
Living roomfrom notes 03:44
Bedroomfrom notes 04:20
Balconyfrom notes 05:10Review

The mandatory railing photo is missing, so the app asks the inspector for it before sign-off.

Draft sent for sign-off asunit-4b-report.pdf

How it works

  1. 1

    Listen to the inspector

    On site, the inspector talks through findings and takes photos. Nobody types anything.

  2. 2

    Map findings to the checklist

    Every remark is matched to the mandatory checklist item it belongs to, in the report's own structure.

  3. 3

    Draft each section

    The system writes the report in the required format, from what was actually said and photographed.

  4. 4

    Check completeness

    It compares the draft against the full checklist. A missing item gets flagged, not papered over.

  5. 5

    Hand back for sign-off

    The inspector fills gaps by chat or a quick edit and signs off. The report stays theirs.

Where this already runs

Both directions are delivered work, not concept pages. Two projects to look at.

Backlight AI · 2025

Municipal Inspection Report Automation

Inspectors narrate findings on site instead of typing. The system drafts the structured report, checks it against the mandatory checklist, and flags what is missing before sign-off.

Backlight AI · 2026

AI Translation Tool

A document goes in, gets segmented, translated with the client's own terminology, and recomposed into one file in the original format.