{"uid":"cap_m0zl0MPFmvLNu5xtXtzko","slug":"statementkit-bank-statement-to-json-csv-ledger-converter-bac8f6c6","name":"StatementKit: Bank Statement to JSON/CSV/Ledger 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.zenith-ops.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_JuWk6wVxbUWHlkUFOP1i7","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, MT940, OFX/QFX, QIF) into normalized JSON, CSV, hledger journal, or SIE4 accounting export formats.","exampleAgentPrompt":"I have a CAMT.053 bank statement from my Swedish company — can you convert it to hledger format with assets:bank:seb as the asset account, income:revenue for incoming money, and expenses:costs for outgoing, using SEK as the currency?","exampleUseCases":[{"title":"Bookkeeper automating ledger imports","prompt":"Here's a CSV export from Nordea — please convert it to hledger journal format. The date column is called 'Datum', amount is 'Belopp', and description is 'Text'. Use assets:bank:nordea as the asset account and SEK as the currency."},{"title":"Accountant exporting SIE4 for Swedish tax software","prompt":"I need to convert this MT940 bank statement into SIE4 format for my accounting software. The company name is Acme AB and the bank account number is 1930."},{"title":"Developer normalizing multi-bank transaction data","prompt":"Can you parse this OFX file from my bank and return the transactions as clean JSON? I want the raw source fields included too so I can map them to my own schema."}],"resultDescription":"Returns a JSON object containing: the converted file content as a string (in the requested format — JSON, CSV, hledger journal, or SIE4), the detected or specified format name, a filename suggestion, a content-type header value, and a warnings array listing any parsing issues or ambiguities encountered during conversion.","failureModes":["Unsupported or malformed input file format returns a parse error","PDF or scanned image input is explicitly not supported and will fail","Ambiguous CSV column names without explicit column mapping may produce incorrect field assignments","Missing currency when the file contains none and no fallback is provided may cause errors or empty currency fields","Ambiguous date formats without dateFormat override may result in incorrect date parsing"],"whenToPreferThis":"Choose this endpoint when you need deterministic, rule-based parsing of structured bank statement file formats (CSV, CAMT, MT940, OFX/QFX, QIF) rather than AI-based extraction. It is ideal for bookkeeping automation pipelines, accounting integrations, and agent workflows that need reliable, structured transaction data without hallucination risk. Prefer it over general-purpose LLM parsing when format fidelity and auditability matter, and over manual accounting tools when you need programmatic output in hledger, SIE4, JSON, or CSV.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T18:33:21.766Z","isFirstParty":false,"canonicalSlug":"statementkit-bank-statement-to-json-csv-ledger-converter-bac8f6c6"}