The output reorders top-level schema objects instead of preserving the declared sequence, so consumers that depend on the original order need an extra transformation step.
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: Bank Statement PDF · pdf · group: business-document-extraction
Input — what we sent
A four-page bank statement PDF with dense transaction tables, balance-forward bridges, account metadata, rewards data, and disclaimer text. It was used to stress schema-driven extraction, multi-page continuity, row completeness, and financial numerical accuracy.
Why this input is hard
- · Table extraction across 50+ transaction rows
- · Multi-page continuity with balance-forward bridges
- · Parsing structured account metadata alongside unstructured transaction descriptions
- · Numerical accuracy for deposits, withdrawals, running balances, and summaries
- · Extraction of nested rewards and disclaimer sections
Output — unretouched

Also checked on this input — same tool, 4 other criteria
Extraction Accuracy✗ FailedThe summary aggregation is incorrect: `total_transactions` is 49 in the output, while the report says the expected count after exclusions is 40.Schema Adherence✓ WorkedThe tool reconstructs the bank-statement hierarchy into nested JSON with branch, account, rewards, metadata, balances, summary, and transaction-related objects present in the requested layout.Semantic Field Enrichment✓ WorkedThe tool infers transaction direction from free text, classifying an ATM entry as `Withdrawal` and populating `withdrawal_amount: 1000`.Semantic Field Enrichment✗ FailedIt leaves `transaction_id` null even when the description contains embedded reference numbers, so identifier extraction is not recovered from the transaction text.
Provenance
- Observation
- 010e7dbd-9574-4e0f-bdc3-c370101d3914
- 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: "extend-ai",
scenario: "business-document-extraction"
})MCP · mcp.aidemos.com/api/mcp
Free with attribution.
Same input, same check — 2 other tools
measured on Structural Clean Output
Landing AI✓ WorkedDelivers JSON that is directly usable downstream, with the demo moving from upload to extraction results and the report noting downloadable output with no extra transformation step.Retab✓ WorkedProduces directly copyable JSON from the workflow, so the bank-statement extraction is immediately usable without a transformation layer after configuration.
This evidence is published in
Real inputs and real outputs, no retouching · every cell queryable via API & MCP · aidemos.com