Recovery Intelligence
04 / Experiments & data access

Give the workflow
something real to test.

Start with reproducible synthetic cases, learn the shape of historical public records, then evaluate against an authorized partner cohort with adjudicated outcomes.

Three data paths

Each answers a different question.

Available now

01 / Synthetic benchmark

Generated contracts, invoices, payments and credits with planted exceptions and legitimate lookalikes. Deterministic seed 42; no customer data.

Proves
Schema handling, rule arithmetic, effective dates, credit offsets and reproducible packet assembly.
Next extension
Generate document renderings, OCR noise and unseen contract structures; have a specialist author independent cases.
Public historical source

02 / OregonBuys

The FY2022-25 Purchases and Contracts report is a useful starting point for ingestion, agency/vendor mapping and data-quality checks.

Proves
We can interpret and normalize public procurement records, within their documented coverage.
Limitation
Recovery validation needs the applicable terms, invoice lines, payment history, credits and disposition.
Open official dataset ↗
Access to secure

03 / Partner closed cohort

Ask a recovery firm or enterprise AP team for a bounded, authorized historical category with adjudicated outcomes.

Proves
Incremental accepted cases, reviewer productivity and costs against an incumbent baseline.
Access route
Paid evaluation scope, approved environment, documented data rights and a qualified reviewer.
OregonBuys coverage: the published report includes contracts and purchases, excludes statewide price agreements and purchases under them, and documents exclusions and variable coding. Its values are procurement records as of retrieval, with limitations. Source checked 4 November 2026. An anomaly remains a candidate for review.
Working browser demo

A small recovery queue.

Run the same deterministic engine used by the command-line benchmark. Processing stays in your browser; no paid API calls.

1,070

Export rows from 1,000 base invoices

20

Synthetic contracts with dated amendments

100

Posted full or partial credit records

150

Planted review candidates

Ready. Rules check paid price variance and separate duplicate payments.

What the fixture includes

50 uncredited price variances, 50 legitimate amended prices, 50 fully credited differences, 50 partially credited differences, 50 additional duplicate payments, 50 canceled invoices, 50 unpaid invoices and 650 clean base invoices. Twenty repeated export rows test ingestion; eighteen are paid and pass through payment deduplication.

Benchmark interpretation

The checked-in regression result finds 150 expected cases, with 0 false positives, 0 false negatives and 0 amount mismatches. Because the fixtures and rules were developed together, this score is a software check. Independent specialist-authored cases and a blind historical cohort are required to assess generalization.

Ground truth is stored in the repository outside the published site. The engine reads only transaction records. The fixture has simplified one-line, single-currency invoices and one paid event per normal invoice; installments, tax, freight, FX and complex credit allocation require further rules.

Historical data acquisition

Ask for a complete case chain.

RecordMinimum fieldsPurpose
Contract & amendmentsContract/vendor/item IDs, terms, unit, effective dates and document referencesEstablish the applicable price or obligation
Invoice linesInvoice/vendor/item IDs, date, quantity, unit price, tax and freightCompare like units against the contract
Payments & creditsStable payment IDs, invoice allocations, posting date and realized creditsSeparate invoice exceptions from paid exposure
Incumbent dispositionsAlready worked, accepted/rejected, dispute, posted cash and reversalsFreeze baseline and evaluate incremental outcomes

First partner request

Propose one closed category, six to twelve months of history, stable pseudonymous identifiers and linked contract/invoice/payment/credit records. Agree a manageable sample size after measuring missing documents. Ask the partner to retain the answer key for blind scoring.

Public-data sample acquired

A bounded 100-row sample and retrieval manifest are checked into the repository. Its fields include record ID, purchase order, agency, vendor and purchase-order total. Next, inspect the dictionary and coverage, then reconcile counts before seeking transaction-level access.

Public JSON sample endpoint ↗
Developer workflow

Repeat the experiment.

npm install
npm run data:oregon     # bounded 100-row public procurement sample
npm run data:generate   # seed 42; fixtures + separate answer key
npm run data:run        # analyze + score; fails on mismatches
npm test               # edge cases + cost arithmetic
npm run dev            # Astro development server
npm run build          # static output in dist/

The demo implements structured-data rules. OCR, language-model extraction, specialist adjudication and collection remain production workstreams. Next: add independently authored holdout cases, then document renderings and an extraction evaluation.