{"uid":"cap_3BzBY5BzMG7fKe9BUgMVx","slug":"statementkit-bank-statement-converter-56a76401","name":"StatementKit: Bank Statement Converter","description":"Deterministic bank statement normalizer for AI agents and bookkeeping tools: CSV from any bank, camt.052/053/054, MT940, OFX/QFX and QIF in; normalized JSON, analysis and CSV/hledger/SIE4 export out.","url":"https://statementkit.erikssonanton2001.workers.dev/v1/convert?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"to":{"enum":["csv","hledger","sie4","json"],"type":"string","description":"Target format."},"format":{"enum":["csv","camt","mt940","ofx","qif"],"type":"string","description":"Skip auto-detection."},"columns":{"type":"object","description":"CSV: map field names (date, amount, description, ...) to exact header names.","additionalProperties":{"type":"string"}},"company":{"type":"string","description":"Company name for the SIE4 header."},"content":{"type":"string","description":"The statement file as text (UTF-8). PDF and scanned images are not supported."},"decimal":{"enum":[",","."],"type":"string","description":"CSV decimal separator override."},"currency":{"type":"string","description":"Fallback ISO 4217 currency when the file has none, e.g. SEK."},"delimiter":{"type":"string","description":"CSV delimiter override: comma, semicolon, tab or pipe."},"dateFormat":{"enum":["ymd","dmy","mdy"],"type":"string","description":"CSV date order override for ambiguous dates."},"includeRaw":{"type":"boolean","description":"Add the raw source fields to every transaction."},"bankAccount":{"type":"string","description":"Bank account number (SIE4, e.g. 1930) or ledger account (hledger)."},"assetAccount":{"type":"string","description":"hledger asset account name."},"incomeAccount":{"type":"string","description":"Counter account for incoming money."},"expenseAccount":{"type":"string","description":"Counter account for outgoing money."}}},"responseSchema":{"type":"json","example":{"format":"hledger","content":"2026-03-02 * Lön Acme AB\n    assets:bank:unknown  32500.00 SEK\n    income:unknown\n\n2026-03-03 * Netflix.com\n    assets:bank:unknown  -129.00 SEK\n    expenses:unknown\n\n2026-03-05 * ICA Maxi Stockholm\n    assets:bank:unknown  -842.35 SEK\n    expenses:unknown\n\n2026-03-07 * Vattenfall Eldistribution\n    assets:bank:unknown  -615.40 SEK\n    expenses:unknown\n","filename":"statementkit.journal","warnings":[],"contentType":"text/plain; charset=utf-8"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_DDqrmGfIUKR_GzgiYJtBq","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Converts bank statement files (CSV, camt.052/053/054, MT940, OFX/QFX, QIF) into normalized JSON, CSV, hledger journal, or SIE4 format","exampleAgentPrompt":"I have an MT940 bank statement from my Swedish bank — can you convert it to a hledger journal using SEK as the currency, with assets:bank:swedbank as the asset account and expenses:general for outgoing transactions?","exampleUseCases":[{"title":"Bookkeeper importing Swedish bank exports","prompt":"I have a CSV export from Handelsbanken with columns 'Datum', 'Belopp', and 'Text' — can you convert it to a hledger journal with SEK as the currency, mapping date to Datum, amount to Belopp, and description to Text?"},{"title":"Accountant generating SIE4 from camt file","prompt":"I need to convert this camt.053 file into SIE4 format for our Swedish accounting software — the company name is Acme Sverige AB and the bank account number is 1930."},{"title":"Developer normalizing multi-bank transactions to JSON","prompt":"I've got an OFX file from my US bank and need it converted to clean normalized JSON so I can import the transactions into our bookkeeping tool — please include the raw source fields too."}],"resultDescription":"Returns a JSON object containing the converted file content as a string (in the requested format: JSON, hledger journal, SIE4, or CSV), a suggested filename, the content MIME type, and an array of any warnings encountered during parsing or conversion.","failureModes":["Unsupported or malformed file content returns a parse error","PDF or image-based statements are explicitly not supported and will fail","Ambiguous CSV date formats without dateFormat override may produce incorrect dates","Missing currency in file without fallback currency parameter causes incomplete output","Incorrect column mapping for CSV files leads to failed field extraction"],"whenToPreferThis":"Choose this endpoint when you need deterministic, rule-based conversion of text-based bank statement files (CSV, camt, MT940, OFX/QFX, QIF) into structured formats — especially for bookkeeping workflows requiring hledger or SIE4 output. Prefer it over LLM-based parsers when you need consistent, reproducible results without hallucination risk. Not suitable for PDF or scanned image statements.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-17T12:38:49.286Z","isFirstParty":false,"canonicalSlug":"statementkit-bank-statement-converter-56a76401"}