SDD Mandates Migration & Bulk Upload

sdd.png

1. Introduction

SDD is a Europe-wide direct debit system that allows merchants to collect Euro-denominated payments from accounts in the 36 SEPA countries and associated territories. SDD has now been implemented in all Eurozone countries and non-Eurozone SEPA countries. In these countries, all Euro-denominated payments must be collected via the SEPA payment scheme.

What is SEPA?
SEPA (Single Euro Payment Area) is a system of transactions that was created by the European Union. SEPA harmonises the way in which cashless payments are transacted between Euro countries. Types of SEPA transfers:

  • SEPA Credit Transfer (SCT) uses an IBAN (International Bank Account Number) and sometimes a BIC (Bank Identifier Code) to transfer money from one bank account to another. A beneficiary obtains the money within a business day after a payment has been received.

  • SEPA Instant is where money is transferred from one bank account to another in a matter of seconds and does not involve any intermediaries in the process. However, for this function to work, both the sending and receiving banks must be registered as SEPA Instant members.

  • SEPA Direct Debits (SDD) are an option for recurring payments.

Signed consent and authorisation given by a debtor (merchant’s client) to a creditor (merchant) and to a creditor’s (merchant’s) financial institution to enable:

  • A creditor to initiate a debit from a debtor’s nominated payment account.

  • A debtor’s financial institution to comply with such instructions.

A mandate can be issued and signed in paper or electronic format.

Whilst a mandate is a single agreement, it may be triggered several times in its lifetime.

The focus on this guide is on the preparation of CSV files containing SEPA Direct Debits mandates.


2. CSV file preparation

A CSV (comma-separated value) file is a plain text file in which each row includes data (i.e., fields) required for each mandate. The values within each row are separated with commas (not spaces) and the rows are separated with carriage returns (i.e., enter). Essentially, each row is a record or mandate. Although a CSV file can be manually created with a simple text editor, the easiest way is to input data using Microsoft Excel (or a similar spreadsheet app) and then export the file as a comma-delimited CSV file. 

Characteristics of the CSV files used for these imports:

  • The field delimiter is the comma (,).

  • If a text field contains commas, then quotation marks must be used to enclose text.

  • The only allowed character set is ASCII.

  • Headers are not required.

  • The file extension is ‘.csv’ (not ‘.xlsx’).

  • The record delimiter is an ASCII character Carriage Return followed by ASCII character Line Feed (CRLF). 

The CSV file for upload must be prepared as per the following:

2.1. Fields & data types

The fields and the data types that make up a mandate CSV file are defined in the table below:

Column

Field

Data type

Length

Pattern

Field description

Column

Field

Data type

Length

Pattern

Field description

A

Mode

Alphabetic

7

^([A-Za-z]){1,7}$

Operation to be executed: “Create”, “Cancel”, “Trigger”.

B

MerchantID

Alphanumeric

35

^([A-Za-z0-9]){8,35}$

ID of the merchant that uniquely identifies a merchant in the system to track transactions & manage accounts. This ID is provided by the central bank of the merchant’s country.

C

First_Name

Alphabetic

70

^[A-Za-z\s]{1,70}$

First name of the originator for personalization & identification.

D

Middle_Name

Alphabetic

70

^[A-Za-z\s]{0,70}$

Middle name of the originator & used in conjunction with the first name & last name for full identification.

E

Last_Name

Alphabetic

70

^[A-Za-z\s]{1,70}$

Last name of the originator & used in conjunction with the first name & middle name for full identification.

F

Mobile

Alphanumeric

50

^\+?[0-9]{5,50}$

Mobile telephone number of the originator. Validates to a correct format & limited to numeric characters – allows for the optional "+" country code format.

G

Email

Alphanumeric

200

^[a-zA-Z0-9._+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,200}$

Email address of the originator. Validates to a standard email address format, e.g., containing an "@".

If the ‘Email’ field is completed, then the owner of the email address will be sent an email by the system upon mandate creation, execution & cancellation.

H

ACNO

Alphanumeric

34

^[A-Z]{2}\d{2}[A-Z0-9]{1,34}$

IBAN of the originator. Account number field that stores financial identifiers. Validates to international pattern starting with 2 letter country code, followed by 2 digits & then up to 30 alphanumeric characters.

I

MandateID

Alphanumeric

35

^[A-Za-z0-9]{1,35}$

ID of the mandate, containing reference codes or numbers for tracking transactions or customer inquiries.

J

Reference

Alphanumeric

35

^[A-Za-z0-9]{1,35}$

Unique reference in our system.

K

Amount

Decimal

7

^(0|[1-9]\d{0,5}|1000000)$

Amount of money moved between originator & beneficiary. Limited to numeric characters, allowing for a zero value, with minimum & maximum amounts. Decimals must be separated with a period, not a comma.

L

Currency

Alphabetic

3

^[A-Z]{3}$

Currency used for the transaction: “EUR”.

M

Type

Alphabetic

9

([A-Za-z]){1,9}

Nature of the transaction: “Limited”, “Recurring”, “Frequent“, “OneOff“.

N

Frequency

Alphabetic

20

([A-Za-z]){1,20}

Determines how often an event occurs: “Monthly”.

O

DebitDate

Integer

 

^(0?[1-9]|[12][0-9]|3[01])$

Scheduled day of the month for funds to be withdrawn from an account. Integer with a value from 1 to 31. If the selected day is 29, 30 or 31, then, depending on the month, the system will execute the instruction on the last day of the month if the month ends earlier.

P

Identifier

Numeric

50

^[A-Za-z0-9]{1,50}$

Unique identifier in a merchant system (e.g., CRM) assigned to a transaction for identification & tracking.

The Reference value is passed into the details of a DC. You can use this to perform reconciliation.

The Identifier field refers to the end-user’s unique ID in your system. This will be passed into the notifications to you.

2.1.2. Character sets

All content is restricted to the Latin character set as defined below:
a b c d e f g h i j k i 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
Content must not start or end with a '/' & must not contain '//'.

2.2. Mandatory & optional fields

Mandatory fields versus optional fields that make up a mandate CSV file are defined in the table below:

Case

Mode

marchantID

Full_Name

Middle_Name

Last_Name

Mobile

Email

ACNO

MandateID

Reference

Amount

Currency

Type

Frequency

DebitDate

Identifier

Case

Mode

marchantID

Full_Name

Middle_Name

Last_Name

Mobile

Email

ACNO

MandateID

Reference

Amount

Currency

Type

Frequency

DebitDate

Identifier

Create (Limited)

mandatory

mandatory

mandatory

optional

mandatory

optional

optional

mandatory

mandatory

optional

mandatory

mandatory

mandatory

mandatory

-

optional

Create (Monthly)

mandatory

mandatory

mandatory

optional

mandatory

optional

optional

mandatory

mandatory

optional

mandatory

mandatory

mandatory

mandatory

mandatory

optional

Cancel

mandatory

mandatory

-

-

-

-

-

-

mandatory

optional

-

-

-

-

-

-

Trigger

mandatory

mandatory

mandatory

optional

mandatory

-

-

mandatory

mandatory

optional

mandatory

mandatory

-

-

-

optional

2.3. Field options

2.3.1. Mode

The options of the “Mode” field are defined in the table below:

Modes

Description

Priority

Modes

Description

Priority

Create

Create a mandate

1st

Cancel

Cancel a mandate

2nd

Trigger

Execute a mandate

3rd

2.3.2. Type

The options of the “Type” field are defined in the table below:

Types

Description

Types

Description

Frequent

A fixed amount, with no fixed date.

Limited

An amount with a max. cap on a scheduled day (e.g., electricity bill, up to a certain amount, every month). If the amount due is more than the max. cap, the payment is rejected.

Recurring

A fixed amount on a scheduled day (e.g., fixed rent every month).

OneOff

A fixed amount that is scheduled to take place only once (the mandate & the trigger do not necessarily have to have the same amount - the amount set during the creation of the mandate is the maximum amount & the triggered amount cannot exceed this). No monthly limit renewal. After it is executed successfully, then the mandate is cancelled regardless if the transfer is successful or rejected. The mandate is cancelled immediately after the first trigger event or it expires after 36 months if the mandate is not triggered. The Frequency & DebitDate fields are not mandatory - they can be null.

2.3.3. Frequency

The options of the “Frequency” field are defined in the table below:

Frequencies

Description

Frequencies

Description

Monthly

Recurrence on a monthly basis.

2.4. Sample mandate dataset

The table below outlines a valid dataset of mandates:

Mode

marchantID

Full_Name

Middle_Name

Last_Name

Mobile

Email

ACNO

MandateID

Reference

Amount

Currency

Type

Frequency

DebitDate

Identifier

Mode

marchantID

Full_Name

Middle_Name

Last_Name

Mobile

Email

ACNO

MandateID

Reference

Amount

Currency

Type

Frequency

DebitDate

Identifier

Create

MT74Z27T

John

 

Evans

+357

name@domain.co

GL8964710123456789

Winner01

DSFIHEY234

50

EUR

Limited

Monthly

13

0937348SDF

Create

MT74Z27T

Damian

 

Smith

+357

name@domain.co

BE71096123456769

Winner02

8374HDIDH

30

EUR

Recurring

Monthly

15

0283Y43FSDF

Create

MT74Z27T

Joe

 

Lopez

+357

name@domain.co

DK9520000123456789

Winner03

SDF4REWR

20

EUR

Frequent

Monthly

 

373Y38DBHD

Cancel

MT74Z27T

 

 

 

 

 

 

Winner04

SFSDFWER

 

 

 

 

 

 

Cancel

MT74Z27T

 

 

 

 

 

 

Winner05

JHGJYU566

 

 

 

 

 

 

Trigger

MT74Z27T

Tim

 

Fairfield

+357

name@domain.co

LU120010001234567891

Winner06

TRET5Y745I

25

EUR

 

 

 

UEEH2823WQ

Trigger

MT74Z27T

Raquel

Zoë

Angeli

 

 

NL02ABNA0123456789

Winner07

GR6U6GWT

15

EUR

 

 

 

FNDOSWK384

Trigger

MT74Z27T

Helen

 

Winter

 

 

NO8330001234567

Winner08

56425UREF

10

EUR

 

 

 

8393JWNDD

A sample of a mandate CSV file is displayed in the screenshot below, which is populated with the dataset from the above table:

2.5. Additional notes

A single CSV file may contain creation and/or execution and/or cancellation mandates. The ’Mode’ field determines whether a mandate is for creation, execution, or cancellation.

If a single CSV file contains mandates in multiple modes, the priority of each API determines the order for processing mandates based on mode (refer to Table 4: Modes).

A single CSV file may contain up to 10,000 mandates.

Values in each row are separated with commas (not spaces). Rows are separated with carriage returns (i.e., enter).

Sample CSV file
A sample CSV file is available for download below:


3. Sending the CSV file for processing

Having created and saved the CSV file, it must be sent to us for processing.

This must be done using the Online messaging system.

Once received and processed by us, we will send a response back to you with the results.

Another way of providing the CSV file to the ISX team is by uploading it to an SFTP folder. More information is provided here.


© ISX Financial EU PLC 2024. All rights reserved.