Working demo / Synthetic documents
Invoice processing: test the exception workflow.
This runnable example parses a small, fixed text-invoice format, checks required fields and routes exceptions. Try the sample documents and inspect the actual output below.
Scope: rules-based validation in your browser. No AI model, OCR, PDF extraction, ERP posting or payment is performed. Sample tax amounts are arithmetic fixtures, not tax guidance. Use synthetic examples only.
1. Load a sample document
All names and records are fictional. Download valid invoice · Download mismatch · Download missing-PO invoice
2. Validate and route
Receive → parse fields → check rules → review exceptions → prepare for reviewed export.
Demo reference data: supplier Demo Supplies Ltd, PO PO-DEMO-001, currency EUR. Required amounts use two decimal places. This example does not check line items, receipt quantities or dates.
Awaiting validation
Loading sample…
Run the valid invoice twice to exercise duplicate detection. History is held only in this tab's memory and resets on reload. A clear result still requires human review; no record is exported or posted by this demo.
3. Reproducible test results
9 of 9 tests passed. Executed 2026-10-24T08:40:55.881Z. Each test compares actual routing and reasons with explicit expected values. The automated tests execute the same engine used above.
| Test | Observed result | Assertion |
|---|---|---|
| Valid invoice | No exceptions | Passed |
| Arithmetic mismatch | Total does not reconcile | Passed |
| Missing PO | Missing PO | Passed |
| Unknown supplier | Unknown supplier | Passed |
| Unknown PO | Unknown purchase order | Passed |
| Unsupported currency | Unsupported currency | Passed |
| Malformed amount | Invalid amount format | Passed |
| Missing invoice number | Missing Invoice | Passed |
| Duplicate in same session | Duplicate invoice | Passed |
Download complete test results · Inspect validation engine · Download test runner
To reproduce: download the engine, test runner and samples/valid.txt into one folder, preserving the samples subfolder. Run node test-runner.mjs. It writes a new test-results.json.
What these tests establish
These nine fixtures show that the stated checks produced the expected outcomes for these inputs. They do not establish production accuracy, extraction performance, fraud detection, reliability at scale or financial savings. This parser accepts the documented format only. Duplicate field labels, arbitrary invoice layouts, multiple currencies and persistent storage require additional design and tests before production use.
Workflow screenshots
Captured from this working demo using the supplied synthetic invoices.


From demo to a business pilot
A real pilot needs approved sample documents, extraction evaluation, integration permissions, exception owners and representative failure tests. We would measure reviewer effort and end-to-end completion alongside correctness.
Explore document processing services · Read the exception checklist · Discuss a scoped pilot
