SEPA formats - an introduction to XML. version September 2013. www.ing.be/sepa



Similar documents
SEPA Credit Transfer Customer-to-Bank Implementation Guidelines for the Netherlands

ERP SEPA readiness checklist

SEPA Direct Debit Initiation Customer-to-Bank Implementation Guidelines for the Netherlands

2. HOW TO CREATE A NEW XML SDD CORE FILE IN TELELINK 6 FROM A.CSV FILE Run the application Telelink 6 4

Format description XML SEPA Credit Transfer. Format Description

Impact of SEPA on CODA2.3 for SEPA credit transfer (SCT) version April ing.be/sepa

SEPA CREDIT TRANSFER SCHEME INTER-BANK IMPLEMENTATION GUIDELINES

SEPA CREDIT TRANSFER SCHEME INTER-BANK IMPLEMENTATION GUIDELINES

SEPA DATA MODEL. Reason for Issue Approved by the EPC Plenary on 13 December 2006

Implementing SEPA in Belgiu m

SEPA CORE DIRECT DEBIT SCHEME CUSTOMER-TO-BANK IMPLEMENTATION GUIDELINES

SEPA Country Guide Italy. Introduction

ISO PAYMENT GUIDE. Messages: Pain Pain

Clarification Paper SEPA Credit Transfer and SEPA Direct Debit

XML message for Payment Initiation Implementation Guideline. Version 1.02

Format Validation Tool ING Commercial Banking

SEPA CORE DIRECT DEBIT SCHEME INTER-BANK IMPLEMENTATION GUIDELINES

OUTGOING PAYMENTS ISO APPLICATION GUIDELINE

Guidance on reason codes for SDD R-transactions

BUSINESS JUSTIFICATION

SEPA CREDIT TRANSFER SCHEME RULEBOOK

SEPA Testing Framework. Wat is SEPA? LogicaCMG Rik Marselis. Even voorstellen: Rik Marselis

XML message for SEPA Credit Transfer Initiation Implementation Guidelines for the Netherlands

SEPA BUSINESS TO BUSINESS DIRECT DEBIT SCHEME RULEBOOK

SEPA DIRECT DEBIT SCHEME IMPLEMENTATION GUIDELINES

Payment Status Report

SEPA Direct Debit Acknowledgement Danske Bank's interpretation of ISO pain (Payment Status Report)

Extensible Markup Language (XML): Essentials for Climatologists

SEPA BUSINESS TO BUSINESS DIRECT DEBIT SCHEME RULEBOOK

Occasions leading to mandate amendments

SEPA CORE DIRECT DEBIT SCHEME RULEBOOK

Spanish legacy branch code 4 numbers. Spanish legacy bank code 4 numbers

SEPA CORE DIRECT DEBIT SCHEME RULEBOOK

Format Description XML SEPA CT

RECOMMENDATION ON CUSTOMER REPORTING OF SEPA CREDIT TRANSFERS AND SEPA DIRECT DEBITS

SEPA CREDIT TRANSFER SCHEME RULEBOOK

Single Euro Payments Area SEPA Herman Ciappara Payments & Banking Department Central Bank of Malta

SEPA Reason Codes. Direct Debit Customer to Bank Implementation Guidelines

Guide. 1 Dec Introduction of the global Structured Creditor Reference in Finnish companies. 1 December 2010

SEPA Country-Specific Information Hungary

in Fr a nce Introduction

SEPA - Frequently Asked Questions

SEPA Direct Debit Initiation Danske Bank's interpretation of ISO pain (Direct Debit Initiation)

Format description XML SEPA Credit Transfer

for CONSUMERS Information on the SINGLE EURO PAYMENTS AREA

Integration of Hotel Property Management Systems (HPMS) with Global Internet Reservation Systems

Introduction to Web Services

SEPA CREDIT TRANSFER SCHEME RULEBOOK

HSBC Your Guide to SEPA. Capitalising on the opportunities

Kuali Financial System Interface Specification for Electronic Invoice Feed

SEPA in Netherlands. Quick facts. International Bank Account Number (IBAN) IBAN structure. 66 SEPA Country Sheets - Netherlands

SEPA Customer File Formats-Definition Proposals

XML message for SEPA Direct Debit Initiation Implementation Guidelines for the Netherlands

More information on completing payment details

DESCRIPTION OF SEPA XML FORMAT FOR ING BUSINESSONLINE IMPORT AND EXPORT TEMPLATES

SEPA Country-Specific Information Austria

Order Notifications - reporting a payment status

RF Creditor Reference

Secure XML API Integration Guide. (with FraudGuard add in)

ideal Merchant Integration Guide

SEPA Direct Debit Cancellation Danske Bank's interpretation of ISO camt (Payment Cancellation Request)

AX 2012 R3 SEPA (ISO XML) Credit transfer and direct debit payments Date: March 3 rd, 2015

SEPA CORE DIRECT DEBIT SCHEME RULEBOOK

Format Description SWIFT MT940 Structured

Format Description XML SEPA DD

ISO Message Implementation Guide for Payment Initiation

Safeguard your business against fraud.

SEPA Country-Specific Information Italy

Frequently Asked Questions

PAIN.002. Format description Functional

EDIFACT Standards Overview Tutorial Learn About Key E-commerce Trends and Technologies at Your Own Pace

Functional specifications for Nordea XML Direct Debit (NDD) Corporate egateway

webcrm API Getting Started

SEPA Migration Monitoring Committee. Action plan for migration to SEPA direct debits and credit transfers in Spain

SEPA. Frequently Asked Questions

Data Integration through XML/XSLT. Presenter: Xin Gu

en (pf.ch/dok.pf) PF. EPO manual Electronic payment order via file transfer

Service description. Corporate Access Payables

FREQUENTLY ASKED QUESTIONS ABOUT SEPA

Adobe Conversion Settings in Word. Section 508: Why comply?

SEPA Direct Debit Creditor Guide

XML message for SEPA Direct Debit Initiation Implementation Guidelines for the Netherlands

SEPA. Changes in the Payment System Implementation of the European SEPA Regulations for Kuna and Euro Payments

Swedish Common Interpretation of ISO Payment Messages. Appendix 1: Common Payment Types in Sweden

Customer Statement - MT940 with Structured Information To Account Owner

Format description XML SEPA Credit Transfer

SEPA What should you be thinking about?

How to get your Company ready for Information for BUSINESS

EUR-Lex 2012 Data Extraction using Web Services

ICEPAY & SEPA Direct Debit

Format Description. SWIFT MT103 Single Customer Credit Transfer

Appendix report 1: Syntax and structure of EDIFACT and XML messages Regulation F1:

SEPA Direct Debit Unpaid Report File Format

SEPA Creditors Guide. SEPA Direct Debit Core Scheme. Version 1.3 Final Page 1 of 38

Electronic Funds Transfer (EFT) Guide

Format description SEPA Direct Debit (for Euro Direct Debits) Rabo Cash Management

An XML Based Data Exchange Model for Power System Studies

DocumentsCorePack for MS CRM 2011 Implementation Guide

Transcription:

Financial Supply Chain SEPA SEPA formats - an introduction to XML version September 2013 www.ing.be/sepa

INTRODUCTION 1 INTRODUCTION TO XML 2 What is XML? 2 What is a root element? 2 What are the specifications of a tag? 2 How are tags well formatted? 2 How are data fields correctly formed? 3 ELEMENT STATUS 4 What is the status of an element? 4 What is an occurrence? 4 What is an Index? 4 MESSAGE STRUCTURE 5 What is the general structure of an XML document? 5 What is the GroupHeader block? 6 What is the PaymentInformation block? 6 What is the CreditTransferTransactionInformation block? 6 What is the DirectDebitTransactionInformation block? 6 Example for SEPA Credit Transfers 7 Example for SEPA Direct Debits 8 FORMAT VALIDATION TOOL 9 What is the format validation tool? 9 How to get access to this tool? 9 USEFUL LINKS 10

Introduction The purpose of this document is to facilitate your migration process to SEPA Credit Transfers (SCT) and SEPA Direct Debits (SDD). This document aims to help you to understand and to use the XML format for your SEPA transactions. The EPC (European Payments Council) publishes various documents related to SEPA, including a data model reference, rulebooks 1, and implementation guides for both credit transfers and direct debits. Indeed, although the guidelines should contain all information to create a correct financial message, we do believe more information is necessary to come to an efficient and smooth transfer with a satisfying end result. The country and bank specifics do not in any way affect the XML structure as presented by the ISO20022 and EPC. The EPC rulebooks contain the business requirements and rules for the operation of the SEPA schemes 2. The implementation guidelines specify the SEPA core requirements that apply to the UNIFI (ISO20022) XML standards and cover mandatory bank-to-bank messages and optional recommended customer-to-bank messages. UNIFI ISO20022 is de facto the basis for the European Payments Council for creating the SEPA Credit Transfer (SCT) and the SEPA Direct Debit (SDD) guidelines. All national bank organisations incorporate the EPC Rulebook into a country specific implementation guideline and add country specifics to the document to make it suitable for the local market. Each local bank complements the implementation guidelines by adding a small appendix with bank specifics. An additional success factor is the use of your current knowledge to achieve a correct SEPA migration. In this document we also want to give you information on how to create XML elements. We conclude this document with the information on how ING can help you with testing. We would like to draw your attention to the fact that ING cut-off times must be respected for a smooth processing of your transactions. 1 A Rulebook is a collection of rules or prescribed standards on the basis of which decisions are made. 2 A Scheme is a set of rules, practices and standards agreed between providers of payment services (SEPA Credit Transfers Scheme and SEPA Direct debit Scheme). SEPA formats - An introduction to XML 1

Introduction to XML What is XML? XML stands for extensible Markup Language: it is a set of rules for modelling documents in machine-readable form. XML provides a uniform method for describing and exchanging structured data. XML is based on mark up 3. It is a language which can be read more fluently than files with fixed record length. Specifications: An XML document is a string of characters. Elements must be properly nested Every document must contain a single, unique root element Order matters Attribute values must be enclosed in quotes No repeating attributes in an element For financial messaging however it is of the utmost importance that both parties understand the message perfectly. The sender and the receiver need to agree on how the message must be interpreted. The ISO20022 standard puts some additional rules and constraints to the use of XML messaging. In order to work with ISO20022 basic knowledge of XML is required. What is a root element? XML documents must contain one element that is the parent of all other elements. This element is called the root element. Each XML message must and can have only one root element. What are the specifications of a tag? XML tags are case sensitive. Tags come in three flavours: > start-tags: A start-tag begins by the < character and ends by the > character. > e.g. <section> > end-tags: In XML, all elements must have a closing tag (or end-tag). Each open tag must obligatory be closed by an end-tag </. > e.g. </section> > empty-element tags: These tags allow a programmer to make a fixed XML scheme where fields are left without a value, if no value can be supplied. This type of tags however it not allowed in the ISO20022 structure. If a tag is used, the correspondent data field may not be left empty. At least one character has to be filled in. > e.g <section/>. Tags must not overlap Matching open/close tag > <Address> is a start-tag and </Address> is an endtag. E.g.<PostCode>75002</PostCode> How are tags well formatted? XML is a language where only the data between a start-tag and an end-tag is accepted as information. This means there can be spaces or white lines between tags without a problem, although this will ignore the general idea of easy readable text. It is therefore recommended not to place spaces or white lines between tags. On the other hand it is not allowed to put space in the tag itself. This will result definitely in an erroneous XML file. e.g.: <Street Name> 3 Text added to the data of a document in order to convey information about it. SEPA formats - An introduction to XML 2

How are data fields correctly formed? A data field is the space between a start-tag and an endtag, when there is no child-element. The characters in this space are considered as the value of the element. This value is the actual data that is key to your financial message. e.g. <PostCode>75002</PostCode> This data is subjected to two important conditions: Character set: In the first line of an XML document, the character set is defined. This character set defines which characters can be used in the data fields. The character set defined in the ISO20022 standard is the well-known UTF-8 set. This set is a rather small character set which allows the following characters to be used. 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 Length: Every data field has a specific length. This can be a fixed length where a specific code should be filled in. This can also be a variable where a maximum length is defined. The minimum length for data fields is always 1. Empty fields are not advised. Remark: A space is a valid character. It is highly recommended to verify that the content of a data field follows directly to the start-tag and is directly followed by an end-tag. e.g. <PostCode>75002</PostCode> SEPA formats - An introduction to XML 3

Element Status What is the status of an element? Some elements in the financial message lay-out are mandatory. Others are optional and can be used at your wish. It is useful to check these optional elements as they might contain a benefit for your payment and cash management business. The indication whether an element is mandatory or optional can be found in the next point. In the Message structure chapter, we have taken the liberty to indicate some optional fields as recommended, because we strongly believe they can bring an advantage to your payment processing. What is an occurrence? This indicates how many times the element can be repeated. The number of occurrences is shown between square brackets. The interpretation of the status of the data is influenced by an indication of Or. In that case two different sub children can be used for one child. Both are correct but have another impact and consequence. The two different sub children will be indicated in the occurrence as follows: [0..1]{Or [0..1] Or} What is an Index? Every element in the ISO20022 standard is indexed with a number. The number is attributed chronologically based on 2 levels. The first level indicates whether it is linked to the header or the payment information. The second level of the number indicates the order in which each element must be offered. Although several elements are optional, when supplied the element must be supplied in the correct order. [0..1] shows that the element can be present 0 times or 1 time. > Element is optional. [1..1] shows that the element can be present only 1 time. > Element is mandatory. [1..n] shows that the element can be present 1 to n times. > Element is mandatory. n is sometimes shown as, which stands for infinite. SEPA formats - An introduction to XML 4

Message structure What is the general structure of an XML document? For example, the general structure of a SEPA Credit Transfer can be displayed as follows: The XML document can be divided in 3 main parts: The first part is called the prologue and is of a very high importance. It allows the creator to assign an XML version and a character set. ISO20022 only supports the version 1.0 of XML and the character set UTF-8. The prologue for an ISO20022 file should always be as follows: <?xml version= 1.0 encoding= UTF-8?> The second part is used for document declaration. The document declaration states the type of document that will be used and defines the set of rules whereto the document can be validated. The ISO organisation has supplied an XSD schema that defines the rules of a specific document type. If a namespace (xmlns) is supplied, this can be used in a validator to verify the structural validity of the document. The used xmlns is dependent from the version of the ISO20022 lay-out that is used. The following document declaration is used for a SEPA Credit Transfer: <Document xmlns= urn:iso:std:iso:20022:tech:xsd:pa in.001.001.03 > The following document declaration is used for a SEPA Direct Debit: <Document xmlns= urn:iso:std:iso:20022:tech:xsd:pa in.008.001.02 > The third part is the main part and contains the entire tree structure of an XML document. Below we will discuss this structure more in detail for the SEPA Credit Transfer and the SEPA Direct Debit. SEPA formats - An introduction to XML 5

What is the GroupHeader block? The groupheader block is the first block of information that is nested within the document. It is mandatory and supplies information that is valid for all following information. It supplies the ordering financial institution the opportunity to perform some basic security checks. The date and time when the file is created is such information, but also the indication of the total amount of transactions that will follow in the payment information is an important factor. What is the PaymentInformation block? It concerns the batch level. This building block is mandatory and repetitive. It allows the initiator of a financial message to organize his transactions in a logical order. All transactions within one <PmtInf> will be processed with the same ordering account and same execution date. It will also indicate whether the transaction in the <PmtInf> will be booked globally or individually on the account (BtchBookg). If one transaction is supplied per <PmtInf> the batch booking parameter will not serve its purpose. The Payment Information block can contain several transactions and should group all transactions within the xml that have the same PaymentInformation instructions! This to avoid that the same information is unnecessarily repeated (larger files, risk of errors, ). What is the CreditTransferTransaction- Information block? This concerns the transaction level of an XML for SEPA Credit Transfers (pain.001.001.03). This building block is mandatory and repetitive. It contains, among other things, elements related to the credit side of the transaction, such as Creditor and Remittance Information. While the information of the debit side will be common for all the transactions in a batch, the information about the beneficiaries will be stated for each transaction individually. What is the DirectDebitTransactionInformation block? This concerns the transaction level of an XML for SEPA Direct Debits (pain.008.001.02). This building block is mandatory and repetitive. It contains, among other things, elements related to the debit side of the transaction, such as Debtor, Mandate Related Information and Remittance Information. While the information on the credit side will be common for all the transactions in a batch, the information about the debtor side will be stated for each collection individually. SEPA formats - An introduction to XML 6

Example for European credit transfers Example for SEPA Credit Transfers The GroupHeader Block 1 per xml-file The PaymentInformation Block (= batch-level) [1 ] batches per xml-file Transaction 1 Transaction Level [1 ] per batch Transaction 2 Transaction 3 SEPA formats - An introduction to XML 7

Example for European direct debits Example for SEPA Direct Debits The GroupHeader Block 1 per xml-file The PaymentInformation Block (= batch-level) [1 ] batches per xml-file Transaction 1 Transaction Level [1 ] per batch Transaction 2 Transaction 3 SEPA formats - An introduction to XML 8

Format Validation Tool ING offers you the possibility to perform a test on-line with the format validation tool. What is the format validation tool? The format validation tool (FVT) is an online service which can be used to validate specific ING payment format files. These files are the envelopes in which customers put their transaction instructions to be processed by ING. It offers users a service which they can use when implementing changes in their current formats or when validating test files during implementation. FVT offers fast automated validation of file formats. It can speed up the implementation process which will result in a faster time to market. This service is an addition to the current known implementation process and does not replace a step in the current process. The User Manual is available on the website via this link: http://www.ingsepa.com/formatvalidationtool/en (click on HELP to access the User Manual). How to get access to this tool? Address: http://www.ingsepa.com/formatvalidationtool/en Username: ING10 Password: Format10 SEPA formats - An introduction to XML 9

Useful links The official document on Character set conversion (EPC) http://www.europeanpaymentscouncil.eu/knowledge_bank_detail.cfm?documents_id=332 European Payments Council (EPC) http://www.europeanpaymentscouncil.eu/content.cfm?page=sepa_direct_debit_(sdd) European Payments Council (EPC) http://www.europeanpaymentscouncil.eu/content.cfm?page=sepa_credit_transfer ING Belgium SA/nv Bank Registered Office: Marnixlaan 24, B-1000 Brussels Brussels RPM/RPR VAT BE 0403.200.393 IBAN: BE453109 1560 2789. Publisher: Inge Ampe Cours Saint-Michel 60, B-1040 Brussels 705117E 09/13 Editing Team & Graphic Studio Marketing ING Belgium