SEPA Direct Debit Customer-to-Bank/User Documentation
Contents |
About this document
This document describes how to install, configure and use the SEPA Direct Debit Customer-to-Bank (CORE and B2B) module for Openbravo.
About SEPA Direct Debit
SEPA Direct Debit is an European Direct Debit system for payments in EUR. It is the official direct debit schema since February 2014.
The SEPA Core Direct Debit, like any other direct debit scheme, is based on the following concept: "I request money from someone else, with their prior approval, and credit it to myself". The payer and the biller must each hold an account with a payment service provider (PSP) located within SEPA. The accounts may be held in euro or in any other SEPA currency, however the transfer of funds (money) between the payer's bank and the biller's bank always takes place in the euro currency. The SDD Core allows a biller to collect funds from a payer's account, provided that a signed mandate has been granted by the payer to the biller.
The SEPA B2B Direct Debit is similar to the SEPA Core Direct Debit, but it is only available to businesses, i.e. the payer (customer) must not be a private individual. Apart from that, other SEPA B2B features are:
- The payer (a business) is not entitled to obtain a refund of an authorised transaction.
- It requires the payer's bank to ensure that the collection is authorised by checking the collection against mandate information.
- Shorter timeline for presenting direct debits and a reduced return period.
About SEPA Direct Debit (CORE and B2B) implementation for Openbravo
The SEPA Direct Debit (CORE and B2B) implementation for Openbravo is distributed as a commercial module that can be directly installed by the user through the Module Management window.
This module is based on the Remittances infrastructure for Openbravo. It is highly recommend to read its Configuration Manual and the User Documentation before working with the SEPA Direct Debit module.
The final objective of the module is to generate a XML file compatible with the SEPA Core or B2B Direct Debit standard based on the ISO 20022, that can be sent to a bank to collect money from your customers.
Installing the module
The SEPA Direct Debit (CORE and B2B) is a commercial module that requires:
- an Openbravo Professional Subscription
- the Remittances infrastructure for Openbravo
- the SEPA Framework and Utilities module
To install the module and its dependencies, you just need to login as System Administrator, go to the Module Management window, search for the SEPA Direct Debit Customer-to-Bank (CORE and B2B) module and install & rebuild the system as usual.
Configuring the module
Applying the dataset
Go to the Enterprise module management window and apply the SEPA Direct Debit Customer-to-Bank dataset as it is shown in the screenshot. If you haven't applied yet, you must also select the Remittance infrastructure dataset too.
The SEPA Direct Debit Customer-to-Bank dataset adds:
- A new Payment Method called SEPA Core Direct Debit Customer-to-Bank
- A new Payment Method called SEPA B2B Direct Debit Customer-to-Bank similar to the previous one, and used for the B2B transactions.
- Several Remittance Types, to support the different SEPA Core Direct Debit and SEPA B2B Direct Debit schema versions. All these remittance types are associated to the previous SEPA Core Direct Debit Customer-to-Bank and SEPA B2B Direct Debit Customer-to-Bank payment methods respectively.
In the moment of writing this documentation, the supported schema versions are:
pain.008.001.02 pain.008.001.03
Each country and bank may support different schema versions. Contact your bank and ask about the right version to use. Currently, the most extended version is pain.008.001.02.
Configuring the Remittance Type Parameters
As you can see in the previous screenshot, the remittance type contains a set of parameters that define the way the XML SEPA file will be generated. In general it shouldn't be necessary to modify these parameters, but depending on your country or bank specific rules, you may need to change any of them. It is recommend to use the default configuration and, if the bank doesn't accept the file, then try to change the configuration accordingly.
This is the list of parameters:
- STRICT_VALIDATION: Set to Y by default. If set to Y (Yes), Openbravo will run a strict validation of the XML file against the XSD schema version. This kind of validation may detect some errors in the XML file structure or even into the data (for example an invalid BIC).
- Use_Nm_ForIdentifiers: Set to Y by default. If set to Y (Yes), the business partner and organization identifiers will include the respective name as part of the identifier. In some countries, the identifier may not include the Name; in this case set the parameter's value to N.
- Use_Id_ForIdentifiers: Set to Y by default. If set to Y (Yes), the business partner and organization identifiers will include an unique identifier based on the tax id. In some countries, the identifier may not include this Id, but only the Name. In this case set the parameter's value to N.
- Use_AT-02_toGenerateId: Set to Y by default. If set to Y (Yes), the identifiers for business partner and organization will be created using the algorithm defined in the SEPA Rulebook under AT-02. The final ID will be a combination of the 2-digits ISO country code + control digits (which are generated on the fly by Openbravo) + business code (not used by Openbravo) + tax id. If this configuration parameter is set to N (No), the identifier will be directly the tax id. Note that when the Use_Id_ForIdentifiers is set to N, no ID will be included into the file, so the Use_AT-02_toGenerateId parameter won't be taken into account.
- Include_InitiatingPartyId: Set to Y by default. If set to Y (Yes), the ID of the initiating party (i.e. the organization that creates the remittance) will be included into the file. In some countries, like France, the ID is not allowed into the Initiating Party. In this case, please set the parameter's value to N.
- CORE_B2B: to indicate the schema to be used. For example CORE for the SEPA Core Direct Debit Customer-to-Bank remittance types, B2B for the SEPA B2B Direct Debit Customer-to-Bank, COR1 which is commonly used in Spain to unify and short due dates, etc.
- BIC_SWIFT_MANDATORY: Set to Y by default. If set to Y (Yes), the BIC (SWIFT) code associated to the financial account or to the business partner account will be required when creating the SEPA file; in case the BIC is not found for any of the accounts involved into the remittance, the process will fail informing about the problem. If your bank accepts to leave the BIC code blank, you can set the value to N, and the file will be created without this information.
- GENERATE_BUSINESSPARTNER_IBAN: If set to Y (Yes), the business partner's IBAN code will be generated on the fly based on the account number and either the bank account country declared at the Business Partner's Bank Account tab or the business partner location. By default this parameter is set to 'N', because SEPA authorities recommend to force your business partners to inform about the IBAN code instead of generating it on the fly.
- Creditor_Business_Code: Set to "ZZZ" by default, which means this parameter is not used. Defines the creditor's commercial code, which is used as a way to uniquely identify the different agreements or commercial services signed between the creditor and its bank. It's a 3 digits number between 000 and 999. You should normally leave this value as ZZZ unless you know what you are doing.
- SEPA_DD_Financed_58: New parameter starting from SEPA Direct Debit module, version 1.0.101. Set to blank by default, which means this parameter is not used.
However, if the user wants to send a "financed" "SEPA direct debit" remittance, that is former "Cuaderno 58" in Spain for instance, a new SEPA Direct Debit remittance type can be created. The value of this parameter can then be changed to "FSDD". In that case <MsgId> tag will include FSDD as a prefix, that is the requirement needed for "financed" remittance type.
Configuring the Financial Account
IBAN and BIC (Swift Code)
If you haven't entered it before, you must define the IBAN and bank BIC (Swift Code) associated to the financial account. Openbravo will automatically validate the IBAN code format based on the bank's country.
This information is mandatory in order to generate the SEPA XML file. If you try to generate the file without providing this information, the process will fail informing about the problem.
Optionally, you can set the BIC (Swift Code) as not mandatory by setting the remittance type parameter called BIC_SWIFT_MANDATORY to N.
Associate the Payment Method
Finally, the SEPA Core Direct Debit Customer-to-Bank or the SEPA B2B Direct Debit Customer-to-Bank payment method must be included into the list of payment methods for the financial account. Please add any of them, or both if you want to use Core or B2B schemas for different remittances.
These payment methods:
- allow only Payment IN transactions (collection of money)
- with an Automatic execution, linked to the "In Remittance" execution process.
- without Upon Receipt/Deposit/Reconciliation accounts, because remittances have their own accounting process linked to the accounts defined at the remittance type.
Configuring the Business Partners
IBAN and BIC (Swift Code)
If you haven't entered it before, you must define for each business partner:
- either the Generic Account nº, if "Use Generic Account Nº" option or "Use SWIFT + Generic Account Nº" option is selected in the field "Bank Account Format".
- In that case, Openbravo can generate business partner's IBAN code on the fly based on the Generic Account Nº entered by setting the remittance type parameter called GENERATE_BUSINESSPARTNER_IBAN to Y.
- or the IBAN code, if "Use IBAN" option is selected in the field "Bank Account Format"
It is also possible to define the bank BIC (Swift Code) associated to each business partner.
Optionally, and in case it is not known, you can set the BIC (Swift Code) as not mandatory by setting the remittance type parameter called BIC_SWIFT_MANDATORY to N.
This information is mandatory in order to generate the SEPA XML file. If you try to generate the file without providing this information, the process will fail informing about the problem.
Mandate Information
Inside the Customer tab at Business Partner window, there is a new field group called SEPA Direct Debit Info, which includes 2 new fields:
- Mandate Identification
- Mandate Date of Signature
where you can specify the information about the mandate signed between the debtor and the creditor to allow SEPA remittances.
Depending on your country or bank specific rules, you may need to fill these fields.
For example, the rules in Spain may force you to include this information into the remittance file, within <MndtRltdInf> XML tag. See image below.
Obviously, if this information is not provided, Openbravo will generate the SEPA XML file without it.
Generating the SEPA Direct Debit XML file
The remittances must be created and executed at the Remittance window.
In order to get the SEPA Direct Debit XML file it is necessary to create a new record and enter:
- The SEPA Core Direct Debit or the SEPA B2B Direct Debit remittance type version compatible with our bank, for example pain.008.001.02.
- The transaction date
- Expected date
- Name to identify this remittance
- the Financial Account linked to the bank receiving the SEPA XML file.
After that you just need to select the payments/orders/invoices to be included into the file. This can be done through the Select Payments and Select Orders or Invoices buttons, which open a popup where you can pick the records. Remember that you can also add payments associated to any payment method by setting the Show payments for alternative payment methods to Yes.
Once you have included all the lines, you must process the remittance (clicking the Process button). This will enter the list of Bank Instructions that will be used for creating the file. Inside this tab, you can review or even modify some data.
You should pay special attention to the Transaction Type field under the SEPA Direct Debit Info group.
Here you must define the transaction type (Sequence Type) this instruction belongs to. Possible values are:
- RCUR - Recurring: The payment belongs to a set of recurrent direct debit transactions. This is the most common scenario where you have signed a mandate with your customer that allows you to submit several direct debit transactions on demand. By default every instruction lines use this type.
- FRST - First: To be used when submitting the first recurring transaction to the bank belonging to this business partner. If you try to use RCUR instead for the first transaction, it is very likely that the bank rejects the file.
- FNAL - Final: To be used when submitting the last recurring transaction to the bank belonging to this business partner.
- OOFF - OneOff: To be used when submitting an unique direct debit operation. In this case the mandate signed with your customer must allow this kind of transaction and can't be reused for other transactions.
By default the system sets the transaction type to RCUR - Recurring because it is the usual one. You should change it accordingly if it is not right, specially by the FRST - First or FNAL - Final when necessary.
To generate the SEPA XML file, just click on the Create Remittance File button. If everything is OK, your browser will download the file ready to be sent to the bank. In case of errors, the system show the error description and won't generate the file.
Finally, you just need to send the SEPA XML file to your bank that should import it successfully.
EPC Guidelines
SEPA XML file generated from Openbravo fulfill the EPC Guidelines for the basic Latin characters set, therefore:
Common characters such as "á" or "Á" will be replaced as "a" and "A" in the SEPA XML file, same applies to characters "ñ" and "Ñ" which will be replaced as "n" and "N".
The character "\n" that indicates a new paragraph will be replaced as " ", that indicates an "empty" space.
Finally, any other character not in the following list will be removed from the SEPA XML file:
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9
/ - ? : ( ) . , ' +
Space