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
Extracted record
Validated · simulatedInvoiceInvoice terms found: invoice, vat, total due, bill to.
| Field | Value | Status |
|---|---|---|
| Invoice number | INV-2026-0142Line 2: Invoice No: INV-2026-0142 | Found |
| Supplier | Sample Print Studio (illustrative)Line 1: Sample Print Studio (illustrative) | Found |
| Bill to | Sample consultancyLine 7: Sample consultancy | Found |
| Issue date | 2026-10-02Line 3: Invoice date: 2026-10-02 | Found |
| Due date | 2026-11-01Line 4: Due date: 2026-11-01 | Found |
| Subtotal | €1,250.00Line 10: Subtotal: €1,250.00 | Found |
| VAT | €225.00Line 11: VAT (18%): €225.00 | Found |
| Total due | €1,475.00Line 12: Total due: €1,475.00 | Found |
| Currency | EURLine 10: Subtotal: €1,250.00 | Found |
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.