Alle Artikel

Schweizer BankingSchweizer Banking, Datei für Datei, Teil 1

EBICS erklärt: So spricht ein KMU mit seiner Bank

Veröffentlicht Aktualisiert 12 Min. Lesezeit

Die kurze Antwort

EBICS (Electronic Banking Internet Communication Standard) ist ein standardisiertes Internetprotokoll, über das eine Firma Dateien mit ihrer Bank austauscht, verbreitet in Deutschland, Frankreich, der Schweiz und Österreich. Die Firma hinterlegt drei Schlüsselpaare für Authentifikation, Unterschrift und Verschlüsselung und bestätigt sie in der Schweiz mit einem unterschriebenen Brief. Danach holt sie Kontoauszüge wie camt.053 ab und kann, mit Unterschriftsschlüssel, Zahlungsaufträge einliefern.

Hinweis, Stand 14.10.2026: TILL ist jetzt eine öffentliche Beta (Version 1.0.0-beta.1). Der EBICS-Client aus diesem Artikel ist gebaut, aber das Modul, das die Verbindung zur Bank herstellt, ist noch nicht veröffentlicht; es kommt unter MIT. Wo der Artikel TILL als Pre-Alpha bezeichnet, beschreibt er den Stand beim Schreiben.

Was ist EBICS?

EBICS, der Electronic Banking Internet Communication Standard, ist ein standardisiertes Internetprotokoll für den Dateiaustausch zwischen einer Firma und ihrer Bank. SIX nennt es frei verfügbar. Zahlungsaufträge gehen hin, Kontoauszüge und Meldungen kommen zurück. Deutsche und französische Banken gründeten EBICS SC, die Gesellschaft, die den Standard pflegt, der Schweizer und der österreichische Finanzplatz kamen später dazu (SIX zu EBICS).

In Deutschland müssen Banken EBICS seit Januar 2008 unterstützen. In der Schweiz ist es freiwillig: Jede Bank entscheidet, ob sie es anbietet. Die Schweizer Banken, die es anbieten, unterstützen seit November 2021 serverseitig die Version 3.0. Welche Version du nutzt, vereinbarst du mit deiner Bank.

EBICS 3.0, in der Protokollsprache H005, hat die alten Ländervarianten zu einem Standard zusammengeführt. Statt nationaler Auftragsarten-Codes sagt ein Auftrag jetzt mit BTF-Parametern, was er transportiert: Dienst, Regelwerk, Meldungsname, Container. Die Schweizer Regeln dazu stehen in den Swiss Market Practice Guidelines EBICS 3.0 von SIX, Version 1.3. Was TILL sonst für Schweizer Bücher tut, steht auf der Seite Schweiz.

Welche drei IDs hat eine EBICS-Verbindung?

Jede EBICS-Verbindung wird über drei Kennungen angesprochen, dazu kommt die Adresse des EBICS-Servers der Bank. Als Beispiel dient in diesem Artikel die Muster Werkstatt GmbH in Seldwyla. Jede ID, jede Adresse und jeder Hashwert ist erfunden.

KennungWerBeispiel (erfunden)
Host-IDDer EBICS-Server der BankEXAMPLEHOST
Partner-ID (Kunden-ID)Der Kunde der Bank, meist die FirmaPARTNER0001
Teilnehmer-ID (User-ID)Ein Teilnehmer: die Person oder das System mit den SchlüsselnUSER0001

Die Anfragen gehen an eine HTTPS-Adresse wie https://ebics.example.com/ebicsweb. Die Schlüssel im nächsten Abschnitt gehören zum Teilnehmer. Das Kundenprotokoll der Bank, das festhält, was gesendet, abgeholt und unterschrieben wurde, führt sie pro Partner-ID.

Welche drei Schlüssel braucht EBICS?

EBICS braucht pro Teilnehmer drei Schlüsselpaare, und jedes hat genau eine Aufgabe. X002 authentifiziert jede Anfrage, A005 oder A006 unterschreibt Aufträge (die elektronische Unterschrift), E002 verschlüsselt. Die Schweizer Richtlinien nennen 2048 Bit als Schlüssellänge, die genauen Verfahren vereinbarst du mit der Bank.

Die drei Schlüsselpaare eines Teilnehmers: X002 authentifiziert, A005 unterschreibt, E002 verschlüsselt. Die öffentliche Hälfte geht an die Bank, die private bleibt bei dir. TILL löscht den privaten A005-Schlüssel und kann darum nie unterschreiben.

In der Schweiz reisen die öffentlichen Schlüssel unter EBICS 3.0 als X.509-Zertifikate. Selbst signierte und von einer Zertifizierungsstelle ausgestellte Zertifikate sind beide zulässig, vorgeschrieben ist nur das Format, und die Gültigkeit darf unbegrenzt sein (9999-12-31). Die Auftragsart H3K wird hier nicht unterstützt, Sperrlisten (CRL) werden nicht geprüft.

Schlüssel aus einer älteren EBICS-Version müssen nur dann neu mit Zertifikaten initialisiert werden, wenn sie kürzer als 2048 Bit sind.

Wie richtest du eine EBICS-Verbindung ein?

Die Schweizer Richtlinien teilen die Einrichtung einer EBICS-Verbindung in acht Schritte (SMPG Kapitel 6.1):

  1. Du unterschreibst den EBICS-Vertrag mit deiner Bank.
  2. Die Bank schickt dir die Zugangsdaten, darin die Hashwerte ihrer eigenen Schlüssel.
  3. Deine Software sendet deine öffentlichen Schlüssel mit den Auftragsarten INI und HIA.
  4. Du unterschreibst den Initialisierungsbrief mit deinen Hashwerten und schickst ihn per Post.
  5. Die Bank vergleicht die Hashwerte und prüft die Unterschriften.
  6. Die Bank übernimmt die Schlüssel und schaltet den Vertrag technisch frei.
  7. Deine Software holt mit HPB die Schlüssel der Bank ab, und du vergleichst deren Hashwerte mit denen aus Schritt 2.
  8. Du übernimmst die Schlüssel der Bank in deiner Software. Ab jetzt fliessen Dateien.

Warum braucht EBICS noch einen Brief auf Papier?

EBICS braucht den Brief auf Papier, weil die Schlüssel online bei der Bank ankommen, und online kann jeder einen Schlüssel schicken. Ein Brief per Post wirkt altmodisch für ein Internetprotokoll, aber er ist ein zweiter Weg. Die EBICS-Spezifikation 2.5 spricht von zwei unabhängigen Kommunikationswegen. Man kann es so lesen: Deine Unterschrift auf Papier bindet die Schlüssel, die online kamen, an dich und deine Firma. Die Bank vergleicht die Hashwerte auf dem Brief mit den Schlüsseln aus INI und HIA und schaltet erst frei, wenn sie übereinstimmen.

Zwei Wege treffen sich bei der Bank: Die Schlüssel kommen online mit INI und HIA, die Hashwerte auf dem unterschriebenen Brief per Post. Die Bank vergleicht und schaltet frei. Danach holt HPB die Schlüssel der Bank, und du vergleichst deren Hashwerte.

Ein Hashwert ist ein Fingerabdruck: 32 Bytes SHA-256, berechnet über ein Zertifikat oder einen Schlüssel. TILL druckt ihn als Paare von Hex-Ziffern in Grossbuchstaben. Für einen Schlüssel, der als EBICS-3.0-Zertifikat registriert wird, rechnet TILL SHA-256 über die DER-Bytes des Zertifikats. Daneben druckt TILL den klassischen EBICS-Schlüssel-Hash aus der Spezifikation 2.5: SHA-256 über die ASCII-Zeichenkette «Exponent Modulus», beide in Kleinbuchstaben-Hex ohne führende Nullen. Beide Werte stehen beschriftet auf dem Brief.

EBICS-Initialisierungsbrief
Kunde:           Muster Werkstatt GmbH, Seldwyla
Host-ID:         EXAMPLEHOST
Partner-ID:      PARTNER0001
Teilnehmer-ID:   USER0001
EBICS-Version:   H005
Schlüsselformat: X.509, selbst signiert

Elektronische Unterschrift (A005), Zertifikat, SHA-256:
  E0 46 FE E3 95 58 4C CD
  4E 86 A0 E8 07 5E C2 F8
  0A C8 63 2D 5B 3E E3 E4
  25 50 C1 76 8F 90 97 3C

Authentifikation (X002), Zertifikat, SHA-256:
  F8 B3 D5 AC 66 BB 24 81
  E5 CF AB FC C1 E1 03 15
  25 A7 F7 1E DB 2F FB 6E
  82 B0 A5 D5 AA 7D 5B A1

Verschlüsselung (E002), Zertifikat, SHA-256:
  23 58 57 80 DE A3 2A 38
  AF 6A 7A 06 04 83 D4 1E
  88 7E 53 94 8C C1 B0 ED
  4E 8A 35 F3 CC A5 C0 57

Unterschrift: ______________   Datum: __________
Ein Initialisierungsbrief, vereinfacht nach dem zweisprachigen Brief von TILL: ohne Gültigkeitszeile und ohne den klassischen Schlüssel-Hash neben jedem Zertifikats-Hash. Acht Paare pro Zeile ist das Layout von TILL, keine Regel der Banken. Firma, IDs und Hashwerte sind erfunden: Die Hashwerte sind SHA-256 über Wegwerf-Zertifikate, die nur für diesen Artikel erzeugt wurden.

Einen Zertifikats-Hashwert kannst du selbst nachrechnen: openssl x509 -in cert.pem -outform DER | openssl dgst -sha256 gibt dieselben 32 Bytes aus, in Kleinbuchstaben und ohne Leerzeichen.

Wie prüfst du die Schlüssel der Bank?

Die Schlüssel der Bank prüfst du mit HPB. Deine Software holt die öffentlichen Schlüssel der Bank ab, du vergleichst ihre Hashwerte Byte für Byte mit den Werten aus den Zugangsdaten, und erst dann übernimmst du sie (SMPG Kapitel 6.1, Schritte 7 und 8). Vertrauen muss in beide Richtungen gehen.

TILL hält sich an diese Reihenfolge. Es übernimmt die Schlüssel der Bank erst, wenn ein Mensch sie gegen ein frisches HPB geprüft hat. Ändert die Bank später ihre Schlüssel, stoppt der Abruf, bis jemand sie wieder prüft.

Was passiert bei einem Download?

Ein Download heisst in EBICS 3.0 BTD, und die BTF-Parameter sagen, welche Datei du willst. Für den Schweizer Tagesend-Kontoauszug camt.053 sind es diese:

Auftragsart   BTD
ServiceName   EOP        End of Period (hier: Tagesende)
Scope         CH         Swiss Payment Standards (CH und LI)
Container     ZIP
MsgName       camt.053   Version 08
Die BTF des Schweizer camt.053, so wie TILL sie anfragt. Das Attribut «version» ist freiwillig (SMPG Kapitel 5.4.1). Bis die Parallelphase am 14.11.2026 endet, bieten manche Banken camt.053 auch in der Version 04 an (die AKB führt sie bis November 2026).
Ein Download: Anfrage mit EOP, CH, ZIP und camt.053. Die Bank antwortet mit einem ZIP, oder mit 090005, wenn nichts Neues da ist, und dann endet der Austausch ohne Quittung. TILL speichert das ZIP in einem Commit, importiert aus den gespeicherten Bytes und sendet erst danach die Quittung mit Code 0. Scheitert der Commit, geht sofort Code 1 raus.

Die Bank antwortet mit einem ZIP. In der Schweiz und in Liechtenstein kommen camt.052, camt.053 und camt.054 immer als ZIP-Dateien. Gibt es nichts Neues, antwortet die Bank stattdessen mit dem Returncode 090005 (EBICS_NO_DOWNLOAD_DATA_AVAILABLE). TILL behandelt das als ruhigen Tag, nicht als Fehler.

Jetzt kommt der Teil, der entscheidet, ob ein Auszug verloren gehen kann. Der Client bestätigt einen Download mit einer Quittung, die die TransactionID der Bank trägt. TILL schreibt zuerst den Container und jede Datei darin in einem Commit in den eigenen Speicher. Dann importiert es die Auszüge aus diesen gespeicherten Bytes, und erst danach geht die Quittung raus: Code 0, weil der Commit gehalten hat. Scheitert der Commit, sendet TILL sofort Code 1. Bei einer negativen Quittung markiert die Bank die Daten nicht als abgeholt, darum bietet sie sie normalerweise wieder an.

Das ZIP liest TILL über sein zentrales Verzeichnis. Es prüft die Anzahl der Dateien, CRC-32 und Grösse jeder Datei und lehnt verschlüsselte oder ungewöhnliche Einträge ab.

Erst speichern, dann quittieren: Das ist die Regel von TILL. Die Spezifikation 2.5 definiert Code 0 als erfolgreichen Download samt Verarbeitung. TILL liest «Verarbeitung» als dauerhaftes Speichern: Code 0 geht raus, sobald der Commit hält, auch wenn ein Auszug danach nicht importiert werden kann, denn die gespeicherten Bytes werden beim nächsten Abruf erneut verarbeitet.

Was ändert sich in der Schweiz im November 2026?

In der Schweiz endet im November 2026 zweierlei, und beides wird gern verwechselt: die alten ISO-20022-Meldungsversionen und EBICS 2.5, dessen Enddatum jede Bank selbst festlegt. Stand 28.09.2026 sagen die Quellen:

DatumWasQuelle
14.11.2026Die Parallelphase endet. Unterstützt wird nur noch ISO 20022 Version 2019: pain.001.001.09 für Zahlungen, camt.05x.001.08 für Auszüge. Unstrukturierte Adressen werden nicht mehr angenommen.SIX-Factsheet für KMU vom 19.08.2025, ganzer Markt
14.11.2026Die Swiss Payment Standards 2026 treten in Kraft. Die verlängerte Unterstützung für pain.001.001.03 läuft bis November 2026.SIX zu ISO 20022, ganzer Markt
13.11.2026Die Übergangsfrist zu EBICS 3.0 endet, Version 2.5 wird nicht mehr unterstützt.Raiffeisen, nur Raiffeisen
November 2026Die heute genutzten EBICS-Versionen und die ISO-Meldungen der Version 2013 werden bis dann unterstützt. Meldungen der Version 2019 gibt es nur mit EBICS 3.0.AKB, nur AKB

SIX nennt für EBICS 2.5 selbst kein Kalenderdatum. Laut ihren Richtlinien unterstützt der Finanzplatz Version 2.5 offiziell «bis zum Ende der Parallelphase für SPS 2021». Dieses Ende legt das SIX-Factsheet auf den 14.11.2026. Jede Bank kündigt ihre eigene Abschaltung an (Raiffeisen: 13.11.2026, AKB: November 2026). Laut denselben Richtlinien verlangen die ISO-20022-Meldungen der Version 2019 EBICS 3.0. Praktisch heisst das: Wer auf EBICS 2.5 bleibt, kann camt.053.001.08 nicht abholen, und ab dem 14.11.2026 ist das die einzige Auszugsversion. Frag deine Bank nach ihrem eigenen Datum.

Was kann ein reiner Download-Client nicht?

Ein reiner Download-Client holt Dateien ab und sonst nichts, und der EBICS-Client von TILL ist so einer. Seine Auftragsarten sind HEV (fragt die Bank nach ihren EBICS-Versionen), INI, HIA, HPB und BTD, und die einzige Datei, die er holt, ist der camt.053-Auszug.

  • Er kann keine Zahlung unterschreiben. TILL erzeugt das A005-Paar, signiert damit das eigene Zertifikat und löscht den privaten Schlüssel, bevor irgendetwas gespeichert wird. Behalten werden nur die privaten Schlüssel von X002 und E002: zum Authentifizieren der Anfragen und zum Entschlüsseln der Downloads.
  • Er liefert nichts ein. TILL schreibt eine pain.001-Datei, und du lädst sie in deinem E-Banking hoch und gibst sie dort frei.
  • So behandelt EBICS selbst unsignierte Dateien: Fehlt das SignatureFlag, muss eine eingelieferte Datei ausserhalb des EBICS-Kanals freigegeben werden, etwa im E-Banking (SMPG Kapitel 4.2.3).
  • Er ruft nur auf Anfrage ab, per Knopfdruck oder auf ausdrücklichen Wunsch. Es gibt keinen geplanten Abruf, keinen Datumsbereich und kein camt.054.
  • Er kann den Vertrag nicht bei der Bank sperren. Gesperrt wird bei der Bank, mit der Auftragsart SPR oder zum Beispiel per Telefon (SMPG Kapitel 6.2).

Und TILL selbst ist Pre-Alpha. Der Code ist öffentlich unter MIT, aber noch nicht bereit für echte Bücher. Wogegen TILL schützt und wogegen nicht, steht auf der Seite Sicherheit. Wie das Hauptbuch selbst Doppelbuchungen und nachträgliche Änderungen abweist, zeigt MCP trifft Hauptbuch.

Vor dem EBICS-Vertrag: Fragen an deine Bank

Bevor du einen EBICS-Vertrag unterschreibst, stell deiner Bank diese Fragen. Sie gelten für jede Software, und sie sparen dir eine Runde Briefe:

  1. Bietet ihr für meinen Vertrag EBICS 3.0 (H005) an, und bis wann unterstützt ihr EBICS 2.5?
  2. Welches Unterschriftsverfahren und welche Schlüssellänge erwartet ihr: A005 oder A006, 2048 Bit?
  3. Welchen Hashwert vergleicht ihr auf dem Initialisierungsbrief, und braucht ihr den Brief überhaupt?
  4. Stehen eure eigenen Hashwerte in den Zugangsdaten, damit ich HPB dagegen prüfen kann?
  5. Welche BTF nutzt ihr für den Tagesend-Auszug, und ist camt.053.001.08 für meine Konten aufgeschaltet?
  6. Unterstützt ihr beim Download den Parameter DateRange?
  7. Wie sperre ich den Zugang, wenn ein Schlüssel verloren geht: mit SPR, per Telefon oder beides?
  8. Muss meine Software Einlieferungen unterschreiben, oder gebe ich Zahlungen im E-Banking frei?

Häufige Fragen

Ist EBICS in der Schweiz Pflicht?

Nein. In der Schweiz ist EBICS für Banken freiwillig, jede Bank entscheidet selbst, ob sie es anbietet. In Deutschland müssen Banken es seit Januar 2008 unterstützen. Die Schweizer Banken mit EBICS-Angebot unterstützen seit November 2021 die Version 3.0.

Was ist der Unterschied zwischen EBICS 2.5 und EBICS 3.0?

EBICS 3.0 führt die Ländervarianten zu einem Standard zusammen und bezeichnet jeden Auftrag mit BTF-Parametern statt mit nationalen Codes. Schlüssel werden als X.509-Zertifikate registriert. In der Schweiz verlangen die ISO-20022-Meldungen der Version 2019, ab dem 14.11.2026 die einzige Version, EBICS 3.0.

Was ist ein EBICS-Initialisierungsbrief?

Ein unterschriebener Brief mit den Hashwerten deiner Schlüssel, den du per Post an die Bank schickst. Die Bank vergleicht diese Werte mit den Schlüsseln, die online über INI und HIA kamen, und schaltet den Vertrag frei, wenn sie übereinstimmen. Der Brief ist ein zweiter Weg neben dem Online-Weg.

Was bedeutet der EBICS-Returncode 090005?

Er steht für EBICS_NO_DOWNLOAD_DATA_AVAILABLE: Die Bank hat für diesen Download nichts Neues. Das ist kein Fehler. TILL behandelt ihn als ruhigen Tag.

Brauche ich für EBICS 3.0 neue Schlüssel?

Nicht unbedingt. Laut den SIX-Richtlinien müssen Schlüssel aus einer älteren EBICS-Version nur dann neu mit X.509-Zertifikaten initialisiert werden, wenn sie kürzer als 2048 Bit sind. Wie deine Bank den Wechsel handhabt, erfährst du bei ihr.

Kann TILL über EBICS Zahlungen an meine Bank senden?

Nein. TILL lädt nur Auszüge herunter und löscht die private Hälfte seines Unterschriftsschlüssels, gleich nachdem es damit das eigene Zertifikat signiert hat und bevor etwas gespeichert wird. Darum kann es keinen Auftrag unterschreiben. Es schreibt eine pain.001-Datei, die du in deinem E-Banking hochlädst und freigibst.