{"observation":{"id":"c01474f8-d601-4535-b19c-9ab5759d7f35","tool":"datalab","tool_name":"Datalab","criterion":"schema-adherence","criterion_name":"Schema Adherence","criterion_definition":"Does the output follow the supplied JSON schema hierarchy exactly, with correct nesting, field names, and data types?","criterion_evidence_type":"transformation","criterion_rank_role":"decisive","criterion_rank_role_reason":"If the output does not match the requested JSON schema exactly, the extracted data cannot be reliably consumed or queried, so this is core to the task. (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":"Reconstructs the invoice into nested JSON objects and arrays that follow the supplied schema, including invoice_metadata and line_items rather than returning generic OCR text.","evidence_state":"verified","source":null,"artifacts":[{"url":"https://d3epheqghktydj.cloudfront.net/research-media-datalab-invoice-metadat-1c39e0c1c45e.png","role":"output","alt":null},{"url":"https://d3epheqghktydj.cloudfront.net/research-media-datalab-invoice-line-items-d9e385e05d92.png","role":"output","alt":null},{"url":"https://d3epheqghktydj.cloudfront.net/research-media-datalab-invoice-schema-order-53439296a014.png","role":"output","alt":null},{"url":"https://cdn.futuresmart.ai/public/aidemos/e6807612d70845fa8eb6d8140801ff3a.mp4?v=1","role":"output","alt":null},{"url":"https://d3epheqghktydj.cloudfront.net/research-media-datalab-invoice-output-8c25eb9acd8c.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":"datalab","tool_url":"https://aidemos.com/tools/datalab","permalink":"https://aidemos.com/evidence/c01474f8-d601-4535-b19c-9ab5759d7f35","api_url":"https://ai.aidemos.com/v1/observations/c01474f8-d601-4535-b19c-9ab5759d7f35"},"peers":[{"id":"ad656fd6-a7c6-4174-a1a5-71f32b26d964","tool":"extend-ai","tool_name":"Extend AI","verdict":"worked","score":null,"score_total":null,"note":"The invoice output is reconstructed as nested JSON sections — invoice_metadata, advertiser, station, addresses, flight_dates, line_items, and summary — instead of raw OCR.","artifact_count":2,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-extendai-invoice-output-9eaac6626f6c.json","evidence_url":"https://aidemos.com/evidence/ad656fd6-a7c6-4174-a1a5-71f32b26d964"},{"id":"e21e3065-67a9-44b0-a7d5-4534cc545780","tool":"landing-ai","tool_name":"Landing AI","verdict":"worked","score":null,"score_total":null,"note":"Reconstructs the requested invoice hierarchy in structured JSON, filling invoice_metadata, advertiser, station, line_items, and summary objects instead of returning a flat extraction.","artifact_count":4,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-landing-ai-extracted-invoice-metadata-57a291c39e3d.png","evidence_url":"https://aidemos.com/evidence/e21e3065-67a9-44b0-a7d5-4534cc545780"},{"id":"0b3ba3e3-dd88-4377-97f7-2da41c08c915","tool":"llamaparse","tool_name":"LlamaParse","verdict":"worked","score":null,"score_total":null,"note":"Keeps the invoice hierarchy intact, emitting invoice_metadata, advertiser, station, line_items, and summary objects rather than flat OCR text.","artifact_count":2,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-llamaparse-invoice-metadata-af804b493598.png","evidence_url":"https://aidemos.com/evidence/0b3ba3e3-dd88-4377-97f7-2da41c08c915"},{"id":"d1acf6ae-95ec-460a-bac2-aed663d491c5","tool":"nanonets","tool_name":"Nanonets","verdict":"worked","score":null,"score_total":null,"note":"It preserves the invoice hierarchy exactly as requested, filling dedicated objects for invoice_metadata, advertiser, station, account_details, billing_address, remit_address, flight_dates, line_items, and summary.","artifact_count":2,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-docstrange-nanonets-invoice-output-9dc0f476da4c.json","evidence_url":"https://aidemos.com/evidence/d1acf6ae-95ec-460a-bac2-aed663d491c5"},{"id":"3d48880c-53de-43f1-b4b6-4da534758c2b","tool":"reducto","tool_name":"Reducto","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,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-reducto-invoice-metadata-c12acb4fc069.png","evidence_url":"https://aidemos.com/evidence/3d48880c-53de-43f1-b4b6-4da534758c2b"},{"id":"38fc2de5-4406-486b-9a50-fa39c4b5e88a","tool":"retab","tool_name":"Retab","verdict":"worked","score":null,"score_total":null,"note":"Builds the requested invoice hierarchy with separate invoice_metadata, advertiser, station, account_details, billing_address, remit_address, flight_dates, line_items, and summary objects instead of a flat OCR dump.","artifact_count":3,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-retab-extracted-invoice-metadata-2b6610b8f928.png","evidence_url":"https://aidemos.com/evidence/38fc2de5-4406-486b-9a50-fa39c4b5e88a"},{"id":"15ef12f7-5460-42d4-99d5-9ee4785c8552","tool":"unstract","tool_name":"Unstract","verdict":"worked","score":null,"score_total":null,"note":"Populates the requested invoice hierarchy into dedicated sections for invoice_metadata, advertiser, station, account_details, billing_address, remit_address, flight_dates, line_items, and summary.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/18ce6c9c9f314db694ae8439172b4041.png?v=1","evidence_url":"https://aidemos.com/evidence/15ef12f7-5460-42d4-99d5-9ee4785c8552"}],"other_criteria":[{"id":"76f5a5f0-1389-4341-a623-595405cf206b","criterion":"extraction-accuracy","criterion_name":"Extraction Accuracy","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Extracts 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.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/76f5a5f0-1389-4341-a623-595405cf206b"},{"id":"f376333b-6c46-4298-91ee-eddd286afd5d","criterion":"semantic-field-enrichment","criterion_name":"Semantic Field Enrichment","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Correctly extracts derived scheduling fields on line 2, including day_of_week Su, time_slot 9a-10a, air_time 9:38 AM, and ad_id NRCCWI071005.","artifact_count":1,"evidence_url":"https://aidemos.com/evidence/f376333b-6c46-4298-91ee-eddd286afd5d"},{"id":"df4d4c76-2422-413b-9d07-a3489b53cb50","criterion":"structural-clean-output","criterion_name":"Structural Clean Output","rank_role":"context","verdict":"mixed","score":null,"score_total":null,"note":"The generated JSON is structurally valid but not order-stable: line_items appears before other top-level sections that were defined earlier in the supplied schema.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/df4d4c76-2422-413b-9d07-a3489b53cb50"},{"id":"a2dfbd36-ebfc-4d14-ab59-0d615bee1ed4","criterion":"table-and-record-completeness","criterion_name":"Table & Record Completeness","rank_role":"decisive","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,"evidence_url":"https://aidemos.com/evidence/a2dfbd36-ebfc-4d14-ab59-0d615bee1ed4"}],"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":"ad656fd6-a7c6-4174-a1a5-71f32b26d964","tool":"extend-ai","tool_name":"Extend AI","verdict":"worked","score":null,"score_total":null,"note":"The invoice output is reconstructed as nested JSON sections — invoice_metadata, advertiser, station, addresses, flight_dates, line_items, and summary — instead of raw OCR."},{"id":"e21e3065-67a9-44b0-a7d5-4534cc545780","tool":"landing-ai","tool_name":"Landing AI","verdict":"worked","score":null,"score_total":null,"note":"Reconstructs the requested invoice hierarchy in structured JSON, filling invoice_metadata, advertiser, station, line_items, and summary objects instead of returning a flat extraction."},{"id":"0b3ba3e3-dd88-4377-97f7-2da41c08c915","tool":"llamaparse","tool_name":"LlamaParse","verdict":"worked","score":null,"score_total":null,"note":"Keeps the invoice hierarchy intact, emitting invoice_metadata, advertiser, station, line_items, and summary objects rather than flat OCR text."},{"id":"d1acf6ae-95ec-460a-bac2-aed663d491c5","tool":"nanonets","tool_name":"Nanonets","verdict":"worked","score":null,"score_total":null,"note":"It preserves the invoice hierarchy exactly as requested, filling dedicated objects for invoice_metadata, advertiser, station, account_details, billing_address, remit_address, flight_dates, line_items, and summary."},{"id":"3d48880c-53de-43f1-b4b6-4da534758c2b","tool":"reducto","tool_name":"Reducto","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."},{"id":"38fc2de5-4406-486b-9a50-fa39c4b5e88a","tool":"retab","tool_name":"Retab","verdict":"worked","score":null,"score_total":null,"note":"Builds the requested invoice hierarchy with separate invoice_metadata, advertiser, station, account_details, billing_address, remit_address, flight_dates, line_items, and summary objects instead of a flat OCR dump."},{"id":"15ef12f7-5460-42d4-99d5-9ee4785c8552","tool":"unstract","tool_name":"Unstract","verdict":"worked","score":null,"score_total":null,"note":"Populates the requested invoice hierarchy into dedicated sections for invoice_metadata, advertiser, station, account_details, billing_address, remit_address, flight_dates, line_items, and summary."}]}