Guides · By Tan Gravam · Updated 2026-10-20
Batch booking in pain.001: one debit or one per payment
BtchBookg in a payment information block asks the bank how to book the debit: true requests one entry for the total of the block, false requests one entry per payment, and without the element the conditions agreed with your bank apply (EPC132-08 2025 v1.0, item 2.3). ISO 20022 defines it as a request, not an order.
The rule
The element sits in each payment information block, right after the payment method, so one file can request batch booking for one block and single entries for another. It is optional in ISO 20022 and in SEPA, and any of the three forms passes the schema and the SEPA rules.
| Value | What is requested |
|---|---|
true | One debit entry for the sum of the payments in the block. |
false | One debit entry per payment. |
| Not present | What you agreed with your bank applies. |
<PmtInf>
<PmtInfId>PMTINF-0001</PmtInfId>
<PmtMtd>TRF</PmtMtd>
<BtchBookg>true</BtchBookg>
<NbOfTxs>4</NbOfTxs>
<CtrlSum>6460.44</CtrlSum>
…
</PmtInf>What it changes on the bank statement
With one entry per block, the debit on the account statement is the total of the block (its CtrlSum), and reconciliation matches that line against the payment run. With one entry per payment, each payment is a separate debit and can be matched to its invoice. Which form your reconciliation expects is a design decision; the file only requests it.
When it changes unnoticed
Batch booking is usually set with the payment method, the house bank or the format mapping in the source system. A support package, a new format version or a mapping change can switch the value or drop the element. The file stays valid, so no validator rejects it, but the statement looks different and automatic reconciliation can stop matching.
In a BankLint Flow, batch booking is compared with the bank-accepted baseline: a change puts the run on review before the file reaches the bank. See payment-file regression testing.
Questions
Is BtchBookg mandatory in a SEPA pain.001?
No. It is optional. Without it, the booking conditions agreed with your bank apply.
Can one pain.001 mix batch booking and single entries?
Yes. BtchBookg is set per payment information block, so each block can request its own booking.
Does the bank have to follow BtchBookg?
ISO 20022 defines batch booking as a request, not an order. How the bank books is part of your agreement with it.
Sources: EPC132-08 2025 Version 1.0 (European Payments Council) and the ISO 20022 message schemas. All sources and dates: Standards and sources.
Validate a pain.001 fileFree, no account needed, files are not stored.
More guides
- How to validate a pain.001 payment file
- pain.001.001.09 XML example for a SEPA credit transfer
- pain.001 XSD validation errors and how to fix them
- pain.001.001.03 vs pain.001.001.09: what changed and how to migrate
- Structured, hybrid and unstructured addresses in SEPA pain.001
- IBAN and BIC in a SEPA pain.001
- Remittance information in a SEPA pain.001 (Ustrd, Strd, RF)
- SEPA Credit Transfer rules for pain.001.001.09
- Why banks reject pain.001 files
- pain.002 status and reason codes for pain.001 files
- Testing payment files before going live with a bank
- Payment-file regression testing after SAP or TMS changes
- Charge bearer SLEV in SEPA credit transfers
- Control sum (CtrlSum) and number of transactions (NbOfTxs) in pain.001
- SEPA character set, names and identifiers
- pain.001 references: MsgId, PmtInfId, InstrId, EndToEndId and UETR
- Verification of Payee and bulk payment files
- SEPA and non-SEPA payments in one pain.001 file