Genome Documentation
Specifications for batch creation
Specifications for batch creation
XML
To send SEPA mass transfer you have to create a credit transfer message based on definitions of elements of the message "pain.001.001.03" (CustomerCreditTransferInitiationV03) of ISO20022 XML standard.
Description of message elements you can find here.
Example .xml format file can be found here.
Make sure that your mass transfer batch must meet the following criteria:
1. The ISO 20022 XML messages allow for the full range of global language requirements (UTF-8)
2. You must be able to support the Latin character set commonly used in international communication, as follows: 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
All other characters of the UTF-coding in sent and received payments are converted according to the EPC recommended Conversion table.
1. Correctness of the message structure.
XML document is described with a scheme written in a specific XSD language (XML Schema Definition). This scheme describes XML Tags, their structure and order. It also may indicate codes which are possible only for specific data, whether data is mandatory or optional, number of possible cases (or repetitions), etc.
<?xml version="1.0" encoding="UTF-8"?><Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03 pain.001.001.03.xsd"><!-- Content of the message --></Document>The data file which includes message pain.001.001.03 is of the following structure presented at the right side of the screen.
The data file has to contain only one tag with only one XML message, unless the service provider and the client agree otherwise.
The content of the message consists of:
-
Group Header - mandatory and cannot be repeated. It is a set of characteristics shared by all individual transactions included in the message (e.g. date and time of message creation, number of operations in the message, etc.).
-
Payment Information - mandatory and can be repeated. It is a set of characteristics that applies to the debit side of the payment transactions included in the credit transfer initiation (e.g. name of the payer, type of the operation, etc.).
-
Transaction Information - mandatory and can be repeated. It is a set of elements used to provide information on the individual transaction(s) included in the message. Includes the recipient, payment details, etc.
The number of Payment Information and Transaction Information is specified in the Group Header.
CSV
How to use the template.
Please provide information about transfers and beneficiaries into the file - each transfer has its own row. Make sure that you add all required information.
General validation rules:
1. content type should be text/csv.
2. the character set is UTF-8.
3. csv file contains the number of columns as the csv-template required.
4. each row has the same number of columns as the first row (header) in the file.
5. consistent values in the same column.
6. each record should be on a separate line and must start on its own line, but a single record can span multiple lines.
7. shouldn't be a completely empty row, e.g. blank line or a line where all column values are empty.
8. shouldn't be 3 identical symbols in a row.
9. allow specific characters of Lithuanian, German, Dutch and other alphabets.
10. no missing or stray quote, unclosed quoted field.
11. a quoted column hasn't leading or trailing whitespace, but spaces which are considered part of a field should not be ignored.
12. the last field in the record must not be followed by a comma.
Example of .csv format file for SEPA outgoing transfer type:
The uploaded bank transfers csv-batch has the following values:
| Value | Format | Required | Description | Example |
|---|---|---|---|---|
| receiver_iban | string max - 64 | Mandatory | IBAN | LT950100100000123456 |
| amount | float (0 - 9999999.99) | Mandatory | Transfer amount | 10 |
| currency | string (3), ISO 4217 (alfa-3) | Mandatory | Currency of transfer | EUR |
| transfer_type | string (4-6)(alfa) | Mandatory | Type of transfer method: SEPA or SWIFT | SEPA |
| receiver_acc_country | string (3) | Mandatory | Receiver account country in ISO 3166-1 alpha-3 format If transfer_type=SWIFT in must be Mandatory | LTU |
| receiver_type | enum ('PERSONAL' or 'LEGAL') | Mandatory | LEGAL if receiver is legal entity, PERSONAL if receiver is physical person | Personal |
| transfer_description | string (1 - 140) | Mandatory | Description of the payment | Private transfer |
| receiver_code | string (1 - 20) | Optional | Receiver personal code or receiver company code | 54321 |
| receiver_name | string (1 - 70) | Mandatory | Receiver name. Can be as physical person name as legal entity name | John Doe |
| receiver_bic | string (max - 32) | Mandatory | Receiver SEPA BIC or SWIFT code number | BANDLT21XXX |
| transfer_priority | enum ('HIGH', 'NORMAL' or 'AUTO') | Optional | HIGH: Processed as a SEPA INSTANT Credit Transfer. NORMAL: Processed as a SEPA Credit Transfer. AUTO: Processed based on the following logic:
| NORMAL |
| cascading | Boolean (TRUE or FALSE) | Optional | Applicable to SEPA transfer type with HIGH or AUTO priority. Under the routing, the fastest transfer option will be chosen. If it fails, the data will be used to create a transfer as a regular SEPA Credit Transfer automatically. The initial transaction will become ‘CASCADED’. If not specified, the transfer will be processed without automatically creating additional transactions. | TRUE |
| transfer_perform_date | string (YYYY-MM-DD) | Conditional | Payment execution date. Date when the booking on the bank-side should be executed. If the field is empty, the performance date should be set "today" by default. | 2020-12-11 |
| receiver_country | string (3) | Optional | Receivers country in ISO 3166-1 alpha-3 format | LTU |
| receiver_city | string (2 - 32) | Optional | Receiver city | Paris |
| receiver_address | string (2 - 64) | Optional | Receiver address | Street, 123 |
| receiver_zip | string (2 - 10) | Optional | Receiver zip | 12100 |
| split_to_parts | Conditional | If transfer_type=SEPA values must be integer, greater than zero and less than '50'. By default=1. If set, amount must be greater than '50'. | 1 |
*INSTANT Credit Transfers will be re-sent to the beneficiary up to 3 times if there is a timeout on the beneficiary's bank side.
The uploaded DIRECT csv-batch has the following values:
| Value | Format | Required | Description | Example |
|---|---|---|---|---|
| Receiver_internal_ID | string max - 64 | Mandatory | Internal user's ID: might be Email or mobile phone number or Genome IBAN or Account ID | 1060000034213718 |
| amount | float (0 - 9999999.99) | Mandatory | Transfer amount | 10 |
| currency | string (3), ISO 4217 (alfa-3) | Mandatory | Currency of transfer | EUR |
| transfer_type | string (4-6) (alfa) | Mandatory | DIRECT | DIRECT |
| transfer_description | string (1 - 140) | Mandatory | Description of transfer | Private transfer |
| transfer_perform_date | string (YYYY-MM-DD) | Optional | Might be scheduled payment with date of performance in the future. If the field is empty, the performance date should be set "today". | 2020-12-11 |