Skip to content
← AI Lab

Experiment 02Messy documents to clean data

Document extraction

Reads an invoice or a booking request and pulls out the fields that matter, with the line each value came from.

Simulated preview — local rules, no live AI. This experiment runs in your browser with illustrative data. Nothing you type is sent anywhere. Please use made-up text, not real personal or confidential details.

Try a sample

279/4000

Extracted record

Validated · simulated

InvoiceInvoice terms found: invoice, vat, total due, bill to.

Extracted fields with status and source line
FieldValueStatus
Invoice numberINV-2026-0142Line 2: Invoice No: INV-2026-0142Found
SupplierSample Print Studio (illustrative)Line 1: Sample Print Studio (illustrative)Found
Bill toSample consultancyLine 7: Sample consultancyFound
Issue date2026-10-02Line 3: Invoice date: 2026-10-02Found
Due date2026-11-01Line 4: Due date: 2026-11-01Found
Subtotal€1,250.00Line 10: Subtotal: €1,250.00Found
VAT€225.00Line 11: VAT (18%): €225.00Found
Total due€1,475.00Line 12: Total due: €1,475.00Found
CurrencyEURLine 10: Subtotal: €1,250.00Found

Checks

  • PassSubtotal + VAT = total.1250.00 + 225.00 = 1475.00
  • PassDue date after issue date.The due date is on or after the issue date.

What this shows

Extraction you can check: every value cites its source, ambiguous fields are left for a person, and totals and dates are cross-checked.

The rules here match patterns; they don’t understand language the way a model does. They exist to show the shape of the workflow honestly: fixed output, validation, and a person deciding.

In a production version

  • A model reads PDFs, scans and emails, and returns the same fixed fields, validated against a schema.
  • Low-confidence or ambiguous fields go to a review queue instead of straight into accounts or bookings.
  • Validated records are written to the accounting or booking system through its API.