Skip to main content

Introduction to SEPA Direct Debit

SEPA for FinDock is an implementation of the Single Euro Payments Area (SEPA) Core Direct Debit payment scheme used within the European Union. Direct debits are processed with banks using PAIN files generated by FinDock. Reconciliation of bank and payment data is carried out by importing CAMT and N43 files from banks. The SEPA payment extension supports the following payment methods:

  • Acceptgiro
  • Bollettino Postale
  • Credit transfer
  • Direct Debit
  • OGM-VCS

Install and activate SEPA extension

The installation procedure is the same for any payment extension. For further information, please see Installing FinDock packages. For activating payment extensions, please see Activating payment extensions.

Check and assign the required permissions for FinDock and SEPA features. Ensure all package-specific permission sets are correctly assigned.

SEPA targets

A “target” in FinDock determines through which bank a transaction is routed for collection, In addition, when importing CAMT files for reconciliation, FinDock uses targets to only process bank statements for IBANs that are present as a target.

The payment reference is primarily used in matching incoming transactions to a particular installment. When performing a SEPA direct debit run, the payment reference is used as the End-to-End Id in the PAIN file.

To complete the SEPA configuration, add your targets as needed. For instructions, see Creating SEPA targets.

SEPA mandates

Mandates are central to the SEPA payment scheme. A mandate is an agreement between the creditor and the debtor whereby the debtor allows the creditor to take money out of the debtor's bank account. You must have an authorized mandate from the debtor (your customer or donor) to be able to collect direct debit payments.

There are several rules governing the use of mandates, including expiration, white listing, blacklisting, constellations, and so forth. FinDock does not manage the authorized mandates as such. FinDock automatically creates mandate records when required. Within FinDock, a mandate is a unique ID representing the agreement whereby you, the creditor, have the right to debit a specific bank account. Please keep in mind that this is the technical representation of a mandate. The SEPA requirements remain for organizations to have a valid mandate based on the SEPA rules.

Mandates are linked to the payment profile, and they are processor and target specific. FinDock mandate configuration is part of the FinDock Core configuration where you define a prefix for the mandate IDs. The prefix is combined with the Salesforce ID for the SEPA mandate record to create a unique mandate reference ID.

note

You need to separately enable auto-creation of mandates as part of the mandate configuration.

Individual countries may have additional rules regarding management. For further information regarding SEDA (Italy), please see SEDA for SEPA payment extension.

Payment reference and sequence type

Every installment created with a SEPA payment method contains a payment reference. The payment reference is primarily used in matching incoming transactions to a particular installment. When performing a SEPA direct debit payment schedule run, the payment reference is used as the End-to-End Id in the generated pain.008 file.

FinDock also automatically inserts the required sequence type for each entry in the pain.008 file. FNAL, FRST, OOFF, RCUR

TypeUse
FNALFinal payment of recurring direct debit
FRSTFirst payment of recurring direct debit
OOFFOne-off direct debit payment
RCURRegular payment of recurring direct debit

SEPA and non-EEA countries

note

This enhanced pain.008 support for non-EEA SEPA Direct Debits is enabled automatically with new FinDock installations. If you have an existing installation and would like this enhancement, please contact FinDock Support.

The SEPA Direct Debit Core scheme was updated to take into account the status change of UK banks due to the regulatory impact of Brexit. Collection files (pain.008) now require additional information if the debtor is using a UK bank account. Specifically, the collection files need to include the full address of the debtor and the BIC code of the debtor bank.

This requirement applies to all non-EEA countries. If the IBAN of the payment profile record indicates the debtor is in a non-EEA country, FinDock maps BIC and address fields on the Payment Profile object for pain.008 file creation.

However, FinDock does not validate the values for address fields and only checks that the format of the BIC is valid. You need to separately ensure the fields are correctly filled in for pain.008 compliance.

The following fields on the payment profile need to be populated:

  • Street
  • Housename Or Number
  • Zipcode
  • City
  • Country
info

Please be aware that for this collection scenario, the country field on Payment Profile needs to use the Alpha-2 ISO country code (e.g."GB" for United Kingdom) for the pain.008 to be valid.

Payment API

To test your SEPA configuration, you can use the following request in combination with the API.

The following message initiates a one-time SEPA transaction with FinDock, passing a Target and holderName & IBAN parameters to set up the Mandate.

{
"SuccessURL": "https://www.example.com/success",
"FailureURL": "https://www.example.com/error",
"WebhookURL" : "https://webhook.site/181568ec-8830-4672-af01-8c99da8e044f",
"Payer": {
"Contact": {
"SalesforceFields": {
"FirstName": "Eric",
"LastName": "Johnson",
"Email": "eric@johnson.com"
}
}
},
"OneTime": {
"Amount": "30"
},
"PaymentMethod": {
"Name": "Direct Debit",
"Processor": "PaymentHub-SEPA",
"Target" : "SEPA-Target",
"Parameters" : {
"IBAN" : "NL13TEST0123456789",
"holderName" : "E. Johnson"
}
},
"Settings": {
"SourceConnector": "PaymentHub"
}
}

The following message initiates a recurring SEPA Direct Debit transaction with FinDock, passing a Target and holderName&IBAN` parameters to set up the Mandate.

{
"SuccessURL": "https://www.example.com/success",
"FailureURL": "https://www.example.com/error",
"Payer": {
"Contact": {
"SalesforceFields": {
"FirstName": "Eric",
"LastName": "Johnson",
"Email": "eric@johnson.com"

}
}
},

"Recurring": {
"Amount": "25",
"Frequency": "Monthly",
"StartDate": "2020-11-01"
},
"PaymentMethod": {
"Name": "Direct Debit",
"Processor": "PaymentHub-SEPA",
"Target" : "SEPA-Target",
"Parameters" : {
"IBAN" : "NL13TEST0123456789",
"holderName" : "E. Johnson"
}
},
"Settings": {
"SourceConnector": "PaymentHub"
}
}