France · Bank statement parser
Parse BNP Paribas statements into structured JSON
France's largest bank — Relevé de Compte format with operation-code prefixes.
BNP Paribas uses the standard French 'Relevé de Compte' format. Each transaction has an operation code prefix (VIR, PRLV, CHQ, CB, REM) indicating type before the description: VIR = virement (transfer), PRLV = prélèvement (direct debit), CHQ = chèque, CB = carte bancaire, REM = remise (deposit). parsr captures both the code and the description, mapping the code to a canonical transaction type when appropriate. The statement header includes the RIB (Relevé d'Identité Bancaire) format alongside the IBAN. Card transactions show the merchant name, the location (city + sometimes country), and the transaction date which can differ from the posted date. Multi-page statements use a 'À reporter' / 'Report' line at the bottom of each non-final page showing the running balance. parsr collapses these into the single closing_balance.
Format notes
What's specific to BNP Paribas
- Operation codes (VIR / PRLV / CHQ / CB / REM) parsed and mapped to canonical types
- RIB extracted alongside IBAN
- Card transactions: merchant + city extracted as counterparty
- Multi-page running balances ('À reporter') collapsed into closing_balance
- Foreign-currency card transactions: original currency preserved
What we extract
Fields you get back
- RIB + IBAN + account holder
- Operation code → canonical type
- Card merchant + city + country
- Foreign-currency transactions with original amount
- Confidence + bbox per field
Sample response
Real shape, real bank
{
"schema_version": "bank_statement.v2",
"result": {
"institution_name": "BNP Paribas",
"account_holder": "Marie Dupont",
"account_iban": "FR1420041010050500013M02606",
"currency": "EUR",
"transactions": [
{
"posted_date": "2026-04-08",
"description": "CB CARREFOUR PARIS 75011",
"amount": { "amount": "-67.40", "currency": "EUR" },
"counterparty": "CARREFOUR PARIS 75011",
"type": "debit"
},
{
"posted_date": "2026-04-15",
"description": "VIR EMPLOYEUR XYZ",
"amount": { "amount": "3200.00", "currency": "EUR" },
"type": "credit"
}
]
}
}Try it on a real BNP Paribas statement.
200 free pages/mo. No credit card. EU residency by default — your borrowers' data stays in the EU.
Get an API key