Pain.008
The pain.008 message defined by ISO 20022 is used to submit instructions (PAyment INitiation) to banks. Specifically, pain.008 is a Customer Direct Debit Initiation file FinDock uses for native direct debit processing of SEPA, CH-DD, and LSV+ payment collection.
FinDock supports the follow pain.008 versions:
- Pain.008.001.02
- Pain.008.001.03
- Pain.008.001.08
Pain.008 file structure
The pain.008 file in aa nested XML with three main sections:
- Group header node
- Payment information node
- One or more transaction details nodes
- Payment information node
Pain.008 field mapping
The following table outlines how Salesforce data is mapped to pain.008 elements. Please note the mappings cover the most common data points and is not an exhaustive mapping of all possible variables.
Group Header node
The Group Header (GrpHdr) node includes details covering the entire scope of the file.
Object | Field | Pain.008 element | Further info |
---|---|---|---|
N/A | messageId | MsgId | Unique reference generated by FinDock |
N/A | N/A | CreDtTm | Time file was generated, Y-m-d\TH:i:s |
N/A | totalRecords | NbOfTxs | Calculated during file generation |
N/A | totalAmount | CtrlSum | Calculated during file generation |
N/A | Name | InitgPty / Nm | From target on payment schedule |
Payment Information node
The Payment Information (PmtInf) node includes details about the creditor and the payment collection (batch of transactions).
Object | Field | Pain.008 element | Further info |
---|---|---|---|
N/A | batchId | PmtInfiId | Prefix PAY-ID- + section nr. + sequence type + file generation date |
N/A | N/A | PmtMtd | Always DD |
N/A | Batch Record Count | NbOfTxs | Calculated during file generation |
N/A | Batch Record Amount | CtrlSum | Calculated during file generation |
N/A | N/A | PmtTpInf / SvcLvl / Cd | Always SEPA |
N/A | N/A | PmtTpInf / LclInstrm / Cd | Always CORE |
Installment | Sequence Type | PmtTpInf / SeqTp | RCUR , OOFF or FIRST |
Payment Schedule | Collection Date | ReqdColltnDt | - |
N/A | Name | Cdtr / Nm | From target on payment schedule |
N/A | IBAN | CdtrAcct / Id / IBAN | From target on payment schedule |
N/A | BIC | CdtrAcct / Ccy | EUR added if multi-currency org |
N/A | N/A | CdtrAgt / FinInstnId / BICFI | From target on payment schedule |
N/A | N/A | ChrgBr | Always SLEV |
N/A | Creditor Id | CdtrSchmeId / Id / PrvtId / Other / Id | From target on payment schedule |
N/A | N/A | CdtrSchmeId / Id / PrvtId / Other / SchmeNm / Prtry | Always SEPA |
Direct Debit Transaction Information node
The Direct Debit Transaction Information (DrctDbtTxInf) node includes details of individual installments to be collected.
Object | Field | Pain.008 element | Further info |
---|---|---|---|
Installment | Final Payment Reference | PmtId / EndtoEndId | - |
Installment | Amount | InstdAmt / Ccy | EUR + Amount |
Installment | Mandate Id | InstdDrctDbtTx / MndtRltdInf / MndtId | From linked mandate |
Installment | Mandate Date Signed | InstdDrctDbtTx / MndtRltdInf / DtOfSgntr | From linked mandate |
Installment | BIC | DbtrAgent / FinInstanId / BICFI | If non-EEA account |
Installment | Account Holder Name | Dbtr / Nm | Taken from linked payment profile |
Installment | Country | Dbtr / PstlAdr / Ctry | If non-EEA account; taken from linked payment profile |
Installment | Street + House name or number | Dbtr / PstlAdr / AdrLine1 | If non-EEA account, from linked payment profile |
Installment | Zipcode + City | Dbtr / PstlAdr / AdrLine2 | If non-EEA account, from linked payment profile |
Installment | IBAN | DbtrAcct / Id / IBAN | - |
N/A | N/A | DbtrAcct / Ccy | EUR added if multi-currency org |
Installment | Bank Statement Description | RmtInf / Ustrd | - |
Swiss pain.008
The Swiss direct debit methods CH-DD and LSV+ also use pain.008 files for payment instructions. However, there are Swiss-specific modifications for these two methods compared to the standard SEPA Direct Debit pain.008 files. The table below outlines the pain.008 file mapping for CH-DD and LSV+ that either overrides or adds to the standard mapping outlined above.
Object | Field | Pain.008 element | Further info |
---|---|---|---|
N/A | N/A | PmtInf / PmtTpInf / SvcLvl / Prtry | Always CHTA |
N/A | N/A | PmtInf / PmtTpInf / LclInstrum / Prtry | CH-DD of LSV+ |
N/A | Company Name | PmtInf / Cdtr / Nm | Target on payment schedule |
N/A | Bank Account Number | PmtInf / CdtrAcct / Id / IBAN | Target on payment schedule |
N/A | Bank Account Addition | PmtInf / CdtrAgt / FinInstnId / ClrSysMmbId / MmbId | From target on payment schedule |
N/A | ESR Participant Number | PmtInf / CdtrAgt / FinInstnId / Othr / Id | From target on payment schedule |
N/A | Creditor Id | PmtInf / CdtrSchmeId / Id / PrvtId / Other / Id | From target on payment schedule |
N/A | Creditor Id | PmtInf / CdtrSchmeId / Id / PrvtId / Other / SchmeNm / Prtry | Always CHLS |
Installment | Final Payment Reference | DrctDbtTxInf / PmtId / InstrId | - |
N/A | N/A | DrctDbtTxInf / PmtId / EndtoEndId | Always NOTPROVIDED |
Installment | Amount | DrctDbtTxInf / InstdAmt / Ccy | CHF + Amount |
Installment | BIC | DrctDbtTxInf / DbtrAgent / FinInstanId / ClrSysMmbId / MmbId | - |
N/A | N/A | DrctDbtTxInf / RmtInf / Strd / CdtrRefInf / Tp / CdOrPrtry / Prtry | Always ESR |
Installment | Final Payment Reference | DrctDbtTxInf / RmtInf / Strd / CdtrRefInf / Ref | - |