Evidence · first-party tested/Best AI Tools for Extracting Structured Data from PDFs and Business Documents
Exports JSON directly, but the bank workflow is not cleanly consumable end-to-end because the report says the result still needs reconciliation and correction before use.
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
Directly consumable JSON is valuable for workflow convenience, but it is a delivery/integration concern rather than the core measure of extraction quality itself. (3 of 3 judges)
What was given, what came back
Test input: Bank Statement PDF · pdf · group: financial-document-extraction
Input — what we sent

Research media bank statement 2 jul.png
Bank Statement PDF
A 4-page bank statement PDF with 51 transactions, balances, rewards, and disclaimer text, used to test schema-driven extraction of dense financial tables and multi-page continuity.
Why this input is hard
- · Table extraction across 50+ transaction rows
- · Multi-page continuity with BALANCE FORWARD bridges
- · Structured metadata vs. free-text transaction descriptions
- · Numerical accuracy for balances, deposits, withdrawals, and summaries
- · Nested schema population for account, branch, balances, rewards, and disclaimers
Also checked on this input — same tool, 5 other criteria
Extraction Accuracy◐ MixedGets some bank values right but misstates a core aggregate: summary.total_transactions is reported as 70 even though the report says the correct count is 40.Extraction Accuracy✓ WorkedThe tool correctly extracts the bank statement currency as INR and includes citation metadata for that field.Schema Adherence✓ WorkedReconstructs the bank statement into a nested JSON structure aligned to the requested schema, with document metadata, account, branch, statement period, transactions, summary, and rewards-style sections instead of flat OCR text.Semantic Field Enrichment✗ FailedLeaves derived transaction metadata incomplete, with transaction_type and transaction_id missing across transaction rows.Table & Record Completeness✗ FailedDoes not preserve the repeating transaction table faithfully, returning 53 transaction records for a statement that contains 51 transactions.
Provenance
- Observation
- 2d9d828a-e002-45f9-9dfe-93aef402a5de
- Evidence run
- ec4d736d-95f9-4c88-884c-e280435f7b7b
- 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: "reducto",
scenario: "financial-document-extraction"
})MCP · mcp.aidemos.com/api/mcp
Free with attribution.
Same input, same check — 1 other tool
measured on Structural Clean Output
This evidence is published in
Real inputs and real outputs, no retouching · every cell queryable via API & MCP · aidemos.com
