Extracts the line-item table without losing the row that crosses the page break; line 8 is returned in full with no duplication or data loss.
What was measured
Table & Record Completeness
Are all tabular rows and line items extracted without merging, duplication, omission, or phantom records?
decisive for this rankingtransformation
Missing, duplicated, or merged rows and line items directly corrupt the structured dataset and break query results. (3 of 3 judges)
What was given, what came back
Test input: Invoice PDF · pdf · group: business-document-extraction
Input — what we sent

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
Also checked on this input — same tool, 3 other criteria
Extraction Accuracy✓ WorkedCaptures the invoice header fields and financial totals exactly, including invoice_number 4064621-1 and the printed gross_total 29,750.00, agency_commission 4,462.50, and net_amount_due 25,287.50.Schema Adherence✓ WorkedPopulates the invoice extraction into the requested hierarchy, separating invoice_metadata, advertiser, station, account_details, billing_address, remit_address, flight_dates, line_items, and summary fields.Semantic Field Enrichment⚠ StruggledMis-reproduces the fixed-width day_of_week scheduling mask, with examples like MTWT- for source MTWT--- and F- - for source ----F--; the report says days_pattern is the more reliable field.
Provenance
- Observation
- d025ae3c-59d0-423e-b723-7bfdbdfd3f34
- 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: "unstract",
scenario: "business-document-extraction"
})MCP · mcp.aidemos.com/api/mcp
Free with attribution.
Same input, same check — 8 other tools
measured on Table & Record Completeness
Datalab✓ WorkedExtracts all eight invoice line items as separate records without merging, including rows that span the page break.Docsumo✓ WorkedThe line-item table keeps all 8 rows, including the row that spans the page break, without introducing a duplicate line item.Extend AI✓ WorkedIt extracts all 8 advertising line items as separate records, preserving item boundaries across the page break without merging adjacent rows.Landing AI✓ WorkedExtracts all 8 advertising line items as separate records, preserving the page-break continuation instead of merging or omitting rows.LlamaParse✗ FailedThe tool extracts invoice line items as structured rows, but it introduces an incorrect 8th line item with line_number 9, so the table record set is not fully faithful to the source invoice’s eight advertising records.Nanonets✓ WorkedKeeps all 8 advertising line items as separate records with no row merging or duplication.Reducto✓ WorkedExtracts all eight advertising line items as separate records and preserves the page-spanning table without merging adjacent rows.Retab✓ WorkedExtracts all 8 advertising line items as separate structured records without duplication or omission.
This evidence is published in
Real inputs and real outputs, no retouching · every cell queryable via API & MCP · aidemos.com