The invoice JSON is structurally usable but not order-stable: the top-level keys are emitted in a fully shuffled order instead of the requested schema order.

◐ Mixed🧾 artifact-verifiedinput + output shownTest date not recordedDatalab
What was measured
Structural Clean Output

Is the JSON directly consumable by a downstream AI pipeline or system without requiring a structural transformation layer?

context, not decisivetransformation

Being directly consumable by a downstream pipeline is valuable, but it is more about integration convenience than whether the tool actually extracts the data correctly. (3 of 3 judges)

What was given, what came back

Test input: Invoice PDF · pdf · group: business-document-extraction
Input — what we sent
Input file 1 — as supplied
Research media invoice schema order.png
Research media invoice schema order.png
Input file 2 — as supplied
Invoice PDF.pdf
Invoice PDF

A two-page broadcast advertising invoice PDF with nested header metadata, billing and remit addresses, and eight line items spanning a page break. It was used to stress hierarchical line-item extraction, amount precision, time/day parsing, code extraction, and summary validation.

Why this input is hard
  • · Nested line-item hierarchy extraction
  • · Multi-page continuity across a page break
  • · Precision on large dollar amounts and totals
  • · Parsing complex time slots and day patterns
  • · Extraction of Ad IDs and reconciliation codes
  • · Mapping structured metadata sections correctly
  • · Financial summary validation
  • · Handling political advertising compliance text
Output — unretouched
Output 1
research-media-datalab-invoice-output-8c25eb9acd8c.json
Loading file...
Output 2
Output 2
Provenance
Observation
d7313df2-02ba-4bef-aa11-d9889779422f
Evidence run
a061b9e7-a9c5-443d-a171-b296aaf51b8c
Study
Extract and query structured data from documents using natural language
Research task
86b9y25e5
Tested at
not recorded
Source
first-party
Evidence state
verified
Proof shown
input + output shown
Cost / latency
not captured
Repeat run
not captured
Tester
not captured

The last three rows are honest blanks, not placeholders — our capture has no field for them yet.

Query this
get_evidence({
  tool: "datalab",
  scenario: "business-document-extraction"
})
MCP · mcp.aidemos.com/api/mcp
Free with attribution.
Same input, same check — 3 other tools
measured on Structural Clean Output
Real inputs and real outputs, no retouching · every cell queryable via API & MCP · aidemos.com