{"observation":{"id":"6d4aa957-2bb9-4651-9de3-19ae97c912f3","tool":"landing-ai","tool_name":"Landing AI","criterion":"structural-clean-output","criterion_name":"Structural Clean Output","criterion_definition":"Is the JSON directly consumable by a downstream AI pipeline or system without requiring a structural transformation layer?","criterion_evidence_type":"transformation","criterion_rank_role":"context","criterion_rank_role_reason":"Being directly consumable by a downstream pipeline is valuable, but it is more about integration convenience than whether the tool actually extracts the data correctly. (3 of 3 judges)","scenario":"bank-statement-pdf","scenario_name":"Bank Statement PDF","group_tag":"business-document-extraction","scenario_description":"A four-page bank statement PDF with dense transaction tables, balance-forward bridges, account metadata, rewards data, and disclaimer text. It was used to stress schema-driven extraction, multi-page continuity, row completeness, and financial numerical accuracy.","modality":"pdf","input_text":null,"input_artifact_refs":[{"alt":null,"url":"https://cdn.futuresmart.ai/public/aidemos/a459a9de9c8a466d8f69b112e04ddad2.pdf?v=1","role":"input","filename":"Bank Statement PDF.pdf"}],"stresses":["Table extraction across 50+ transaction rows","Multi-page continuity with balance-forward bridges","Parsing structured account metadata alongside unstructured transaction descriptions","Numerical accuracy for deposits, withdrawals, running balances, and summaries","Extraction of nested rewards and disclaimer sections"],"verdict":"worked","score":null,"score_total":null,"note":"Delivers JSON that is directly usable downstream, with the demo moving from upload to extraction results and the report noting downloadable output with no extra transformation step.","evidence_state":"verified","source":null,"artifacts":[{"url":"https://cdn.futuresmart.ai/public/aidemos/48962ee031ec4496b0c08a3aacebe0d8.mp4?v=1","role":"context","alt":null},{"url":"https://d3epheqghktydj.cloudfront.net/research-media-landingai-output-1-d3ff94f60bcb.json","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/a459a9de9c8a466d8f69b112e04ddad2.pdf?v=1","filename":"Bank Statement PDF.pdf","alt":"Bank Statement PDF","role":"input"}],"modality":"pdf","stresses":["Table extraction across 50+ transaction rows","Multi-page continuity with balance-forward bridges","Parsing structured account metadata alongside unstructured transaction descriptions","Numerical accuracy for deposits, withdrawals, running balances, and summaries","Extraction of nested rewards and disclaimer sections"]},"tool_page_slug":"landing-ai","tool_url":"https://aidemos.com/tools/landing-ai","permalink":"https://aidemos.com/evidence/6d4aa957-2bb9-4651-9de3-19ae97c912f3","api_url":"https://ai.aidemos.com/v1/observations/6d4aa957-2bb9-4651-9de3-19ae97c912f3"},"peers":[{"id":"010e7dbd-9574-4e0f-bdc3-c370101d3914","tool":"extend-ai","tool_name":"Extend AI","verdict":"failed","score":null,"score_total":null,"note":"The output reorders top-level schema objects instead of preserving the declared sequence, so consumers that depend on the original order need an extra transformation step.","artifact_count":1,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-extend-ai-bank-statement-schema-order-69fcdddefcea.png","evidence_url":"https://aidemos.com/evidence/010e7dbd-9574-4e0f-bdc3-c370101d3914"},{"id":"527704b6-b5a4-4c3d-ba5e-e7d4275464b9","tool":"retab","tool_name":"Retab","verdict":"worked","score":null,"score_total":null,"note":"Produces directly copyable JSON from the workflow, so the bank-statement extraction is immediately usable without a transformation layer after configuration.","artifact_count":3,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-bank-statement-2-jul-a511cf7bd0d6.png","evidence_url":"https://aidemos.com/evidence/527704b6-b5a4-4c3d-ba5e-e7d4275464b9"}],"other_criteria":[{"id":"5efe531d-6c34-4551-88f5-d36447fed696","criterion":"extraction-accuracy","criterion_name":"Extraction Accuracy","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Preserves statement metadata and balances with exact values, including bank_name \"Standard Chartered\", statement_date \"16 Jul 2019\", currency \"INR\", opening_balance 114453.65, and closing_balance 116149.46.","artifact_count":3,"evidence_url":"https://aidemos.com/evidence/5efe531d-6c34-4551-88f5-d36447fed696"},{"id":"253299f2-f4f9-4a12-ac12-278c46cc1d98","criterion":"schema-adherence","criterion_name":"Schema Adherence","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Reconstructs the supplied bank-statement hierarchy instead of flat OCR, with nested statement.metadata, account_holder.address, account, branch, statement_period, balances, transactions, summary, rewards, and disclaimers objects present in the extracted JSON flow.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/253299f2-f4f9-4a12-ac12-278c46cc1d98"},{"id":"e93da7d1-3512-4bea-a7ef-f17bb7e9574c","criterion":"semantic-field-enrichment","criterion_name":"Semantic Field Enrichment","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Classifies extracted bank rows with semantic transaction_type labels such as Withdrawal and Deposit, showing derived type tagging beyond raw transaction text.","artifact_count":1,"evidence_url":"https://aidemos.com/evidence/e93da7d1-3512-4bea-a7ef-f17bb7e9574c"},{"id":"0fca055b-131d-4d24-9fd0-3b79f465a72d","criterion":"semantic-field-enrichment","criterion_name":"Semantic Field Enrichment","rank_role":"decisive","verdict":"failed","score":null,"score_total":null,"note":"Does not preserve source transaction identifiers, instead assigning sequential transaction_id values (\"1\", \"2\", \"3\", ...) to the rows.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/0fca055b-131d-4d24-9fd0-3b79f465a72d"},{"id":"9efbfd60-4094-4c43-b099-7166bc9de71c","criterion":"table-record-completeness","criterion_name":"Table & Record Completeness","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"Returns the full transaction table as separate records; the report says all 51 statement entries were extracted without collapsing rows or dropping records.","artifact_count":3,"evidence_url":"https://aidemos.com/evidence/9efbfd60-4094-4c43-b099-7166bc9de71c"}],"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":"010e7dbd-9574-4e0f-bdc3-c370101d3914","tool":"extend-ai","tool_name":"Extend AI","verdict":"failed","score":null,"score_total":null,"note":"The output reorders top-level schema objects instead of preserving the declared sequence, so consumers that depend on the original order need an extra transformation step."},{"id":"527704b6-b5a4-4c3d-ba5e-e7d4275464b9","tool":"retab","tool_name":"Retab","verdict":"worked","score":null,"score_total":null,"note":"Produces directly copyable JSON from the workflow, so the bank-statement extraction is immediately usable without a transformation layer after configuration."}]}