{"observation":{"id":"81b7587f-2501-40f8-a7d7-b02229b4e3ee","tool":"reducto","tool_name":"Reducto","criterion":"table-and-record-completeness","criterion_name":"Table & Record Completeness","criterion_definition":"Are all tabular rows (transactions, line items) extracted without merging, duplication, omission, or phantom records?","criterion_evidence_type":"transformation","criterion_rank_role":"decisive","criterion_rank_role_reason":"For document data extraction, missing, merged, duplicated, or phantom rows directly corrupt the structured dataset and break downstream querying. (3 of 3 judges)","scenario":"invoice-pdf","scenario_name":"Invoice PDF","group_tag":"financial-document-extraction","scenario_description":"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.","modality":"pdf","input_text":null,"input_artifact_refs":[{"alt":null,"url":null,"role":null,"filename":"Invoice PDF.pdf"}],"stresses":["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"],"verdict":"worked","score":null,"score_total":null,"note":"Keeps all 8 invoice line items as separate structured rows without merging adjacent entries.","evidence_state":"verified","source":null,"artifacts":[{"url":"https://d3epheqghktydj.cloudfront.net/research-media-reducto-invoice-extracted-line0items-e23fe4fdf946.png","role":"output","alt":null},{"url":"https://d3epheqghktydj.cloudfront.net/research-media-reducto-invoice-output-5ddfb17418f7.json","role":"output","alt":null}],"run_id":"ec4d736d-95f9-4c88-884c-e280435f7b7b","study_title":"Extract and query structured data from documents using natural language","study_kind":"generation","research_task":"86b9y25e5","tested_at":null,"completeness":"output-only","input":{"state":"not-captured","text":null,"files":[],"modality":"pdf","stresses":["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"]},"tool_page_slug":"reducto","tool_url":"https://aidemos.com/tools/reducto","permalink":"https://aidemos.com/evidence/81b7587f-2501-40f8-a7d7-b02229b4e3ee","api_url":"https://ai.aidemos.com/v1/observations/81b7587f-2501-40f8-a7d7-b02229b4e3ee"},"peers":[{"id":"a2dfbd36-ebfc-4d14-ab59-0d615bee1ed4","tool":"datalab","tool_name":"Datalab","verdict":"worked","score":null,"score_total":null,"note":"Keeps all 8 advertising spots as separate line-item records, with the JSON tree showing indices 0 through 7 and no adjacent-row merging.","artifact_count":2,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-datalab-invoice-line-items-d9e385e05d92.png","evidence_url":"https://aidemos.com/evidence/a2dfbd36-ebfc-4d14-ab59-0d615bee1ed4"},{"id":"6af0c5f8-49f9-4f6a-abc9-05b7feff51df","tool":"extend-ai","tool_name":"Extend AI","verdict":"worked","score":null,"score_total":null,"note":"It extracts all eight invoice line items as separate rows, preserving description, airtime, rate, flight period, reference number, and campaign IDs without merging records.","artifact_count":2,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-extendai-extracted-invoice-line-items-a11681b31146.png","evidence_url":"https://aidemos.com/evidence/6af0c5f8-49f9-4f6a-abc9-05b7feff51df"},{"id":"4e54005c-915d-492b-8121-ad1d06573a45","tool":"landing-ai","tool_name":"Landing AI","verdict":"worked","score":null,"score_total":null,"note":"Extracts all 8 advertising line items as separate records, preserving the row count and scheduling structure instead of collapsing the table.","artifact_count":2,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-landing-ai-invoice-extracted-line-items-5af44b5e570e.png","evidence_url":"https://aidemos.com/evidence/4e54005c-915d-492b-8121-ad1d06573a45"},{"id":"b9247b59-eb1e-4af9-be1b-8c3a5de68f1c","tool":"llamaparse","tool_name":"LlamaParse","verdict":"worked","score":null,"score_total":null,"note":"Extracts the invoice line_items table as 8 separate records (indices 0 through 7) without merging adjacent rows.","artifact_count":1,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-llamaparse-invoice-extracted-line-items-eb4fd58a2160.png","evidence_url":"https://aidemos.com/evidence/b9247b59-eb1e-4af9-be1b-8c3a5de68f1c"},{"id":"513d08f7-b8e4-41ad-ad57-d1d53f2bd1ed","tool":"nanonets","tool_name":"Nanonets","verdict":"worked","score":null,"score_total":null,"note":"It extracts all 8 advertising line items as separate records without row merging or duplication.","artifact_count":1,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-docstrange-nanonets-extracted-line-items-5ec513388423.png","evidence_url":"https://aidemos.com/evidence/513d08f7-b8e4-41ad-ad57-d1d53f2bd1ed"},{"id":"351eae64-d136-45cf-bf96-05708a002c49","tool":"retab","tool_name":"Retab","verdict":"worked","score":null,"score_total":null,"note":"Reconstructs all 8 advertising line items as separate records without duplication or omission.","artifact_count":1,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-retab-invoice-extracted-line-items-b376a1b8acd0.png","evidence_url":"https://aidemos.com/evidence/351eae64-d136-45cf-bf96-05708a002c49"},{"id":"8046a259-1d96-4eda-b1e1-538b98bba040","tool":"unstract","tool_name":"Unstract","verdict":"worked","score":null,"score_total":null,"note":"Carries a line item cleanly across the page break without duplicating or losing the row, showing page-break continuity in the line_items array.","artifact_count":3,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/23a19775078e4e32b6af7a1f632e9536.png?v=1","evidence_url":"https://aidemos.com/evidence/8046a259-1d96-4eda-b1e1-538b98bba040"}],"other_criteria":[{"id":"d0f6a303-e33e-4c5f-a8e1-94a8bfbe403a","criterion":"extraction-accuracy","criterion_name":"Extraction Accuracy","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Extracts the invoice summary amounts accurately; the report says the financial totals and aired_spots match the source document.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/d0f6a303-e33e-4c5f-a8e1-94a8bfbe403a"},{"id":"3d48880c-53de-43f1-b4b6-4da534758c2b","criterion":"schema-adherence","criterion_name":"Schema Adherence","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Reconstructs the invoice into the requested nested JSON hierarchy, populating invoice_metadata, advertiser, station, account_details, billing_address, remit_address, flight_dates, line_items, and summary sections.","artifact_count":3,"evidence_url":"https://aidemos.com/evidence/3d48880c-53de-43f1-b4b6-4da534758c2b"},{"id":"4d495002-374a-4396-8f2b-a4ff9d296493","criterion":"schema-adherence","criterion_name":"Schema Adherence","rank_role":"decisive","verdict":"mixed","score":null,"score_total":null,"note":"Leaks schema-unrequested fields into the invoice export, including idb_number, so the output is not strictly constrained to the provided schema.","artifact_count":3,"evidence_url":"https://aidemos.com/evidence/4d495002-374a-4396-8f2b-a4ff9d296493"},{"id":"9499ff43-0583-4050-bfe1-951e5a7fb8af","criterion":"semantic-field-enrichment","criterion_name":"Semantic Field Enrichment","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Surfaces derived line-item metadata as structured fields, including frequency = 1x with citation support.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/9499ff43-0583-4050-bfe1-951e5a7fb8af"}],"appears_in":[{"page_type":"ranking","slug":"document-extraction","title":"Best AI Tools for Extracting Structured Data from PDFs and Business Documents","url":"https://aidemos.com/best/document-extraction","binding":"run"},{"page_type":"tool","slug":"unstract","title":null,"url":"https://aidemos.com/tools/unstract","binding":"run"}],"same_scenario":[{"id":"a2dfbd36-ebfc-4d14-ab59-0d615bee1ed4","tool":"datalab","tool_name":"Datalab","verdict":"worked","score":null,"score_total":null,"note":"Keeps all 8 advertising spots as separate line-item records, with the JSON tree showing indices 0 through 7 and no adjacent-row merging."},{"id":"6af0c5f8-49f9-4f6a-abc9-05b7feff51df","tool":"extend-ai","tool_name":"Extend AI","verdict":"worked","score":null,"score_total":null,"note":"It extracts all eight invoice line items as separate rows, preserving description, airtime, rate, flight period, reference number, and campaign IDs without merging records."},{"id":"4e54005c-915d-492b-8121-ad1d06573a45","tool":"landing-ai","tool_name":"Landing AI","verdict":"worked","score":null,"score_total":null,"note":"Extracts all 8 advertising line items as separate records, preserving the row count and scheduling structure instead of collapsing the table."},{"id":"b9247b59-eb1e-4af9-be1b-8c3a5de68f1c","tool":"llamaparse","tool_name":"LlamaParse","verdict":"worked","score":null,"score_total":null,"note":"Extracts the invoice line_items table as 8 separate records (indices 0 through 7) without merging adjacent rows."},{"id":"513d08f7-b8e4-41ad-ad57-d1d53f2bd1ed","tool":"nanonets","tool_name":"Nanonets","verdict":"worked","score":null,"score_total":null,"note":"It extracts all 8 advertising line items as separate records without row merging or duplication."},{"id":"351eae64-d136-45cf-bf96-05708a002c49","tool":"retab","tool_name":"Retab","verdict":"worked","score":null,"score_total":null,"note":"Reconstructs all 8 advertising line items as separate records without duplication or omission."},{"id":"8046a259-1d96-4eda-b1e1-538b98bba040","tool":"unstract","tool_name":"Unstract","verdict":"worked","score":null,"score_total":null,"note":"Carries a line item cleanly across the page break without duplicating or losing the row, showing page-break continuity in the line_items array."}]}