{"observation":{"id":"32fb2961-ac21-4fbb-9f04-80b7d3289d32","tool":"extend-ai","tool_name":"Extend AI","criterion":"semantic-field-enrichment","criterion_name":"Semantic Field Enrichment","criterion_definition":"Are derived fields such as transaction_type, transaction_id, cheque_number, day patterns, and ad codes correctly classified or extracted beyond raw OCR?","criterion_evidence_type":"transformation","criterion_rank_role":"decisive","criterion_rank_role_reason":"For this ranking, correctly identifying derived business fields is part of producing usable structured data, not just a nice extra. (3 of 3 judges)","scenario":"invoice-pdf","scenario_name":"Invoice PDF","group_tag":"business-document-extraction","scenario_description":"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.","modality":"pdf","input_text":null,"input_artifact_refs":[{"alt":null,"url":"https://cdn.futuresmart.ai/public/aidemos/e0e9f678bcde4e29a492a11927fc38f7.pdf?v=1","role":"input","filename":"Invoice PDF.pdf"}],"stresses":["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"],"verdict":"worked","score":null,"score_total":null,"note":"The tool correctly derives higher-level line-item fields such as `day_of_week: Tu` and `days_pattern: -T----` alongside ad ID, reference number, and flight-period dates.","evidence_state":"verified","source":null,"artifacts":[{"url":"https://cdn.futuresmart.ai/public/aidemos/617ec8adf64f49368ea64d88d5a820cd.png?v=1","role":"output","alt":null}],"run_id":"a061b9e7-a9c5-443d-a171-b296aaf51b8c","study_title":"Extract and query structured data from documents using natural language","study_kind":"generation","research_task":"86b9y25e5","tested_at":null,"completeness":"input-and-output","input":{"state":"files","text":null,"files":[{"url":"https://cdn.futuresmart.ai/public/aidemos/e0e9f678bcde4e29a492a11927fc38f7.pdf?v=1","filename":"Invoice PDF.pdf","alt":"Invoice PDF","role":"input"}],"modality":"pdf","stresses":["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"]},"tool_page_slug":"extend-ai","tool_url":"https://aidemos.com/tools/extend-ai","permalink":"https://aidemos.com/evidence/32fb2961-ac21-4fbb-9f04-80b7d3289d32","api_url":"https://ai.aidemos.com/v1/observations/32fb2961-ac21-4fbb-9f04-80b7d3289d32"},"peers":[{"id":"8f9a73fc-cf51-44d4-8845-b997400cabd1","tool":"datalab","tool_name":"Datalab","verdict":"worked","score":null,"score_total":null,"note":"Captures derived invoice line-item fields correctly, including time_slot 9a-10a, day_of_week Su, air_time 9:38 AM, and ad_id NRCCWI071005 on line item 2.","artifact_count":1,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-datalab-invoice-line-item-2-ab8a8332ed35.png","evidence_url":"https://aidemos.com/evidence/8f9a73fc-cf51-44d4-8845-b997400cabd1"},{"id":"19e65f5c-2d63-4f4b-a846-9ff3728522a5","tool":"docsumo","tool_name":"Docsumo","verdict":"worked","score":null,"score_total":null,"note":"The tool correctly splits compound scheduling data for all 8 line items, with Day of Week and Day Pattern both populated correctly instead of being garbled together.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/9beeb894cf5d41ce8390db3f758c1a98.png?v=1","evidence_url":"https://aidemos.com/evidence/19e65f5c-2d63-4f4b-a846-9ff3728522a5"},{"id":"cff21b29-9003-4011-b627-44d5e3ba01dd","tool":"landing-ai","tool_name":"Landing AI","verdict":"worked","score":null,"score_total":null,"note":"Populates derived scheduling fields such as day_of_week \"M\" and days_pattern \"MTWT\" on invoice line items.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/90a9cfea70bb42c1bc3838858f1543dd.png?v=1","evidence_url":"https://aidemos.com/evidence/cff21b29-9003-4011-b627-44d5e3ba01dd"},{"id":"a896f611-a121-44e4-961b-fc5e78404a9c","tool":"llamaparse","tool_name":"LlamaParse","verdict":"worked","score":null,"score_total":null,"note":"The tool correctly extracts derived scheduling and coding fields for invoice line items, including day_of_week, days_pattern, air_time, ad_id, time_slot, and flight-period references.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/b99d7ccd04834af3b17ad475cba5cdf7.png?v=1","evidence_url":"https://aidemos.com/evidence/a896f611-a121-44e4-961b-fc5e78404a9c"},{"id":"96339391-c5f5-446c-8ee6-82afe8577102","tool":"nanonets","tool_name":"Nanonets","verdict":"failed","score":null,"score_total":null,"note":"Partially extracts line 8's schedule metadata: flight_period_start, flight_period_end, frequency, and days_pattern are null even though the source row and other records contain scheduling information.","artifact_count":2,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-invoice-line-item-8-ae95b671f1c5.png","evidence_url":"https://aidemos.com/evidence/96339391-c5f5-446c-8ee6-82afe8577102"},{"id":"56df60a9-b511-4fc1-b010-3e0208830afc","tool":"reducto","tool_name":"Reducto","verdict":"worked","score":null,"score_total":null,"note":"Correctly derives higher-level invoice metadata such as invoice_month, invoice_period_start, and invoice_period_end alongside invoice_number and order_number, showing semantic field extraction beyond raw OCR text.","artifact_count":1,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/1b328999a9744f8782faf8d8632db00c.mp4?v=1","evidence_url":"https://aidemos.com/evidence/56df60a9-b511-4fc1-b010-3e0208830afc"},{"id":"767f2c35-435b-4239-986b-f1f0ae6517a8","tool":"retab","tool_name":"Retab","verdict":"worked","score":null,"score_total":null,"note":"Derives scheduling fields from the line item, including day_of_week 'Su', days_pattern '------S', air_time '09:38:00', and time_slot '9a-10a'.","artifact_count":1,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-retab-invoice-extracted-line-item-ff712d23f334.png","evidence_url":"https://aidemos.com/evidence/767f2c35-435b-4239-986b-f1f0ae6517a8"},{"id":"bcc9f94f-bf0e-4b9c-b0e7-15f7884ef516","tool":"unstract","tool_name":"Unstract","verdict":"struggled","score":null,"score_total":null,"note":"Mis-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.","artifact_count":1,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/fb441b46fb5c428aa23cdc126cf23ff9.png?v=1","evidence_url":"https://aidemos.com/evidence/bcc9f94f-bf0e-4b9c-b0e7-15f7884ef516"}],"other_criteria":[{"id":"cb0c13d5-8296-4248-ad18-7b40db08339e","criterion":"extraction-accuracy","criterion_name":"Extraction Accuracy","rank_role":"decisive","verdict":"failed","score":null,"score_total":null,"note":"It over-reads the payment-term field, outputting `Payment Terms 30 Days` instead of the requested `30 Days`.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/cb0c13d5-8296-4248-ad18-7b40db08339e"},{"id":"d73f718e-a9a9-4284-b33e-de2e4ed6da9b","criterion":"schema-adherence","criterion_name":"Schema Adherence","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"The tool reconstructs the invoice hierarchy into nested JSON with invoice_metadata, advertiser, station, summary, and line_items objects rather than returning raw OCR.","artifact_count":5,"evidence_url":"https://aidemos.com/evidence/d73f718e-a9a9-4284-b33e-de2e4ed6da9b"},{"id":"34d850cc-ac0c-4e02-a62f-5f24678223a5","criterion":"structural-clean-output","criterion_name":"Structural Clean Output","rank_role":"context","verdict":"worked","score":null,"score_total":null,"note":"The invoice output includes per-section OCR confidence metadata alongside the extracted fields while remaining machine-readable JSON that can be consumed without structural transformation.","artifact_count":1,"evidence_url":"https://aidemos.com/evidence/34d850cc-ac0c-4e02-a62f-5f24678223a5"},{"id":"cbdef271-b824-418f-afc9-3031c0b079ab","criterion":"structural-clean-output","criterion_name":"Structural Clean Output","rank_role":"context","verdict":"failed","score":null,"score_total":null,"note":"It does not preserve the declared schema order, so the JSON is not directly consumable by order-sensitive pipelines without extra reshaping.","artifact_count":3,"evidence_url":"https://aidemos.com/evidence/cbdef271-b824-418f-afc9-3031c0b079ab"},{"id":"18ef9ee1-fba7-4665-a17e-e1951b8b0758","criterion":"table-record-completeness","criterion_name":"Table & Record Completeness","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"It extracts all 8 advertising line items as separate records, preserving item boundaries across the page break without merging adjacent rows.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/18ef9ee1-fba7-4665-a17e-e1951b8b0758"}],"appears_in":[{"page_type":"ranking","slug":"document-extraction","title":"Best AI Tools for Extracting Structured Data from Business Documents","url":"https://aidemos.com/best/document-extraction","binding":"run"},{"page_type":"tool","slug":"docsumo","title":null,"url":"https://aidemos.com/tools/docsumo","binding":"run"}],"same_scenario":[{"id":"8f9a73fc-cf51-44d4-8845-b997400cabd1","tool":"datalab","tool_name":"Datalab","verdict":"worked","score":null,"score_total":null,"note":"Captures derived invoice line-item fields correctly, including time_slot 9a-10a, day_of_week Su, air_time 9:38 AM, and ad_id NRCCWI071005 on line item 2."},{"id":"19e65f5c-2d63-4f4b-a846-9ff3728522a5","tool":"docsumo","tool_name":"Docsumo","verdict":"worked","score":null,"score_total":null,"note":"The tool correctly splits compound scheduling data for all 8 line items, with Day of Week and Day Pattern both populated correctly instead of being garbled together."},{"id":"cff21b29-9003-4011-b627-44d5e3ba01dd","tool":"landing-ai","tool_name":"Landing AI","verdict":"worked","score":null,"score_total":null,"note":"Populates derived scheduling fields such as day_of_week \"M\" and days_pattern \"MTWT\" on invoice line items."},{"id":"a896f611-a121-44e4-961b-fc5e78404a9c","tool":"llamaparse","tool_name":"LlamaParse","verdict":"worked","score":null,"score_total":null,"note":"The tool correctly extracts derived scheduling and coding fields for invoice line items, including day_of_week, days_pattern, air_time, ad_id, time_slot, and flight-period references."},{"id":"96339391-c5f5-446c-8ee6-82afe8577102","tool":"nanonets","tool_name":"Nanonets","verdict":"failed","score":null,"score_total":null,"note":"Partially extracts line 8's schedule metadata: flight_period_start, flight_period_end, frequency, and days_pattern are null even though the source row and other records contain scheduling information."},{"id":"56df60a9-b511-4fc1-b010-3e0208830afc","tool":"reducto","tool_name":"Reducto","verdict":"worked","score":null,"score_total":null,"note":"Correctly derives higher-level invoice metadata such as invoice_month, invoice_period_start, and invoice_period_end alongside invoice_number and order_number, showing semantic field extraction beyond raw OCR text."},{"id":"767f2c35-435b-4239-986b-f1f0ae6517a8","tool":"retab","tool_name":"Retab","verdict":"worked","score":null,"score_total":null,"note":"Derives scheduling fields from the line item, including day_of_week 'Su', days_pattern '------S', air_time '09:38:00', and time_slot '9a-10a'."},{"id":"bcc9f94f-bf0e-4b9c-b0e7-15f7884ef516","tool":"unstract","tool_name":"Unstract","verdict":"struggled","score":null,"score_total":null,"note":"Mis-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."}]}