{"observation":{"id":"842f9614-818a-491f-91d0-1ca3ff89419e","tool":"nanonets","tool_name":"Nanonets","criterion":"extraction-accuracy","criterion_name":"Extraction Accuracy","criterion_definition":"Are field values correct, complete, and free of OCR or parsing errors? Includes numerical precision on financial fields.","criterion_evidence_type":"transformation","criterion_rank_role":"decisive","criterion_rank_role_reason":"The whole point is to pull the right values from documents; wrong or incomplete field values mean the tool failed at the job. (3 of 3 judges)","scenario":"bank-statement-pdf","scenario_name":"Bank Statement PDF","group_tag":"financial-document-extraction","scenario_description":"A 4-page bank statement PDF with 51 transactions, balances, rewards, and disclaimer text, used to test schema-driven extraction of dense financial tables and multi-page continuity.","modality":"pdf","input_text":null,"input_artifact_refs":[{"alt":null,"url":"https://d3epheqghktydj.cloudfront.net/extract-and-query-structured-data-from-d-bank-statement-pdf-25ec532be6e1.pdf","role":"input","filename":"Bank Statement PDF.pdf"}],"stresses":["Table extraction across 50+ transaction rows","Multi-page continuity with BALANCE FORWARD bridges","Structured metadata vs. free-text transaction descriptions","Numerical accuracy for balances, deposits, withdrawals, and summaries","Nested schema population for account, branch, balances, rewards, and disclaimers"],"verdict":"mixed","score":null,"score_total":null,"note":"It leaves date and value_date blank on multiple transactions even when the source row contains them; the report says 15+ transactions are affected.","evidence_state":"verified","source":null,"artifacts":[{"url":"https://d3epheqghktydj.cloudfront.net/research-media-bank-statement-upi-transaction-b0f782b6c625.png","role":"input","alt":null},{"url":"https://d3epheqghktydj.cloudfront.net/research-media-bank-statement-2-jul-a511cf7bd0d6.png","role":"input","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":"input-only","input":{"state":"files","text":null,"files":[{"url":"https://d3epheqghktydj.cloudfront.net/extract-and-query-structured-data-from-d-bank-statement-pdf-25ec532be6e1.pdf","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","Structured metadata vs. free-text transaction descriptions","Numerical accuracy for balances, deposits, withdrawals, and summaries","Nested schema population for account, branch, balances, rewards, and disclaimers"]},"tool_page_slug":"nanonets","tool_url":"https://aidemos.com/tools/nanonets","permalink":"https://aidemos.com/evidence/842f9614-818a-491f-91d0-1ca3ff89419e","api_url":"https://ai.aidemos.com/v1/observations/842f9614-818a-491f-91d0-1ca3ff89419e"},"peers":[{"id":"52cee941-b823-4752-81ff-8803d734fa1a","tool":"datalab","tool_name":"Datalab","verdict":"worked","score":null,"score_total":null,"note":"Extracts the visible document-level values correctly, including State Bank of India, 16 Jul 2019, INR, account number 42710540422, account type SMART BANKING SAVINGS ACCOUNT, branch Rajaji Salai, MICR 600036005, IFSC SCBL0036078, and phone 25349005.","artifact_count":2,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/71f9443de6a54eb6b5500ddc4edef9c5.png?v=1","evidence_url":"https://aidemos.com/evidence/52cee941-b823-4752-81ff-8803d734fa1a"},{"id":"13420641-f30e-4375-8289-ef9240cc49f9","tool":"extend-ai","tool_name":"Extend AI","verdict":"struggled","score":null,"score_total":null,"note":"Its bank summary aggregation is off: the report says `summary.total_transactions` is 49, while the expected count is 40 after excluding Balance Forward, tax, and charge entries.","artifact_count":2,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-bank-statement-2-jul-a511cf7bd0d6.png","evidence_url":"https://aidemos.com/evidence/13420641-f30e-4375-8289-ef9240cc49f9"},{"id":"ad17e2c7-e810-4619-96c5-09931380ff90","tool":"landing-ai","tool_name":"Landing AI","verdict":"worked","score":null,"score_total":null,"note":"Extracts the statement’s top-level values with the correct content and precision, including bank_name \"Standard Chartered\", statement_date \"16 Jul 2019\", currency \"INR\", account number \"42710540422\", opening balance 114453.65, and closing balance 116149.46.","artifact_count":3,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-bank-statement-2-jul-a511cf7bd0d6.png","evidence_url":"https://aidemos.com/evidence/ad17e2c7-e810-4619-96c5-09931380ff90"},{"id":"81a8a18e-5656-4db6-8d73-4dd8203a9209","tool":"llamaparse","tool_name":"LlamaParse","verdict":"struggled","score":null,"score_total":null,"note":"Leaves some transaction value_date fields blank even where the statement shows dates in that column, so transaction metadata is incomplete.","artifact_count":1,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-llamaparse-bank-statement-16-jul-value-d-4906fee56b7b.png","evidence_url":"https://aidemos.com/evidence/81a8a18e-5656-4db6-8d73-4dd8203a9209"},{"id":"956bec9e-b310-4628-a049-b04b3e645b5e","tool":"reducto","tool_name":"Reducto","verdict":"worked","score":null,"score_total":null,"note":"The tool correctly extracts the bank statement currency as INR and includes citation metadata for that field.","artifact_count":1,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/8bb08fbfe42e417db6ccbeb6262e87f7.png?v=1","evidence_url":"https://aidemos.com/evidence/956bec9e-b310-4628-a049-b04b3e645b5e"},{"id":"3cd1ce35-b4b0-4b71-9a49-f28d7f5e3622","tool":"retab","tool_name":"Retab","verdict":"worked","score":null,"score_total":null,"note":"Preserves long disclaimer prose in dedicated fields, capturing two separate strings for insurance_coverage and reporting_period rather than collapsing them into one blob.","artifact_count":1,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/7335c86f94a340cf8443685a9fca91ce.png?v=1","evidence_url":"https://aidemos.com/evidence/3cd1ce35-b4b0-4b71-9a49-f28d7f5e3622"},{"id":"9256b7b3-d9fb-4b69-ba61-8ffde0fa3f6d","tool":"unstract","tool_name":"Unstract","verdict":"failed","score":null,"score_total":null,"note":"Derives an incorrect summary transaction count, reporting 43 when the statement actually contains 51 rows.","artifact_count":3,"thumbnail":"https://cdn.futuresmart.ai/public/aidemos/6495c5a868854823bcf3cd94c90bb6aa.pdf?v=1","evidence_url":"https://aidemos.com/evidence/9256b7b3-d9fb-4b69-ba61-8ffde0fa3f6d"}],"other_criteria":[{"id":"86ec5538-27d3-490e-88ab-a30bbd4479e8","criterion":"schema-adherence","criterion_name":"Schema Adherence","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"It preserves the requested nested schema directly in the output, populating structured objects such as statement, account, balances, transactions, summary, rewards, and disclaimers instead of flattening the document into OCR text.","artifact_count":3,"evidence_url":"https://aidemos.com/evidence/86ec5538-27d3-490e-88ab-a30bbd4479e8"},{"id":"db96ee62-b038-4189-9112-9ff53de816f8","criterion":"semantic-field-enrichment","criterion_name":"Semantic Field Enrichment","rank_role":"decisive","verdict":"failed","score":null,"score_total":null,"note":"It does not populate the derived transaction_type field, leaving it null across the statement instead of classifying deposits and withdrawals.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/db96ee62-b038-4189-9112-9ff53de816f8"},{"id":"aabe6c7c-96c6-45f9-8357-03560e885eb4","criterion":"table-and-record-completeness","criterion_name":"Table & Record Completeness","rank_role":"decisive","verdict":"failed","score":null,"score_total":null,"note":"It merges adjacent bank-statement rows into a single record description, so one extracted transaction can absorb neighboring content rather than staying row-bounded.","artifact_count":1,"evidence_url":"https://aidemos.com/evidence/aabe6c7c-96c6-45f9-8357-03560e885eb4"},{"id":"4ecae670-4417-4bc0-98d5-6f6fe27654e0","criterion":"table-and-record-completeness","criterion_name":"Table & Record Completeness","rank_role":"decisive","verdict":"failed","score":null,"score_total":null,"note":"It undercounts the transaction table, extracting 47 transactions when the statement actually contains 51, so 4 records are missing.","artifact_count":2,"evidence_url":"https://aidemos.com/evidence/4ecae670-4417-4bc0-98d5-6f6fe27654e0"}],"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":"52cee941-b823-4752-81ff-8803d734fa1a","tool":"datalab","tool_name":"Datalab","verdict":"worked","score":null,"score_total":null,"note":"Extracts the visible document-level values correctly, including State Bank of India, 16 Jul 2019, INR, account number 42710540422, account type SMART BANKING SAVINGS ACCOUNT, branch Rajaji Salai, MICR 600036005, IFSC SCBL0036078, and phone 25349005."},{"id":"13420641-f30e-4375-8289-ef9240cc49f9","tool":"extend-ai","tool_name":"Extend AI","verdict":"struggled","score":null,"score_total":null,"note":"Its bank summary aggregation is off: the report says `summary.total_transactions` is 49, while the expected count is 40 after excluding Balance Forward, tax, and charge entries."},{"id":"ad17e2c7-e810-4619-96c5-09931380ff90","tool":"landing-ai","tool_name":"Landing AI","verdict":"worked","score":null,"score_total":null,"note":"Extracts the statement’s top-level values with the correct content and precision, including bank_name \"Standard Chartered\", statement_date \"16 Jul 2019\", currency \"INR\", account number \"42710540422\", opening balance 114453.65, and closing balance 116149.46."},{"id":"81a8a18e-5656-4db6-8d73-4dd8203a9209","tool":"llamaparse","tool_name":"LlamaParse","verdict":"struggled","score":null,"score_total":null,"note":"Leaves some transaction value_date fields blank even where the statement shows dates in that column, so transaction metadata is incomplete."},{"id":"956bec9e-b310-4628-a049-b04b3e645b5e","tool":"reducto","tool_name":"Reducto","verdict":"worked","score":null,"score_total":null,"note":"The tool correctly extracts the bank statement currency as INR and includes citation metadata for that field."},{"id":"3cd1ce35-b4b0-4b71-9a49-f28d7f5e3622","tool":"retab","tool_name":"Retab","verdict":"worked","score":null,"score_total":null,"note":"Preserves long disclaimer prose in dedicated fields, capturing two separate strings for insurance_coverage and reporting_period rather than collapsing them into one blob."},{"id":"9256b7b3-d9fb-4b69-ba61-8ffde0fa3f6d","tool":"unstract","tool_name":"Unstract","verdict":"failed","score":null,"score_total":null,"note":"Derives an incorrect summary transaction count, reporting 43 when the statement actually contains 51 rows."}]}