9.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.

9.2.1. EBICS#

9.2.1.1. Protocol versions#

The following protocol versions are supported: - V2.5 H004 - v3.0 H005

We use V3.0 for all file related operations and V2.5 for key management for gls dialect until GLS correctly support it. We plan to drop V2.5 support in 2026.

9.2.1.2. Administrative Orders#

We use the following EBICS orders: HEV, INI, HIA, HPB, HKD, HAA, BTU, BTD. HAA and HKD are optional orders but are required for LibEuFin Nexus to work.

9.2.2. ISO20022#

9.2.2.1. CAMT files#

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.

  • postfinance - BTD PSR CH pain.002 10 ZIP - BTD STM CH camt.052 08 ZIP - BTD EOP CH camt.053 08 ZIP - BTD REP CH camt.054 08 ZIP

  • gls - BTD REP DE pain.002 ZIP SCI - BTD REP DE pain.002 ZIP SCT - BTD STM DE camt.052 ZIP - BTD EOP DE camt.053 ZIP - BTD STM DE camt.054 ZIP - BTD STM DE camt.054 ZIP SCI

If older versions of files are advertised as being present, we will also fetch them.

As the ISO20022 standard does not provide a perfect transaction identifier we use a combinaison of the UETR (unique end-to-end transaction reference), which is a universal identifier, the TxId (TransactionIdentification), assigned by the first instructing agent and the AcctSvcrRef (AccountServicerReference) assigned by the account servicing institution. Those three identifiers are optional in the standard and sometimes mandatory in local standards. Combining the three we can track transactions across different files.

9.2.2.2. PAIN files#

Direct debits will use the following orders - postfinance: BTU MCT CH pain.001 09 - gls: BTU SCT pain.001

Instant direct debits will use the following orders - gls: BTU SCI DE pain.001

Instant direct debits are always tried first if they are supported, and LibEuFin fall back on ordinary direct debits in case of failure. If you do not want LibEuFin to send instant direct debit you can disable the order for LibEuFin’s specific subscriber at your bank.

The following pain.001 format are used:

  • postfinance & maerki_baumann: pain.001.001.09.ch.03 with the default service level this will only work between swiss accounts

  • gls: pain.001.001.09 with the SEPA service level this works with any other SEPA account