Skip to content

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:

  1. Start record 0_START (optional)
  2. Header record 1_HEAD
  3. Opening Balance record 2_OPENBAL
  4. Detail records 5_DETAIL
  5. 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:

  1. Start record 0_START (optional)
  2. Header record 1_HEAD
  3. Detail records 5_DETAIL
  4. 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.