External Interface for Mixed Payment on File¶
The purpose of this document is to describe how to transfer the external mixed payments on file into the Payment component, by reading, interpreting and processing text file based information. The external interface for payments is based on the External Files Interface, a general tool for loading and creating text files.
It is possible to describe different file layouts, so called file templates. In External Files there is also a file type name ExtMixedPayment
that supports payments, related to customer and suppliers in one mixed payment, and also direct cash payments. Electronic bank statements provided by an external systems requires such file type since in the file a mix of customer related and supplier related payments can be included.
Please refer to Page Help and IFS Cloud Documentation for detailed information regarding how to specify file templates.
Use this page when you want to know how to load mixed payment information from an external text file.
Predefines File Templates¶
The following system defined file templates, supporting the file type ExtMixedPayment, are created at installation time.
External File Template | External File Type | Description |
---|---|---|
MXP_MT940DE | ExtMixedPayment | File template used to load bank statement of accounts for: MT940 Germany (Version of the MT940 swift file format used in Germany) |
MXP_CAMT | ExtMixedPayment | File template used to facilitate the bank to customer debit/credit notification (camt.054) message in IFS Cloud |
The External File Type ExtMixedPayment¶
The following record types are available for the external file type ExtMixedPayment, supporting the external interface for mixed payment on file.
Record Type | Description |
---|---|
0_START | Start record |
1_HEAD | Header record |
2_OPENBAL | Opening Balance record |
5_DETAIL | Detail record |
8_CLOSEBAL | Closing Balance record |
About the Start Record (0_START)¶
This record can be used to initialize information that are not available when record 1_HEAD is used
The following columns are available for the record type:
Column ID | Description | Notes |
---|---|---|
ACCOUNT_NO | Account Number | The account number of the company's account. This account can be used to control the account in 1_HEAD record and is displayed in external payments. The account number can be empty. |
BANK_CODE | Bank Code | The bank code of the of the company's account (national codes and also BIC/Swift-Code). This bank code is displayed in external payments. The bank code can be empty. |
COMPANY_IDENTIFIER | Company Identifier | The external payment is loaded in the company, for which the company identifier is defined in the External Payment Parameters/Company Identifier tab. If the company identifier is empty or not specified in the external payment parameters, the external payment will be created in the current company. |
INSTITUTE_ID | Payment Institute | Payment Institute. Normally retrieved form the load parameter. It can also be specified by using the function PAR:INSTITUTE_ID in the file template. The payment institute of the company identifier overrules the value in the INSTITUTE_ID. |
LOAD_DATE | Load Date | The value in the load date is used as the statement date for the external payment. If LOAD_DATE is empty, sysdate is used as the statement date. |
RECORD_TYPE | Record Type | The record type identification in the file line. |
WAY_ID | Payment Method | Payment Method. Normally retrieved form the load parameter. It can also be specified by using the function PAR:WAY_ID in the file template. The payment method of the company identifier overrules the value in the WAY_ID. |
About the Header Record (1_HEAD)¶
The header record contains information to create the header for External Payments. This record is always required.
The following columns are available for the record type:
Column ID | Description | Notes |
---|---|---|
ACCOUNT_NO | Account Number | The account number of the company's account. This account can be used to control the account and is displayed in external payments. If ACCOUNT_NO is empty the account number of the 0_START record is used. The account number can be empty. |
ACCOUNT_TYPE | Account Type | The account type of the company's account. This account type can be used to control the account. |
BANK_CODE | Bank Code | The bank code of the of the company's account. This bank code is displayed in external payments. If BANK_CODE is empty the bank code of the 0_START record is used. |
CASH_ACCOUNT_CONTROL | Control Cash Account | Set to TRUE if a control that ACCOUNT_NO, ACCOUNT_TYPE and INSTITUTE_ID are specified on a cash account, should be done. If this column is not included in file template the value will be FALSE. |
CLOSING_BALANCE | Closing Balance in Currency | The closing balance in currency of the bank statement of account to be used for the loaded payment. If CLOSING_BALANCE is empty, the closing balance will be same as the OPENING_BALANCE. |
COMPANY_IDENTIFIER | Company Identifier | The external payment is loaded in the company, for which the company identifier is defined in the External Payment Parameters/Company Identifier tab. If the company identifier is set on the start record, the company identifier of the start record will be used. If the company identifier is empty or not specified in the external payment parameters, the external payment will be created in the current company. |
CURRENCY_CODE | Currency Code | The currency of the bank statement and the default currency for its transactions. If this column is not included in the file template the base currency of the company will be used. |
DATE_CTRL | Control Date | Set to TRUE, if a control that LOAD_DATE is not empty on this record type, should be done. If this column is not included in the file template the value will be FALSE. |
DUMMY1 | Dummy 1 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMY2 | Dummy 2 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMY3 | Dummy 3 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMY4 | Dummy 4 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMY5 | Dummy 5 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC1 | Dummy 1 (character type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC2 | Dummy 2 (character type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC3 | Dummy 3 (character type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC4 | Dummy 4 (character type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC5 | Dummy 5 (character type) | Used internally by the file template, e.g. in functions etc. |
INSTITUTE_ID | Payment Institute | The payment institute. It can be used for control of cash account. |
LOAD_DATE | Load Date | The statement date, if it is empty or it is not included in the file template, the LOAD_DATE of 0_START record, or sysdate will be used. |
LOAD_DATE_NULL | No Header Load Date | Not used. |
OPENING_BALANCE | Opening Balance in Currency | The opening balance in bank account currency. If the value is not included in the file template, the value will be 0. |
RECORD_TYPE | Record Type | The record type identification in the file line. |
WAY_ID | Payment Method | Payment Method. Normally retrieved form the load parameter. It can also be specified by using the function PAR:WAY_ID in the file template. The payment method of the company identifier overrules the value in the WAY_ID. |
About the Open Balance Record (2_OPENBAL)¶
This record can be used to set the opening balance for the current external payment, that has been initialized with the header record (1_HEAD).
The following columns are available for the record type:
Column ID | Description | Notes |
---|---|---|
CURRENCY_CODE | Currency Code | The currency of the bank statement which should be used for the external payment. This currency overrides the currency set by the header record. If CURRENCY_CODE is not included in the file template, the value will be the currency of 1_HEAD. |
DATE_CTRL | Control Date | Set to TRUE, if a control that LOAD_DATE is not empty on this record type, should be done. If this column is not included in the file template, the value will be false. If set to TRUE and LOAD_DATE is empty, an error message will be displayed in the external file transactions. |
DUMMY1 | Dummy 1 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMY2 | Dummy 2 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMY3 | Dummy 3 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMY4 | Dummy 4 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMY5 | Dummy 5 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC1 | Dummy 1 (character type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC2 | Dummy 2 (character type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC3 | Dummy 3 (character type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC4 | Dummy 4 (character type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC5 | Dummy 5 (character type) | Used internally by the file template, e.g. in functions etc. |
LOAD_DATE | Load Date | The statement date, if it is empty or it is not included in the file template, the LOAD_DATE of 1_HEAD record, or sysdate will be used. |
OPENING_BALANCE | Opening Balance in Currency | The opening balance in the currency of the bank statement. If the value is not included in the file template, the value 0 will be used. |
RECORD_TYPE | Record Type | The record type identification in the file line. |
About the Detail Record (5_DETAIL)¶
The detail record is used to create the detail transactions for the external payment. This record is always required.
The following columns are available for the record type:
Column ID | Description | Notes |
---|---|---|
AMOUNT | Amount | The payment amount. |
AMOUNT_BANK_CURR | Amount in Bank Account Currency | The amount in bank account currency can be used to store the payment amount of the bank transaction, effective on the account balance, while the payment in the originator's currency is used as the payment amount and payment currency. Example: Bank Account Currency is EUR, payment amount on the file is EUR 1000 but originator's payment is 1330 USD AMOUNT = 1330 CURRENCY_CODE = USD AMOUNT_BANK_CURR = 1000 |
AMOUNT_CTRL | Control Amount | If set to TRUE and AMOUNT is empty, then an error message will be displayed in external file transactions. |
AMOUNT_SIGN | Amount Sign | The sign that indicate if amount is positive or negative. The sign can be included in the amount column. |
BANK_TRANSACTION_INFO1 | Bank Transaction Info 1 | Multi-purpose information field 1, displayed on the transaction in external payments and can be used for segmentation of mixed payments. The information in the field can be e.g. the name of the payment originator. |
BANK_TRANSACTION_INFO2 | Bank Transaction Info 2 | Multi-purpose information field 2, displayed on the transaction in external payments and can be used for segmentation of mixed payments. The information in the field can be e.g. the account number of the payment originator. |
BANK_TRANSACTION_INFO3 | Bank Transaction Info 3 | Multi-purpose information field 3, displayed on the transaction in external payments and can be used for segmentation of mixed payments. The information in the field can be e.g. the bank code of the payment originator. |
CURRENCY_CODE | Currency Code | The currency code for the detail transaction which be different to the currency in the opening balance and/or header record. If the currency code is empty or not included in the file template, the currency code of the 2_OPENBAL record or if currency in 2_OPENBAL is empty, the currency of 1_HEAD is used for the detail transaction. |
DATE_CTRL | Control Date | If set to TRUE and PAYMENT_DATE is empty, then an error message will be displayed in external file transactions. |
DUMMY1 | Dummy 1 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMY2 | Dummy 2 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMY3 | Dummy 3 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMY4 | Dummy 4 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMY5 | Dummy 5 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC1 | Dummy 1 (character type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC2 | Dummy 2 (character type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC3 | Dummy 3 (character type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC4 | Dummy 4 (character type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC5 | Dummy 5 (character type) | Used internally by the file template, e.g. in functions etc. |
HEAD_DATE_TO_SYSDATE | Set Header Date To Sysdate | Not used. |
INVOICE_REFERENCE | Invoice Reference | The reference to the invoice that should be directly matched with the payment of the detail transaction. |
INVOICE_REFERENCE_CTRL | Control Invoice Reference | Set to TRUE if INVOICE_REFERENCE should be controlled to not be allowed to be empty. If this column is not included in File Template the value will be FALSE. |
MATCH_INVOICE_CTRL | Control Invoice Match | Set to TRUE if matched invoices should be controlled against pending payment such as payment proposals, payment orders, payment document proposals and mixed payments. If this column is not included in File Template the value will be FALSE. |
MESSAGE_CODE | Message Code | The message code from the file will be transferred to the external payment. It can be used to determine how the transaction should be created or an error should be notified. |
MESSAGE_CODE_CTRL | Control Message Code | If set to TRUE, the message code will be used to create the transactions as specified in the external payment parameters for message code. |
NEW_ITEM_INVOICE_NO | New Item Invoice No | The invoice number that should be used for new customer difference items. The specified value is only used, if the file includes a message code and a customer ID, either from the invoice identified in the INVOICE_REFERENCE or from the REJECTED_PAYER_NO column. Additionally the message code must be set up in the transaction type with type Customer Payment and in the payment format message function with function Create New Diff Item. |
NEW_ITEM_TEXT | New Item Text | The text to be used for new customer difference items. The specified value is only used if In the message code or the reason code, the option to generate a text for the new item is selected. The file must also include a message code and a customer ID, either from the invoice identified in the INVOICE_REFERENCE or from the REJECTED_PAYER_NO column. Additionally the message code must be set up in the transaction type with type Customer Payment and in the payment format message function with function Create New Diff Item. |
PAYMENT_DATE | Payment Date | The payment date. If this column is not included in File Template the LOAD_DATE from header or system date will be the payment date for this detail line. |
PAYMENT_DESC | Payment Description | The payment description which is an additional information for the invoice reference. |
PREPARED_REFERENCES | Prepared References | This information can be used for matching the payment, if the INVOICE_REFERENCE is empty. The matching identifier in external payment parameters can be set up to use the prepared reference for the matching. |
REASON_CODE | Reason Code | The reason code for a transaction with message code. This code provides additional information about the cause of the transaction and is transferred to external payments if the message code in the file is used too. The reason code can be used to control how the new customer difference items should be created. |
RECORD_TYPE | Record Type | The record type identification in the file line. |
REJECTED_PAYER_NO | Rejected Payer No | The customer ID to be used for new customer difference items. The customer ID is only transferred to the external payment if the customer ID exists in the company for which the external payment is loaded, and if the in payment format message function of the message code the value Create New Diff Item is selected. |
STATEMENT_TRANS_TYPE | Statement Trans Type | The statement trans type. If this column is not included in File Template the value will be CUSTOMERPAYMENT. The transaction type can be overruled by using message codes in the file template. |
TEXT | Text | Not used. |
About the Closing Balance Record (8_CLOSEBAL)¶
This record can be used to set the closing balance for the current external payment, that has been initialized with the header record (1_HEAD).
The following columns are available for the record type:
Column ID | Description | Notes |
---|---|---|
CLOSING_BALANCE | Closing Balance in Currency | The closing balance in currency of the bank statement. |
CURRENCY_CODE | Currency Code | The currency of the bank statement which should be used for the external payment. This currency overrides the currency set by the header record. If CURRENCY_CODE is not included in the file template, the value will be the currency of 1_HEAD. |
DATE_CTRL | Control Date | Set to TRUE, if a control that LOAD_DATE is not empty on this record type, should be done. If this column is not included in the file template, the value will be false. If set to TRUE and LOAD_DATE is empty, an error message will be displayed in the external file transactions. |
DUMMY1 | Dummy 1 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMY2 | Dummy 2 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMY3 | Dummy 3 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMY4 | Dummy 4 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMY5 | Dummy 5 (number type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC1 | Dummy 1 (character type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC2 | Dummy 2 (character type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC3 | Dummy 3 (character type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC4 | Dummy 4 (character type) | Used internally by the file template, e.g. in functions etc. |
DUMMYC5 | Dummy 5 (character type) | Used internally by the file template, e.g. in functions etc. |
LOAD_DATE | Load Date | The statement date, if it is empty or it is not included in the file template, the LOAD_DATE of 1_HEAD record, or sysdate will be used. |
RECORD_TYPE | Record Type | The record type identification in the file line. |
How to use the record types¶
The external mixed payment on file is usually a bank statement of account file.
All record types can be used together in the file template. The mandatory record types are 1_HEAD and 5_DETAIL.
The columns available in the record types of the file type ExtMixedPayment can be used in the file templates for different purposes, e.g.
- Referring to a column or position in the external file line.
- Containing instructions how to handle the template controls.
- Containing default values needed by the external payment interface.
- Containing advanced instructions (functions) how to interpret the file information.
You can find possible structures of bank statements of account described below.
Bank statement with separate balance records:
- Start record 0_START (optional)
- Header record 1_HEAD
- Opening Balance record 2_OPENBAL
- Detail records 5_DETAIL
- Closing Balance record 8_CLOSEBAL
If in one file several header records are included, a separate external payment will be created for each header record.
Bank statement with opening balance in the header, closing balance in separate record:
- Start record 0_START (optional)
- Header record 1_HEAD
- Detail records 5_DETAIL
- Closing Balance record 8_CLOSEBAL
If in one file several header records are included, a separate external payment will be created for each header record.
There can of course be different variations on the two described structures of a bank statement of account file.