{"observation":{"id":"4d3907e7-7988-4063-b5ba-89a42de6eab6","tool":"extend-ai","tool_name":"Extend 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":"Directly consumable JSON is valuable for workflow convenience, but it is a delivery/integration concern rather than the core measure of extraction quality itself. (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":"failed","score":null,"score_total":null,"note":"It does not preserve the authored top-level schema sequence, so consumers expecting the original field order need a transformation step.","evidence_state":"verified","source":null,"artifacts":[{"url":"https://d3epheqghktydj.cloudfront.net/research-media-extend-ai-bank-statement-schema-order-69fcdddefcea.png","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":"input-and-output","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":"extend-ai","tool_url":"https://aidemos.com/tools/extend-ai","permalink":"https://aidemos.com/evidence/4d3907e7-7988-4063-b5ba-89a42de6eab6","api_url":"https://ai.aidemos.com/v1/observations/4d3907e7-7988-4063-b5ba-89a42de6eab6"},"peers":[{"id":"2d9d828a-e002-45f9-9dfe-93aef402a5de","tool":"reducto","tool_name":"Reducto","verdict":"mixed","score":null,"score_total":null,"note":"Exports JSON directly, but the bank workflow is not cleanly consumable end-to-end because the report says the result still needs reconciliation and correction before use.","artifact_count":3,"thumbnail":"https://d3epheqghktydj.cloudfront.net/research-media-bank-statement-2-jul-a511cf7bd0d6.png","evidence_url":"https://aidemos.com/evidence/2d9d828a-e002-45f9-9dfe-93aef402a5de"}],"other_criteria":[{"id":"13420641-f30e-4375-8289-ef9240cc49f9","criterion":"extraction-accuracy","criterion_name":"Extraction Accuracy","rank_role":"decisive","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,"evidence_url":"https://aidemos.com/evidence/13420641-f30e-4375-8289-ef9240cc49f9"},{"id":"a72ab809-ef71-47eb-8461-d9518c96d28b","criterion":"schema-adherence","criterion_name":"Schema Adherence","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"The bank output is rebuilt as nested JSON rather than raw OCR, with branch, account, rewards, balances, summary, and metadata objects populated under the requested statement root.","artifact_count":4,"evidence_url":"https://aidemos.com/evidence/a72ab809-ef71-47eb-8461-d9518c96d28b"},{"id":"414af8f0-b7ac-40ed-914e-051d339dfa2b","criterion":"semantic-field-enrichment","criterion_name":"Semantic Field Enrichment","rank_role":"decisive","verdict":"failed","score":null,"score_total":null,"note":"It leaves derived `transaction_id` values as `null` even when reference identifiers are present in the description, so identifier extraction does not generalize.","artifact_count":1,"evidence_url":"https://aidemos.com/evidence/414af8f0-b7ac-40ed-914e-051d339dfa2b"},{"id":"2c4cdb0a-b344-4604-b614-c97af6d74ea2","criterion":"semantic-field-enrichment","criterion_name":"Semantic Field Enrichment","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"It classifies bank transactions into derived `transaction_type` values such as Withdrawal or Deposit from the description text.","artifact_count":1,"evidence_url":"https://aidemos.com/evidence/2c4cdb0a-b344-4604-b614-c97af6d74ea2"},{"id":"3b66a1fa-5d29-4130-8e37-0c4cdc033160","criterion":"table-and-record-completeness","criterion_name":"Table & Record Completeness","rank_role":"decisive","verdict":"worked","score":null,"score_total":null,"note":"The extractor keeps transaction rows as separate records, and the report says it captured all 51 transactions without merging adjacent rows.","artifact_count":1,"evidence_url":"https://aidemos.com/evidence/3b66a1fa-5d29-4130-8e37-0c4cdc033160"}],"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":"2d9d828a-e002-45f9-9dfe-93aef402a5de","tool":"reducto","tool_name":"Reducto","verdict":"mixed","score":null,"score_total":null,"note":"Exports JSON directly, but the bank workflow is not cleanly consumable end-to-end because the report says the result still needs reconciliation and correction before use."}]}