parsr.

Belgium · Bank statement parser

Parse Belfius statements into structured JSON

Belgian retail and corporate bank — multi-language statements with split debit/credit columns.

Belfius statements use a split-column layout: debit and credit amounts in separate columns, with a running balance to the right. Two language variants (Dutch and French). Statement headers carry the BIC, IBAN, and account holder name across the top; the transaction table fills the rest of the page. Transaction descriptions on Belfius corporate accounts often include a structured communication code (12-digit OGM/VCS) which we capture as part of the description. The closing balance sometimes includes a 'date of effect' column that's distinct from the posted date — parsr captures both. Multi-page statements use a continued-column header on each subsequent page. International transactions show the foreign currency amount alongside the EUR equivalent; we extract the EUR (functional) amount as the canonical transaction value.

Format notes

What's specific to Belfius

  • Split debit/credit columns with running balance
  • Two language variants (NL / FR)
  • Structured communication codes (OGM/VCS) captured as part of description
  • Multi-currency transactions: EUR equivalent stored as canonical amount
  • Date-of-effect column distinct from posted_date

What we extract

Fields you get back

  • BIC + IBAN + account holder
  • Posted date + value date per transaction
  • OGM/VCS structured communication codes
  • EUR-equivalent for multi-currency 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": "Belfius Bank",
    "account_holder": "SPRL Janssens & Co",
    "account_iban": "BE71096123456769",
    "currency": "EUR",
    "opening_balance":  { "amount": "12500.00", "currency": "EUR" },
    "closing_balance":  { "amount":  "9842.00", "currency": "EUR" },
    "transactions": [
      {
        "posted_date": "2026-04-15",
        "value_date":  "2026-04-15",
        "description": "Facture 2026-042 / +++123/4567/89001+++",
        "amount":      { "amount": "-1250.00", "currency": "EUR" },
        "type": "debit"
      }
    ]
  }
}

Try it on a real Belfius statement.

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

Get an API key