Evidence · first-party tested/Best AI Tools for Extracting Structured Data from PDFs and Business Documents
Introduces a stray OCR-style space into every Ad-ID, so the identifier text is not preserved exactly as printed.
What was measured
Extraction Accuracy
Are field values correct, complete, and free of OCR or parsing errors? Includes numerical precision on financial fields.
decisive for this rankingtransformation
The whole point is to pull the right values from documents; wrong or incomplete field values mean the tool failed at the job. (3 of 3 judges)
What was given, what came back
Test input: Invoice PDF · pdf · group: financial-document-extraction
Input — what we sent

Input not captured
This run recorded no prompt or input file for the test, so we cannot show you what produced the result below. Capture gaps are tracked, not hidden.
A 2-page broadcast advertising invoice PDF with 8 line items, complex time/day fields, large dollar amounts, and compliance text, used to test hierarchical line-item extraction and financial validation.
Why this input is hard
- · Nested line-item hierarchy extraction
- · Multi-page line-item continuity across a page break
- · Large dollar amount precision and total validation
- · Parsing time slots, day patterns, and air dates
- · Extraction of alphanumeric ad IDs and reference codes
- · Structured metadata mapping for advertiser, station, billing, and remit sections
- · Political advertising and FCC compliance text recognition
Also checked on this input — same tool, 4 other criteria
Schema Adherence✓ WorkedPopulates the requested invoice hierarchy into dedicated sections for invoice_metadata, advertiser, station, account_details, billing_address, remit_address, flight_dates, line_items, and summary.Semantic Field Enrichment⚠ StruggledMisreads fixed-width schedule masks in day_of_week, truncating or garbling the broadcast-day pattern instead of reproducing the full source mask.Semantic Field Enrichment✓ WorkedExtracts the compact days_pattern field correctly as the actual single broadcast-day letter.Table & Record Completeness✓ WorkedCarries a line item cleanly across the page break without duplicating or losing the row, showing page-break continuity in the line_items array.
Provenance
- Observation
- 668dd494-5404-4e0d-b091-134c04dde238
- 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: "unstract",
scenario: "financial-document-extraction"
})MCP · mcp.aidemos.com/api/mcp
Free with attribution.
Same input, same check — 7 other tools
measured on Extraction Accuracy
Datalab✓ WorkedExtracts the invoice metadata and monetary values accurately, including invoice 4064621-1, invoice date 10/28/12, gross_total 29750, agency_commission 4462.5, net_amount_due 25287.5, and payment_terms 30 Days.Extend AI✓ WorkedIts invoice totals match the source document, including 8 aired spots, gross_total 29750, agency_commission 4462.5, and net_amount_due 25287.5.Landing AI✓ WorkedGets the invoice totals and metadata numerically right, including aired_spots 8, gross_total 29750, agency_commission 4462.5, net_amount_due 25287.5, and payment_terms "30 Days".LlamaParse✓ WorkedMatches the source invoice totals and payment terms: aired_spots 8, gross_total 29750, agency_commission 4462.5, net_amount_due 25287.5, and payment_terms "30 Days".Nanonets◐ MixedIt concatenates program-description text without a separator, so labels such as "Political Issue Rates" are appended directly onto the show title in fields like "Fox 9 AM News at 4:30amPolitical Issue Rates".Reducto✓ WorkedExtracts the invoice summary amounts accurately; the report says the financial totals and aired_spots match the source document.Retab◐ MixedRetains the source label in payment_terms, returning Payment Terms 30 Days instead of only the requested value, so a cleanup step is needed.
This evidence is published in
Real inputs and real outputs, no retouching · every cell queryable via API & MCP · aidemos.com