Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{noprint}{float:right|width=300px|background=lightgrey|border=solid blue 2px|margin=10px|padding=8px}
*Contents*
{toc:all=true|depth=4|excerpt=true|indent=14px}
{float}{noprint}{table-plus:width=665|enableSorting=false}
























*Document Logs*
*Change log:*
|| *Date:* || *Author:* || *Version:* || *Changes:* || Completed || Ext. || Int. || Is in Core ||
| {page-info:created-date|dateFormat=dd MMMM yyyy} | {page-info:created-user} | 0.1 | Doc. created | SI | | | |

*Terms and definitions:*
|| Terms/definitions: || Meaning: ||
| TBD | To be defined |
| N/A | Not applicable |
| CSI | Creditor Scheme Identification |
| DDT | Direct Debit Transaction |
| CTT | Credit Transfer Transaction |
| SEPA | Single Euro Payment Area |

{attachments:patterns=.*}












































h2. 1 - Purpose of Document
The purpose of this document is to provide an overview of the functionality and implementation of the SEPA Payment Engines.























h2. 2 - Introduction to Functionality
The objective of the SEPA is to provide standards for euro payments. All payments under this regulation are considered domestic transactions. SEPA allows users to make payment transactions in Euro from a single bank account within Europe. SEPA offers a set of instruments to process these payment transactions (SEPA Credit Transfers and SEPA Direct Debits) in an easy and secure way.
























h2. 3 - Architecture and Design
All the payment transactios are XML based. In order to support the XML file generation and XML processing (reading) two Engines will be implemented: 
* SEPA Generator: This engine will read the information from the SEPA Payment table and create the SEPA XML file depending on the payment type (Direct Debit or Credit Transfer).

* SEPA Reader: This engine will read the incoming SEPA XML and update the corresponding SEPA tables.

It is important to notice that the standard [Customers:FTP Engine] will transfer the xml files from the outgoing folders to the remote server and the incoming files from the remote server.





















































h3. 3.1 - Object Model
The following diagram presents the main classes of the SEPA Generator:

{gliffy:name=UML SEPA Generator|version=1011}
The following diagram represents the main classes of the SEPA Reader:
{gliffy:name=UML SEPA Reader|version=2}


h3. 3.2 - Data Model
The SEPA Engines use specific tables to retrieve and store information. The following ER diagram shows the relationship between the tables of the SEPA Generator Engine:

{gliffy:name=ER SEPA Generator Tables|version=3}
|| Table Name || Description ||
| SEPA_PAYMENT | This is the table used by the SEPA Generator Engine to create the SEPA XML files. Contains information for the XML header section like Create date, number of transactions, etc. |
| SEPA_PAYMENT_INFO | Contains information related to the payment: Creditor Info / Debitor Info depending on the type of transaction. |
| SEPA_PAYMENT_TRANS_INFO | Contains information specific to the individual transactions. |
{table-plus}{table-plus:width=665|enableSorting=false}

{table-plus}

h4. 3.2.1 - SEPA_PAYMENT Table


|| Name || Type || Description || Mandatory ||
| ID | NUMBER | | Autogenerated |
| STATUS_ID | NUMBER | Status used by the engine to process the records. \\ | {color:red}YES{color} |
| FILE_NAME | VARCHAR (200CHAR) | The XML file name. | {color:#ff0000}YES{color}\\ |
| DESCRIPTION | VARCHAR (200CHAR) | Field used to write information. | NO |
| COMMENTS | VARCHAR2(4000CHAR) | Contains information related to errors. | NO |
| TYPE | NUMBER | Indicates the type of payment (Direct Debit / Credit Transfer). | {color:#ff0000}YES{color}\\ |
| CREATION_DATE | DATE | Creation date of the file \\ | NO (Updated by the SEPA Generator) |
| TRANSACTION_NUMBER | NUMBER | Number of transactions. | {color:#ff0000}YES{color}\\ |
| TOTAL_SUM | NUMBER | Total amount of all transactions. | {color:#ff0000}YES{color}\\ |
| INITIAL_PARTY_NAME \\ | VARCHAR(70CHAR) | The party that initiates the transaction. Max 70 characters. | {color:#ff0000}YES{color}\\ |
| BRAND_ID | NUMBER | | NO |


h3. 3.2.3 - SEPA_PAYMENT_INFO Table

|| Name || Type || Description || Mandatory ||
| ID | NUMBER | | Autogenerated |
| SEPA_PAYMENT_ID | NUMBER | Reference to the SEPA_PAYMENT table. | {color:#ff0000}YES{color}\\ |
| BATCH_BOOKING | VARCHAR(6CHAR) | True/False. If not set the default value is true. | NO |
| TRANSACTION_NUMBER \\ | NUMBER \\ | Number of individual transactions contained in the Payment Information Block. | {color:#ff0000}YES{color}\\ |
| CATEGORY_PURPOSE | VARCHAR(4CHAR) | Max 4 characters - Only codes from the ISO 20022 ExternalPurposeCode list are allowed. \\ | NO |
| REQ_DATE | DATE | Requested date. It is the Requested Collection Date in case of Direct Debit and Requested Execution in case of Credit Transfer. \\ | {color:#ff0000}YES{color}\\ |
| FINANTIAL_INST_BIC | VARCHAR(11CHAR) | Finantial Institution BIC. | {color:#ff0000}YES{color}\\ |
| CHARGE_BEARER | VARCHAR(5CHAR) | Only SLEV is allowed. | NO |
| {color:blue}LOCAL_INSTRUMENT_CODE{color} | {color:blue}VARCHAR(10CHAR){color} | {color:blue}Possible values are CORE/B2B. This field is only used by DDT.{color} | {color:#ff0000}YES{color}\\ |
| {color:#0000ff}SEQUENCE_TYPE{color} | {color:#0000ff}VARCHAR(6CHAR){color} | {color:#0000ff}Possible values are FRST, RCUR, FNAL, OOF. This field is only used by DDT.{color} | {color:#ff0000}YES{color}\\ |
| {color:#0000ff}CSI_ID{color} | {color:#0000ff}VARCHAR(35CHAR){color} | {color:#0000ff}Creditor Scheme Identification. This field is only used by DDT.{color} | NO |
| {color:#0000ff}CSI_NAME{color} | {color:#0000ff}VARCHAR(70CHAR){color} | {color:#0000ff}This field is only used by DDT.{color} | NO |
| {color:#0000ff}CREDITOR_NAME{color} | {color:#0000ff}VARCHAR(70CHAR){color} | {color:#0000ff}This field is only used by DDT.{color} | {color:#ff0000}YES{color}\\ |
| {color:#0000ff}CREDITOR_ADDRESS{color} | {color:#0000ff}VARCHAR(70CHAR){color} | {color:#0000ff}This field is only used by DDT.{color} | NO |
| {color:#0000ff}CREDITOR_COUNTRY{color} | {color:#0000ff}VARCHAR(10CHAR){color} | {color:#0000ff}This field is only used by DDT.{color} | NO |
| {color:#0000ff}CREDITOR_ACCOUNT_CURRENCY{color} | {color:#0000ff}VARCHAR(5CHAR){color} | {color:#0000ff}This field is only used by DDT.{color} | NO |
| {color:#0000ff}CREDITOR_IBAN{color} | {color:#0000ff}VARCHAR(34CHAR){color} | {color:#0000ff}This field is only used by DDT.{color} | {color:#ff0000}YES{color}\\ |
| {color:green}INSTRUCTIOIN_PRIORITY{color} | {color:green}VARCHAR(7CHAR){color} | {color:green}Possible values are HIGH and NORM. This field is only used by CTT.{color} | NO |
| {color:green}DEBTOR_NAME{color} | {color:green}VARCHAR(70CHAR){color} | {color:green}This field is only used by CTT.{color} | {color:#ff0000}YES{color}\\ |
| {color:green}DEBTOR_ADDRESS{color} | {color:green}VARCHAR(70CHAR){color} | {color:green}This field is only used by CTT.{color} | NO |
| {color:green}DEBTOR_COUNTRY{color} | {color:green}VARCHAR(10CHAR){color} | {color:green}This field is only used by CTT.{color} | NO |
| {color:green}DEBTOR_ACCOUNT_CURRENCY{color} | {color:green}VARCHAR(5CHAR){color} | {color:green}This field is only used by CTT.{color} | NO |
| {color:green}DEBTOR_IBAN{color} | {color:green}VARCHAR(34CHAR){color} | {color:green}This field is only used by CTT.{color} | {color:#ff0000}YES{color}\\ |

h3. 3.2.4 - SEPA_PAYMENT_TRANS_INFO Table

|| Name || Type || Description || Mandatory ||
| ID | NUMBER | | Autogenerated |
| PAYMENT_REFERENCE_ID \\ | NUMBER | Contains the reference to the internal payment tables: ACCOUNT_PAYMENT, INVOICE or BILLING_GROUP_REFUND_REQUEST \\ | {color:#ff0000}YES{color}\\ |
| PAYMENT_REFERENCE_TABLE | VARCHAR(128CHAR) | Contains the name of the reference payment table: ACCOUNT_PAYMENT, INVOICE or BILLING_GROUP_REFUND_REQUEST | {color:#ff0000}YES{color}\\ |
| PAYMENT_INFO_ID | NUMBER | Reference to the SEPA_PAYMENT_INFO table. | {color:#ff0000}YES{color}\\ |
| INSTRUCTION_ID | NUMBER | Unique ID assigned by an insructing party. | NO |
| END_TO_END_ID | NUMBER | Unique ID assigned by the initiating party to unambiguously identify the transaction. | {color:#ff0000}YES{color}\\ |
| INSTRUCTED_AMOUNT | NUMBER | The amount instructed by the ordering party. | {color:#ff0000}YES{color}\\ |
| REMITTANCE_INFO | VARCHAR(140CHAR) | Information that enables the matching, i.e. recon-ciliation, of a payment with the items that the payment is intended to settle, e.g. commercial invoices in an account receivable system. | NO |
| ULTIMATE_CREDITOR_NAME | VARCHAR(70CHAR) | Creditor name party. For information only. | NO |
| ULTIMATE_DEBTOR_NAME | VARCHAR(70CHAR) | Debtor reference party. For information only. \\ | NO |
| PURPOSE | VARCHAR(4CHAR) | Only codes from the ISO 20022 ExternalPurposeCode list are allowed. | NO |
| {color:#0000ff}DEBTOR_BIC{color} | {color:#0000ff}VARCHAR(11CHAR){color} | {color:#0000ff}This field is only used by DDT.{color} | {color:#ff0000}YES{color}\\ |
| {color:#0000ff}DEBTOR_NAME{color} | {color:#0000ff}VARCHAR(70CHAR){color} | {color:#0000ff}This field is only used by DDT.{color} | {color:#ff0000}YES{color}\\ |
| {color:#0000ff}DEBTOR_ADDRESS{color} | {color:#0000ff}VARCHAR(70CHAR){color} | {color:#0000ff}This field is only used by DDT.{color} | NO |
| {color:#0000ff}DEBTOR_COUNTRY{color} | {color:#0000ff}VARCHAR(10CHAR){color} | {color:#0000ff}This field is only used by DDT.{color} | NO |
| {color:#0000ff}DEBTOR_IBAN{color} | {color:#0000ff}VARCHAR(34CHAR){color} | {color:#0000ff}This field is only used by DDT.{color} | {color:#ff0000}YES{color}\\ |
| {color:#0000ff}MANDATE_ID{color} | {color:#0000ff}VARCHAR(35CHAR){color} | {color:#0000ff}This field is only used by DDT.{color} | {color:#ff0000}YES{color}\\ |
| {color:#0000ff}MANDATE_SIGNATURE_DATE{color} | {color:#0000ff}DATE{color} | {color:#0000ff}This field is only used by DDT.{color} | {color:#ff0000}YES{color}\\ |
| {color:#0000ff}AMENDMENT_INDICATOR{color} | {color:#0000ff}VARCHAR(6CHAR){color} | {color:#0000ff}Possible values True/Fase. This field is only used by DDT.{color} | NO |
| {color:#0000ff}ELECTRONIC_SIGNATURE{color} | {color:#0000ff}VARCHAR(1025CHAR){color} | {color:#0000ff}This field is only used by DDT.{color} | NO |
| {color:#0000ff}ORIG_MANDATE_ID{color} | {color:#0000ff}VARCHAR(35CHAR){color} | {color:#0000ff}Original Mandate Id. This field is only used by DDT.{color} | NO |
| {color:#0000ff}ORIG_CREDITOR_NAME{color} | {color:#0000ff}VARCHAR(70CHAR){color} | {color:#0000ff}This field is only used by DDT.{color}\\ | NO |
| {color:#0000ff}ORIG_CREDITOR_ID{color} | {color:#0000ff}VARCHAR(35CHAR){color} | {color:#0000ff}Original Creditor Identifier. This field is only used by DDT.{color} | NO |
| {color:#0000ff}ORIG_DEBTOR_IBAN{color} | {color:#0000ff}VARCHAR(34CHAR){color} | {color:#0000ff}This field is only used by DDT.{color} | NO |
| {color:#0000ff}CREDITOR_SCHEME_ID{color} | {color:#0000ff}VARCHAR(35CHAR){color} | {color:#0000ff}This field is only used by DDT.{color} | NO |
| {color:#008000}AMOUNT_CURRENCY{color} | {color:#008000}VARCHAR(5CHAR){color} | {color:#008000}This field is only used by CTT.{color} | NO (Default is EUR) |
| {color:#008000}CREDITOR_BIC{color} | {color:#008000}VARCHAR(11CHAR){color} | {color:#008000}This field is only used by CTT.{color} | {color:#ff0000}YES{color}\\ |
| {color:#008000}CREDITOR_NAME{color} | {color:#008000}VARCHAR(70CHAR){color} | {color:#008000}This field is only used by CTT.{color} | {color:#ff0000}YES{color}\\ |
| {color:#008000}CREDITOR_ADDRESS{color} | {color:#008000}VARCHAR(70CHAR){color} | {color:#008000}This field is only used by CTT.{color} | NO |
| {color:#008000}CREDITOR_COUNTRY{color} | {color:#008000}VARCHAR(10CHAR){color} | {color:#008000}This field is only used by CTT.{color} | NO |
| {color:#008000}CREDITOR_IBAN{color} | {color:#008000}VARCHAR(34CHAR){color} | {color:#008000}This field is only used by CTT.{color} | {color:#ff0000}YES{color}\\ |

{note:title=Note}

The SEPA_PAYMENT_INFO table and SEPA_PAYMENT_TRANS_INFO contain all the necessary fields to support the Direct Debit and Credit Transfer transactions.
The fields for each one are indicated in different colors.
{note}