11.2. Nexus bank dialects

LibEuFin Nexus is an EBICS facilitator. It offers a command line interface to setup EBICS access, download banking records, and submit payments. LibEuFin Nexus is not a generic EBICS client but a Taler specific one.

Today, the LibEuFin implementation supports EBICS 3.0 and has been tested with Postfinance (CHF), GLS (EUR) and Maerki Baumann (CHF). Please note that banks tend to have their own dialects of finance messages and thus other retail banks may or may not work. Contact us if you need support for another bank or core banking protocol.

We use different parsing logic depending of the bank dialect. This difference are documented in this file.

In ISO 20022 specifications, most fields are optional and the same information can be written several times in different places. For LibEuFin, we’re only interested in a subset of the available values that can be found in both camt. 052, camt.053 and camt.054. We only parse payment transactions (transaction domain code PMNT) and ignore all others. This mean we ignore some debits that could originate from you banks for fees or taxes.

As the ISO20022 standard does not provide a perfect transaction identifier, we will use either the UETR (unique end-to-end transaction reference), which is a universal identifier, or the TxId (TransactionIdentification), assigned by the first instructing agent. While these two identifiers are optional in the standard, they are mandatory in local standards, and have the advantage of being unique and can be used to track a transaction between banks.

11.2.1. postfinance

11.2.1.1. camt

We use UETR as the transaction ID. We parse reversal from camt.053 but do not parse other transactions as the wire transfer subject is missing. We parse incoming and outgoing transactions from camt.054 where the wire transfer subject is present.

11.2.1.2. pain.001

We use the pain.001.001.09.ch.03 schema with the default service level. Transactions will only work between Swiss accounts.

11.2.2. gls

11.2.2.1. camt

We use TxId as the transaction ID. We parse incoming instant transactions from camt.054 and We parse incoming and outgoing transactions as well as reversals from both camt.052 and camt.053.

11.2.2.2. pain.001

We use the pain.001.001.09 schema with the SEPA service level. Transactions will work with any other SEPA account.

11.2.3. maerki_baumann

As Maerki Baumann does no provide an EBICS API you will have to use the manual import and export commands.

11.2.3.1. camt

We use UETR as a transaction identifier. Credit fees are parsed. We parse incoming and outgoing transactions as well as reversals from camt.053.

11.2.3.2. pain.001

We use the pain.001.001.09.ch.03 schema with the default service level. Transactions will only work between Swiss accounts.