# llms-full.txt for bankstatemently.com version: 1.0 last-updated: 2026-09-11 site: https://bankstatemently.com ## Canonical pages 1. / (Bank statement converter with 99.9% accuracy, backed by an open-source benchmark. Convert PDFs to CSV, Excel, QuickBooks, or Xero. JSON via a REST API.) 2. /developers (PDF bank statement API for developers — REST API and MCP server, evaluation-backed extraction.) 3. /pricing (Convert bank statement PDFs to CSV, Excel, QBO, Xero or JSON via API. Free tier, no signup. Pay-as-you-go from $0.03/page. 99.9% accuracy, 80+ verified banks.) 4. /benchmark (15 synthetic bank statements, 36 parsing challenges, 12 countries. The first open benchmark for measuring bank statement extraction accuracy. Free API access.) 5. /benchmark/results (Accuracy testing of bank statement PDF converters. Compare extraction quality and see which tools deliver 99%+ accuracy for clean CSV and Excel output.) 6. /banks (Bank statement converter for 372+ banks across 42 countries — Chase, HSBC, Bank of America, DBS, and more. 80 accuracy-verified with bank-specific templates.) 7. /use-cases (How lawyers, accountants, lenders, and compliance teams use Bankstatemently to convert PDF bank statements into clean, structured, analysis-ready data.) 8. /developers/api (REST API documentation — convert PDF bank statements to structured JSON, CSV, XLSX, or QBO.) 9. /developers/mcp (MCP server for AI agents (Claude, ChatGPT, Codex, Cursor) to parse bank statement PDFs.) 10. /benchmark/challenges (36 real-world parsing challenges that break bank statement parsers: bilingual headers, Buddhist era dates, scanned PDFs, multi-currency tables, and more.) 11. /blog (Product updates and the founder's letters.) 12. /use-cases/lawyers (Bank statement analysis software for lawyers. Convert PDF statements into court-ready financial evidence. Reliable, deterministic extraction for litigation.) 13. /use-cases/financial-forensics (Forensic bank statement analysis software. Multi-account transaction analysis with full audit trails. Built for financial investigations, forensic accounting.) 14. /use-cases/accountants-bookkeepers (Convert bank statements to CSV, Excel & QBO for accountants. Automate client reconciliation, save hours per client. Export to QuickBooks, Xero. Completely free.) 15. /use-cases/loan-underwriting (Automate bank statement analysis for loan underwriting. Extract income, detect hidden liabilities, and make faster credit decisions via API or AI agent.) 16. /use-cases/aml-compliance (Automate bank statement review for AML compliance. Extract transactions, detect suspicious patterns, and meet regulatory deadlines. API and AI agent ready.) 17. /use-cases/sme-business-owners (Convert bank statement PDFs to Excel, CSV, or QuickBooks format. Stop manually typing transactions. Works with any bank, any format. Start free today.) 18. /use-cases/divorce-financial-analysis (Uncover hidden income and assets in divorce bank statements. Trace transfers across accounts and get verifiable evidence without needing a forensic accountant.) 19. /financial-memory (Financial memory for AI agents: a deterministic, document-derived memory layer for bank statements. Give Claude or ChatGPT reconciled data via MCP or API.) 20. /claude (Connect Bankstatemently to Claude with one URL. Paste it into a custom connector, sign in, and ask Claude to convert, analyze, or reconcile bank statements.) 21. /chatgpt (Connect Bankstatemently to ChatGPT with one URL. Paste it into a custom MCP app, sign in, and ask ChatGPT to convert, analyze, or reconcile bank statements.) 22. /about (Learn about Bankstatemently and Michael Duyvesteijn, a fintech founder building AI-powered bank statement conversion tools with a measured 99.9% accuracy.) 23. /featured-in (Bankstatemently has been featured or listed on developer, startup, and fintech platforms where builders and founders share useful tools and infrastructure.) 24. /privacy (Learn how Bankstatemently protects your data. We do not sell your information and store files securely. GDPR compliant for EU users, with full account deletion.) 25. /terms (Read Bankstatemently's Terms of Service. Simple, transparent terms covering accounts, payment, data use, and liability for our statement conversion software.) 26. /support (Get help with Bankstatemently support: chat with our team, email us, or use self-serve guides for unrecognised banks, low credits, passwords, and scans.) ## Per-page detail (FAQ Q&As, resolved from each page's own content source) ### /use-cases/lawyers Bank statement analysis software for lawyers. Convert PDF statements into court-ready financial evidence. Reliable, deterministic extraction for litigation. Q: Are extractions admissible in court? A: Bankstatemently uses deterministic, rule-based extraction that produces reproducible results—the same input always generates identical output. This methodology can be explained and defended by technical experts, meeting typical standards for admissibility. However, admissibility depends on your jurisdiction's evidence rules and how you present the extraction methodology. Many attorneys have successfully used our exports as exhibits after proper foundation. Q: Can I trace funds across multiple accounts? A: Yes. Upload statements from multiple accounts and use our transaction timeline to identify corresponding deposits and withdrawals. The chronological view helps track fund movements between accounts, identify patterns of hidden income, or trace asset transfers in divorce and fraud cases. Export combined data for cross-account analysis. Q: How do I verify extraction accuracy for opposing counsel? A: Every transaction includes its source page number from the original PDF. Opposing counsel can verify any transaction by checking the referenced page. Our exports also include confidence scores showing extraction certainty. You can provide verification reports documenting our extraction methodology and accuracy testing results. Q: What file formats does Bankstatemently support? A: We support PDF bank statements from any institution. Upload multi-page statements, scanned documents, or digital downloads—our deterministic extraction handles all formats. Export to CSV or Excel for court exhibits, with columns pre-formatted for legal submission. Q: My client has 250 pages of statements that need examining for the discovery deadline—can that be done in time? A: Yes. Upload all 250 pages and deterministic extraction processes them in minutes rather than the days a manual review would need, with every transaction examined the same way regardless of volume. Source page references and confidence scores are attached to each transaction so opposing counsel can verify the examination before the exhibit is submitted. ### /use-cases/financial-forensics Forensic bank statement analysis software. Multi-account transaction analysis with full audit trails. Built for financial investigations, forensic accounting. Q: Can Bankstatemently detect altered bank statements? A: Bankstatemently performs transaction integrity checks including balance verification, sequence validation, and formatting consistency analysis. These automated checks flag anomalies that may indicate document alteration, though they cannot definitively prove tampering. Forensic investigators should use flagged items as starting points for deeper analysis and expert document examination. Q: How do you handle multi-account forensic analysis? A: Upload statements from all relevant accounts—the system processes them in parallel and creates a consolidated transaction timeline. The unified view enables cash flow reconstruction, fund tracing between accounts, and pattern analysis across institutions. Export combined data for further forensic analysis or import into specialized financial investigation software. Q: What's included in the forensic audit trail? A: Every transaction includes its source page reference from the original PDF, extraction confidence score, and processing timestamp. Audit logs document extraction methodology, rule versions used, validation checks performed, and data access history. Verification reports suitable for regulatory or court submission document the complete extraction process and accuracy testing. Q: How accurate is forensic bank statement extraction? A: Our deterministic extraction is designed for high accuracy with structured bank statements. Every field includes a confidence score indicating extraction certainty. Balance verification across pages ensures completeness. You can verify extraction quality through source page references before relying on data for investigative conclusions. Accuracy varies by statement quality—scanned or low-resolution documents may require additional verification. Q: I have 300 pages of statements across six accounts that need examining—how long does that take? A: Upload all six accounts at once; batch processing handles dozens of statements simultaneously, so 300 pages typically finish in minutes rather than the days a manual review would take. Every transaction is extracted with a confidence score and source page reference, so you can verify the examination before relying on it for your investigation. Cross-statement consistency checks run automatically across all accounts in the same batch. ### /use-cases/accountants-bookkeepers Convert bank statements to CSV, Excel & QBO for accountants. Automate client reconciliation, save hours per client. Export to QuickBooks, Xero. Completely free. Q: Can clients upload statements directly? A: Yes. Our secure client portal allows clients to upload their statements directly with access controls and file encryption. You receive organized uploads by client with automatic notifications. This eliminates email back-and-forth and speeds up your month-end workflow while maintaining security and confidentiality. Q: Can I process statements in bulk for month-end? A: Absolutely. Upload statements from all clients simultaneously—the system processes them in parallel and organizes exports by client. This bulk processing capability is designed specifically for month-end when statements from dozens of clients arrive together. Process your entire client base in minutes instead of days. Q: How do I handle multi-currency statements? A: Multi-currency statements are automatically detected and exported with original currency information preserved. Transaction amounts maintain their source currency, while totals and balances are normalized for consistency. Export data includes currency codes for proper handling in QuickBooks and Xero. Q: What file formats does Bankstatemently support? A: We support PDF bank statements from any institution—major banks, regional institutions, credit unions, and international banks. Upload multi-page statements, scanned documents, or digital downloads. Export to CSV or Excel with formatting optimized for QuickBooks and Xero import, or use our direct integration for one-click transfer. ### /use-cases/loan-underwriting Automate bank statement analysis for loan underwriting. Extract income, detect hidden liabilities, and make faster credit decisions via API or AI agent. Q: Can I integrate bank statement parsing into my lending platform via API? A: Yes. Our REST API accepts PDF uploads and returns structured JSON with transaction data, income summaries, and cash flow indicators. Batch processing handles high-volume workflows. See our API documentation at /developers/api for endpoints, authentication, and response schemas. Q: How does Bankstatemently handle the variety of bank statement formats? A: Our extraction engines handle any bank statement format—digital PDFs, scanned documents, multi-page statements, and international bank formats. No format-specific configuration required. Upload a statement from any institution and receive consistent, structured output regardless of the source format. Q: What financial metrics can be extracted for underwriting? A: Every transaction is extracted with date, description, amount, and running balance. From this complete transaction history, you can derive income consistency, average monthly balances, recurring expenses, debt service ratios, and cash flow patterns. The structured output feeds directly into credit scoring models. Q: How accurate is the extraction for credit decisions? A: We use dual-engine extraction with cross-validation—two independent engines (AI and rule-based) extract every transaction, and disagreements are flagged automatically. Balance math verifies extracted totals against declared statement values. Accuracy is continuously measured using our benchmarking framework across amounts, dates, descriptions, and balances. Q: Can Bankstatemently detect fraudulent or tampered bank statements? A: Bankstatemently performs structural and mathematical validation on every statement—balance reconciliation, chronological consistency checks, and cross-engine verification. Discrepancies between declared totals and extracted transaction sums are flagged automatically. While this catches many forms of tampering, dedicated forensic analysis (e.g., PDF metadata inspection) is available as a separate capability. Q: Can AI agents analyze bank statements through Bankstatemently? A: Yes. Bankstatemently exposes a Model Context Protocol (MCP) server that AI agents can connect to directly. Your agent can parse statements, retrieve structured data, and reason over borrower financials conversationally—no pipeline code needed. Example: “Analyze this statement and flag any financial risks.” The MCP endpoint uses the same extraction engines and accuracy guarantees as the REST API. Q: I have 12 months of statements across three accounts that need examining before I can approve this loan—how fast is that? A: Batch upload all three accounts and every transaction across the full 12 months is examined and cross-validated in minutes, not the hours a manual review takes per applicant. Dual-engine extraction flags discrepancies automatically, so the examination is consistent regardless of how many accounts or months are involved. ### /use-cases/aml-compliance Automate bank statement review for AML compliance. Extract transactions, detect suspicious patterns, and meet regulatory deadlines. API and AI agent ready. Q: Can I integrate bank statement parsing into my compliance platform via API? A: Yes. Our REST API accepts PDF uploads and returns structured JSON with complete transaction data. Batch processing handles high-volume monitoring programs. The API integrates with transaction monitoring systems, case management platforms, and regulatory reporting tools. See our API documentation at /developers/api for endpoints, authentication, and response schemas. Q: How does Bankstatemently handle statements from different banks and countries? A: Our extraction engines handle any bank statement format—digital PDFs, scanned documents, multi-page statements, and international formats across jurisdictions. No format-specific configuration required. Upload a statement from any institution and receive consistent, structured output regardless of source format, language, or currency. Q: Can I analyze statements from multiple suspect accounts simultaneously? A: Yes. Upload statements from multiple accounts and banks in a single batch. Each statement is processed independently and returns structured data that can be cross-referenced across accounts. The API supports batch processing for programmatic workflows where you need to analyze dozens of accounts as part of an investigation. Q: How accurate is the extraction for regulatory compliance? A: We use dual-engine extraction with cross-validation—two independent engines (AI and rule-based) extract every transaction, and disagreements are flagged automatically. Balance math verifies extracted totals against declared statement values. Accuracy is continuously measured using our benchmarking framework. Identical inputs always produce identical outputs, supporting examiner defense. Q: Can AI agents analyze bank statements for AML investigations? A: Yes. Bankstatemently exposes a Model Context Protocol (MCP) server that AI agents can connect to directly. Your agent can parse statements, retrieve structured data, and query transactions conversationally—“Show all cash deposits above $9,000 in the last 90 days” or “Identify transfers between Account A and Account B.” The MCP endpoint uses the same extraction engines and accuracy guarantees as the REST API. Q: Does Bankstatemently detect suspicious transactions automatically? A: Bankstatemently focuses on accurate, complete extraction—giving your compliance team the structured data foundation to run their own detection rules and monitoring logic. We perform structural and mathematical validation (balance reconciliation, completeness checks, cross-engine verification) but leave pattern detection and alerting to your specialized compliance tools, which can operate on our structured output. Q: I need 200 pages of statements from a suspect account examined before the regulatory deadline—how fast is that? A: Batch processing extracts and cross-validates 200 pages in minutes, not the days a manual review would need. Dual-engine extraction with automatic disagreement flagging means every transaction is examined the same way regardless of statement volume, so a 24-hour deadline is comfortably met even for multi-account cases. ### /use-cases/sme-business-owners Convert bank statement PDFs to Excel, CSV, or QuickBooks format. Stop manually typing transactions. Works with any bank, any format. Start free today. Q: Is this free for small businesses? A: Yes — your first statements are completely free with no credit card required. Upload a statement, review the output, and download your Excel or CSV. If you need to convert statements regularly, affordable plans start from a few dollars per month. Q: Will it work with my bank? A: Bankstatemently works with 80+ accuracy-verified banks worldwide, and handles PDF statements from virtually any financial institution. Whether your business banks with a major institution, a regional bank, a credit union, or a digital bank — upload your statement and it just works. Q: Can I send the output directly to my accountant? A: Absolutely. Download the converted file in CSV or Excel format and send it to your accountant or bookkeeper. If they use QuickBooks or Xero, you can export in the exact format their software expects — saving both of you time and eliminating data entry errors. Q: What if I have multiple bank accounts and credit cards? A: Convert statements from all your accounts — checking, savings, credit cards — using the same tool. Each statement gets clean, consistent output regardless of which bank it comes from. Perfect for businesses that use multiple financial institutions. ### /use-cases/divorce-financial-analysis Uncover hidden income and assets in divorce bank statements. Trace transfers across accounts and get verifiable evidence without needing a forensic accountant. Q: How do I find hidden bank accounts in a divorce? A: Upload every statement you already have access to: joint accounts, your own accounts, and any statements you can legally obtain. Transfer matching flags money moving out to accounts not among the ones you uploaded, which is often the first sign of an undisclosed account. Whatever transfer details the bank printed in the transaction description are preserved faithfully, giving you a starting point for formal discovery. Q: What does a forensic accountant cost for divorce? A: Forensic accounting engagements for divorce typically start in the five figures and can take weeks to complete, depending on the complexity and number of accounts involved. Bankstatemently doesn’t replace a forensic accountant. It gives you a complete, verifiable transaction history for free or at low cost, so you can decide whether a full forensic engagement is actually necessary, and give any accountant you do hire a head start. Q: How do I prove hidden income from bank statements? A: Extract every transaction across all available accounts and look at the complete timeline rather than individual statements. Recurring deposits that don’t match reported income, cash deposit patterns, or a new account that suddenly receives regular transfers are the kinds of patterns that only become visible when every account is reconciled together. Q: Can I use this without a lawyer? A: Yes. Many people use Bankstatemently to understand their own financial picture before ever engaging a lawyer, or to prepare for a conversation with one. If your case does need legal representation, the exportable, page-referenced transaction history is built to hand directly to counsel. Q: Is bank statement analysis from this tool usable as evidence in divorce court? A: Extraction is deterministic and reproducible (the same statements always produce the same output), and every transaction links back to its exact source page for verification. Whether a specific export is admissible depends on your jurisdiction’s evidence rules; many self-represented parties and attorneys use our exports as a starting point or supporting exhibit after proper foundation. Q: How do I trace transfers between my spouse’s accounts? A: Upload statements for every account you have access to. Transfer matching automatically links a withdrawal from one account to the matching deposit in another, so you can follow money as it moves between accounts instead of reading each statement in isolation. ### /financial-memory Financial memory for AI agents: a deterministic, document-derived memory layer for bank statements. Give Claude or ChatGPT reconciled data via MCP or API. Q: What is financial memory for AI agents? A: Financial memory is a deterministic, document-derived data layer for bank statement information, built so AI agents can query and reason over it reliably. Unlike a conversation-derived memory layer, every fact in it traces back to a specific page of a specific statement, and every balance is reconciliation-checked before an agent can query it. Q: How is this different from ChatGPT or Claude memory? A: ChatGPT and Claude memory remembers what was said in past conversations. Financial memory remembers what a document actually says: it's derived from the source PDF and verified for completeness (balance continuity, page coverage), not derived from a conversation. Q: How do I give Claude or ChatGPT access to my bank statements? A: Connect the Bankstatemently MCP server to Claude, ChatGPT, or any MCP-compatible agent, then ask it to convert or query a statement directly in the conversation. See [/developers/mcp](route:developers-mcp) for the setup steps for each client. Q: Is there a bank statement API for AI agents? A: Yes. The REST API returns structured JSON (transactions, account metadata, balances) that any agent framework can call directly, no MCP client required. See [/developers/api](route:developers-api). Q: Does it matter which AI model I use? A: No. The memory layer is model-agnostic by design: the structured data is the same whether the reasoning on top of it comes from ChatGPT, Claude, or an open-source model. Q: Can accounting or bookkeeping agents use this? A: Yes. Accounting and bookkeeping agents can query the memory layer via MCP or API to get exhaustive, reconciled transaction data instead of relying on an LLM to summarize a PDF on its own. Q: Is this a vector database or a RAG system? A: No. Financial memory is a structured, deterministic query layer over a reconciled canonical model, not a vector database or a RAG pipeline. Exact answers about amounts, dates, and balances come from typed queries against verified data, never from similarity search over document chunks. Vector search can help find which statement or account you mean; it never supplies the number itself. Q: Does querying my financial memory expose raw documents or personal data to the AI model? A: At query time, an agent receives only the structured facts the question needs, plus provenance pointers back to the source page, never the raw bank statement itself. That's scope reduction, not elimination: the transactions, balances, and account details returned are still personal financial data, and should be handled with the same care as the original document. What narrows is what the agent sees per query, not whether personal data exists in the system. ## MCP tool list (16 tools, from MCP_TOOL_DEFS) Server: https://api.bankstatemently.com/mcp Repository: https://github.com/bankstatemently/plugins - `convert_statement` — Convert Bank Statement: Convert a bank statement PDF into structured data or a spreadsheet. When the user attaches a PDF in the conversation, it arrives automatically as pdf_file — never encode it yourself. Otherwise, pass pdf_url for a public HTTPS link. If your host has no way to reference the attached file at all (no pdf_file/pdf_url equivalent), call request_upload first and pass its upload_id here instead. The base64 pdf parameter is a last resort only, for a caller with no other way to reference the file. To convert several statements in one call, pass upload_ids (the array from a single request_upload call made with count set) instead of pdf/pdf_url/pdf_file/upload_id — mutually exclusive with those four. This batch form only ADMITS each file (queues it, or reports an already-completed duplicate) and returns immediately with a compact per-file status list plus a summary — it never waits for conversion, so call get_statement per document_id once ready rather than expecting inline results here. Returns accounts, transactions, and metadata. output_format "json" (default) returns the data inline, renderable in chat. The other formats (csv, xlsx, qbo, xero) return a time-limited download link instead: present it as a normal link. Every response includes a "summary" field: use it as the single source of truth for what happened. If the conversation is not in English, translate it faithfully into the conversation language; never add details it doesn't contain. Never echo raw status values (e.g. "completed") or field names. Consumes credits (1 per page). Page limit depends on your plan. - `request_upload` — Request Upload URL: Mint a single-use upload URL for pushing a conversation-attached PDF to Bankstatemently before converting it. Use this ONLY when you have no other way to reference the attached file (no pdf_file/pdf_url equivalent for this host) — e.g. a code-execution sandbox that can see the file on disk but has no URL for it. Playbook: (1) check your sandbox's uploads/attachments directory first — if the file isn't there yet, the mount can lag behind the conversation; ask the user to re-attach or wait a moment and check again before calling this tool. (2) Call request_upload to get upload_url and upload_id. (3) PUT the raw PDF bytes to upload_url with header Content-Type: application/pdf, e.g.: `curl -X PUT "" -H "Content-Type: application/pdf" --data-binary @`. (4) Once the PUT succeeds, call convert_statement with upload_id set to the same value — never pdf/pdf_url/pdf_file for this flow. The URL and token are single-use and expire quickly; call request_upload again for a fresh one if the PUT fails partway through — never retry a failed PUT against the same URL. If the PUT fails with a network error or a "host not allowed"-style denial, the sandbox is likely blocking outbound requests to api.bankstatemently.com — tell the user to add api.bankstatemently.com to their host's code-execution allowed-domains setting (on claude.ai: Settings → Capabilities → Code execution) and retry. To convert several statements at once, pass count (1-100) instead of calling this tool once per file: the response returns "uploads", an array of that many { upload_id, upload_url } pairs — PUT each file to its own upload_url, then make ONE convert_statement call with upload_ids set to every upload_id. Free to use — no credits consumed (conversion itself still costs credits, same as any other convert_statement call). - `get_statement` — Get Statement Data: Fetch the full converted data for a previously processed document. Use this after convert_statement returns a "processing" status, or to re-fetch results. output_format "json" (default) returns the data inline, renderable in chat. The other formats (csv, xlsx, qbo, xero) return a time-limited download link instead: present it as a normal link. data_mode selects which projection of the data you get: omit it for each output_format's existing default behavior. "normalized" is the cleaned, interpreted view; "original" includes each transaction's raw column values exactly as printed on the source PDF (originalData); "enhanced" is a reformatted view of the original columns (csv/xlsx only for now). Fetch data_mode: "original" when you plan to submit results to evaluate_benchmark — pass its originalData through verbatim; an absent originalData scores that benchmark's raw-fidelity dimension 0 for this document. Every response includes a "summary" field: use it as the single source of truth for what happened. If the conversation is not in English, translate it faithfully into the conversation language; never add details it doesn't contain. Never echo raw status values (e.g. "completed") or field names. - `categorize_statement` — Categorize Transactions: Run AI transaction categorization on a previously processed document, then return its category mappings. Returns cached categories with no charge if this document was already categorized. Consumes credits (pooled per page, same rate as the categorize toggle on the website) the first time — free on every re-fetch after. Every response includes a "summary" field: use it as the single source of truth for what happened. - `list_statements` — List Statements: Browse your previously converted bank statements with pagination and optional status filter. - `dismiss_statement` — Dismiss Statement: Hide a failed, rejected, or cancelled document from future list_statements results. Use this only when the user asks to clear a terminal failed/rejected/cancelled conversion from their history. This is not a delete: it marks the document dismissed and leaves stored data/artifacts untouched. - `get_credits` — Get Credit Balance: Your remaining Bankstatemently credits — the processing quota, NOT credit/debit transactions. Use for: how many credits do I have, remaining pages, plan limits, quota, how many pages can I upload. 1 credit = 1 page of bank statement processing. Also reports your plan's operational limits (max pages per upload, max upload size, daily spend cap) so you can size a multi-file batch correctly before starting it. - `rate_statement` — Rate Statement Conversion: Report how well a previously converted bank statement was parsed: submit a 1-5 rating, optionally with structured feedback (only accepted when the rating is 3 or below) and use-case tags. Calling this again for the same document updates your existing rating without clearing feedback already submitted for it. Returns the stored rating state in the response — there is no separate tool to read your own rating back. Every response includes a "summary" field: use it as the single source of truth for what happened. - `list_transactions` — List Transactions: A transaction is a single line as printed on one account's statement — one side of any movement. Return a filtered list of transactions across your converted statements, capped at 50 rows. Scope defaults to all your completed statements; pass "scope" to narrow to specific accounts/products and/or a date range. Every response names the scope it actually evaluated (document count + covered date range) and each returned row carries its source document's content_hash so you can cite it. For "how many credits do I have" / processing quota / remaining pages, use get_credits instead — that is not a transaction. - `aggregate` — Aggregate Transactions: Compute a single metric (sum/average/count/max/min) over a filtered set of transactions across your converted statements. Results are per-currency — never sum across currencies yourself. Scope defaults to all your completed statements; pass "scope" to narrow to specific accounts/products and/or a date range. For "how many credits do I have" / processing quota / remaining pages, use get_credits instead — that is not a transaction. - `group_by` — Group Transactions: Group transactions by a dimension (month/category/merchant/account/currency) and apply a metric to each group. Results are per-currency. Scope defaults to all your completed statements; pass "scope" to narrow to specific accounts/products and/or a date range. - `top_n` — Top N Transactions: Return the top N groups ranked by metric (descending), per-currency for monetary metrics. Scope defaults to all your completed statements; pass "scope" to narrow to specific accounts/products and/or a date range. - `compare` — Compare Transaction Groups: Side-by-side metric comparison for two filtered groups of transactions (e.g. one category vs another, one month vs another). Scope defaults to all your completed statements; pass "scope" to narrow to specific accounts/products and/or a date range. - `time_series` — Transaction Time Series: Compute a time series by grouping transactions into week or month buckets and applying a metric — useful for trends. Scope defaults to all your completed statements; pass "scope" to narrow to specific accounts/products and/or a date range. - `list_transfers` — Match Transfers Between Accounts: Match transfers between your own accounts. A transfer is TWO transactions — a debit leaving one of your accounts and a credit arriving in another — matched as two sides of the same movement (amount and date aligned); account-level successions (an account closing into a successor) are matched too. A payment to an outside party is not a transfer here: only movements with both sides visible in your statements are matched. THE way to answer any "was money moved between my accounts" / "did I transfer X" question — never try to answer a money-moved-between-accounts question with list_transactions + arithmetic; always call this tool instead. Scope defaults to all your completed statements; pass "scope" to narrow to specific accounts/products and/or a date range. Every response reports the match window (in days) it used, even when no transfers are found — a lack of matches is never silent about how hard it looked. To find large movements with NO matching counterpart in your other accounts — e.g. "trace transfers over $10,000; which ones leave without a known destination?" — pass "amountMin": reconciled pairs and successions are filtered to that floor, and the response gains an "unmatched" bucket of large movements (debits leaving, or unexplained credits arriving) with no matching pair, candidate, or succession. Omit amountMin for the ordinary reconciled-pairs answer. - `evaluate_benchmark` — Evaluate Benchmark: Score parsed bank statement transactions against the Bankstatemently benchmark ground truth. Accepts a statement_id (e.g. "bsb-001") or content_hash, plus your parsed transactions. Returns extraction accuracy, integrity score, and an overall score. Only statements marked published: true in the catalog can be evaluated — held-out statements return an error. transactions[].originalData is optional but strongly recommended: fetch it via get_statement with data_mode: "original" and pass it through verbatim — an absent originalData scores that transaction's raw-fidelity (parsed) dimension 0; never fabricate a value. Free to use — no credits consumed. Read the benchmark://catalog resource first to see available statements and their published status. ## Benchmark methodology summary 15 synthetic bank statements, 36 real-world parsing challenges, 12 countries. Difficulty split: 5 basic, 5 intermediate, 5 advanced. Bankstatemently's own measured accuracy on this dataset: 99.9% (mean of `accuracy.overall` across every released, scored statement). Full results at https://bankstatemently.com/benchmark/results; dataset hosted publicly (see /benchmark). See https://bankstatemently.com/llms.txt for the short, quotable summary.