FinTS

FinTS is the protocol German banks use between the customer’s banking product and the bank. A session is a dialogue. Inside it, each business case is one order: a balance, a list of transactions, a credit transfer, a direct debit. The bank answers with the result, or with a request for a TAN when the order moves money.

The printer below builds one order segment from the Example GmbH data used on the other software pages. A live message also carries the dialogue header, a signature, and usually encryption. The segment number is 1 in this print because the order is shown on its own. A bank publishes the segment versions it accepts, and this print uses HKSAL version 7 and version 1 of HKCCS, HKAUP, and HKDSE. A colon inside a value is written as ?: on the wire. The payment itself is carried as a byte block, @length@ followed by the XML.

The names, amounts, and the foreign account are made up. The IBANs are published specimen numbers, not accounts. Nothing is sent to a bank.

Business cases

Dialogue

The session between the customer’s product and the bank. It establishes who is talking, which FinTS version is in use, and which business cases the bank offers that customer.

Accounts and balances

The list of accounts the customer may see, and the booked balance of an account. The balance order is HKSAL. This is the usual first read after the dialogue is open.

Transactions

The booked entries on an account for a period: date, amount, and the reference the bank stored with the booking.

SEPA credit transfer

The customer asks the bank to pay another account in euro inside SEPA. The order is HKCCS for one transfer and HKCCM for a bulk file. The payload is pain.001.001.09: the creditor, the IBAN, the amount, and the end-to-end reference.

International payment

The customer asks the bank to pay outside SEPA, or in a currency other than euro, including a foreign-currency payment inside Germany. The FinTS order is HKAUP. It carries the same pain.001.001.09 schema as a SEPA transfer, with the currency, the creditor bank, and the address filled for a cross-border payment. From November 2026 this replaces the older DTAZV order HKAUB.

SEPA direct debit

The customer submits a direct debit collection. The single-order segment is HKDSE and the payload is pain.008. The bank accepts it only when the mandate and the account permissions allow it.

Standing orders

A credit transfer the bank repeats on a schedule. The business case covers creating, changing, and listing those orders.

TAN

Strong customer authentication for an order that changes money. The bank challenges the customer, and the order is released only after the TAN step succeeds.

Back to software · FinTS on the work page