parsr.

Netherlands · Bank statement parser

Parse ING statements into structured JSON

Dutch retail and SME bank — clean transaction-table format, English + Dutch variants.

ING Netherlands publishes statements in either Dutch or English depending on the customer's account language. The format is one of the cleanest among EU banks: header block with account holder, IBAN, and statement period; single transaction table; closing balance footer. Transaction descriptions are concise — typically the merchant or counterparty name plus a structured reference. ING SME accounts (Zakelijk) include the customer reference number in the header. iDEAL transactions (Dutch online-payment scheme) are clearly marked and include the merchant name, transaction ID, and acquirer. parsr captures the iDEAL transaction ID as part of the description for reconciliation. International (SEPA + non-SEPA) transactions show both the amount in the foreign currency and the EUR equivalent; the EUR amount is canonical.

Format notes

What's specific to ING

  • Dutch and English variants
  • iDEAL transactions: merchant + transaction ID preserved in description
  • SME (Zakelijk) accounts include customer reference in header
  • International transactions: EUR equivalent canonical, original currency preserved
  • Single-table layout — multi-page handling is straightforward

What we extract

Fields you get back

  • Account holder + IBAN + statement period
  • iDEAL transaction IDs in description
  • Customer reference number for SME accounts
  • EUR-equivalent for international transactions
  • Confidence + bbox per field

Sample response

Real shape, real bank

POST /v1/parse → 200 OKschema bank_statement.v2
{
  "schema_version": "bank_statement.v2",
  "result": {
    "institution_name": "ING Bank N.V.",
    "account_holder": "Jeroen van der Berg",
    "account_iban": "NL91INGB0001234567",
    "currency": "EUR",
    "transactions": [
      {
        "posted_date": "2026-04-10",
        "description": "iDEAL Bol.com / 0000-1234-5678-9012",
        "amount":      { "amount": "-49.95", "currency": "EUR" },
        "counterparty": "Bol.com",
        "type": "debit"
      }
    ]
  }
}

Try it on a real ING statement.

200 free pages/mo. No credit card. EU residency by default — your borrowers' data stays in the EU.

Get an API key