EPC-QR-Code

Ein EPC-QR-Code ist ein vom European Payments Council (EPC) standardisierter QR-Code, der alle Daten für eine SEPA-Überweisung enthält. Mit einem EPC-QR-Code können Überweisungen mittels einer Banking-App auf dem Handy sehr einfach durchgeführt werden, indem der QR-Code eingescannt und die dann im Handy dargestellten Überweisungsdaten bestätigt werden. Der manuelle Aufwand der Eingabe der Daten entfällt ebenso wie das Risiko der Eingabe von fehlerhaften Daten (etwa durch Tippfehler). Der EPC-QR-Code wird in Deutschland von kommerziellen Dienstleistern als GiroCode beworben.

EPC-QR-Code für Überweisung auslesen

Eine Mobile-Banking-App auf einem Smartphone oder Tablet als auch ein Onlinebankingprogramm auf einem Notebook oder Desktoprechner decodiert den EPC-QR-Code und füllt mit diesen Daten ein Online-Überweisungsformular aus. Der EPC-QR-Code initiiert aber nicht die Ausführung der Überweisung. Ein Nutzer kann daher die in das Online-Überweisungsformular übertragenen Daten überprüfen und anschließend die Überweisung veranlassen, abändern oder auch abbrechen. Ist ein entsprechendes Gerät vorhanden, kann der EPC-QR-Code eine Ausfüllhilfe für Online-Überweisungsformulare sein und erspart damit das u. U. fehlerträchtige manuelle Ausfüllen. Es gibt erste Versuche mit öffentlich aufgestellten Automaten, an denen man Rechnungen, sofern sie einen QR-Code enthalten, per Bareinzahlung bedienen kann.[1]

2D-Code-Lesegerät

Auch auf Geräten mit Microsoft Windows kann der EPC-QR-Code ausgelesen werden. Da der EPC-QR-Code ein normaler QR-Code ist, gehört er zu den 2D-Codes. Mit einem 2D-Code-Lesegerät lassen sich die Daten z. B. in eine Textdatei übertragen oder kann auch ohne externes Lesegerät per Software aus einer Bilddatei oder einem Screenshot ausgelesen werden. Die Übertragung ausgelesener Daten in Überweisungsformulare erfolgt dann zwar meist nur durch kopieren und einfügen manuell, reduziert aber auch hier potentielle Fehlerursachen.

US-Tastatur mit QWERTY

2D-Code-Lesegeräte, oft als USB-Handgerät genutzt, werden in der Regel im Windows-Gerätemanager unter Human Interface Devices (HID) und bei den Tastaturen angezeigt. Das erzeugte Ergebnis eines Lesegerätes entspricht der Grundfunktion einer Tastatur, da es die gescannten Daten an anderer Stelle eingibt. Bei der Übertragung (Eingabe) ausgelesener Dateninhalte spielt daher ähnlich wie bei Tastaturen die Zuordnung eines sprachlich passenden Tastaturlayouts eine wichtige Rolle. In der Grundkonfiguration verwenden 2D-Code-Lesegeräte oft ein englisches Layout, Stichwort QWERTY. Ist der 2D-Code-Leser nicht mit der passenden Sprache konfiguriert, kann das zu falschen Ergebnissen führen. So kann z. B. aus einem Z ein Y werden usw. Gerätehersteller bieten zur Umstellung auf andere Sprachen – z. B. auf das deutsche QWERTZ, spezielle Barcodes an, die mit dem 2D-Code-Lesegeräte einmalig eingescannt werden.[2] Diese Zuordnung erfolgt nur auf das 2D-Code-Lesegerät und hat keinen Einfluss auf die normale Tastatur.

QR-Code-Software kann u. U. Codes lesen und erstellen oder auch nur eines davon. Jedoch bietet nicht jede Software die hier als auch unter „EPC-QR-Code für Überweisung erstellen“ als erforderlich benannten Konfigurationsbedarfe.

EPC-QR-Code Dateninhalt

Der Inhalt eines EPC-QR-Codes für SEPA-Zahlungen ist ein mehrzeiliger Text nach definiertem Format. Die folgende Tabelle stellt das im EPC-QR-Code gespeicherte Schema der Daten sowie den verbindlichen als auch optionalen Inhalt dar, mit dem eine Überweisung durchgeführt werden kann.

Die meisten der in diesem Abschnitt aufgeführten Angaben entstammen dem EPC069-12 V3.1 mit dem Titel „Quick Response Code - Guidelines to Enable the Data Capture for the Initiation of a SEPA Credit Transfer“.[3]

Im Abschnitt EPC-QR-Code für Überweisung erstellen ist dargelegt, dass die Anwendung des Schemas relativ einfach gelingen kann.

Zeile orig. Bezeichner Beispielwert Beschreibung
1 Service Tag BCD Service Tag

Pflichtangabe

fester Wert = BCD

Hinweis: Jede Zeile muss mit einer Zeilenschaltung enden. Die Ausnahme bildet Zeile 12, die keine Zeilenschaltung am Ende verwenden darf. Die nach dem Wert BCD verwendete Zeilenschaltung kann LF oder CrLf sein, muss aber über alle Zeilen hinweg einheitlich erfolgen. Eine nicht genutzte Zeile bedarf dennoch eine Zeilenschaltung, damit die nachfolgende Zeile existieren kann. Auf dieser Basis gründet die verpflichtende Ausnahme der Zeile 12, da weitere Zeilen nicht definiert sind.

Zudem gilt: Wird das Schema z. B. nur bis Zeile 10 genutzt, dann hat es dort zu enden → siehe EPC121-16, Abs. 2.2 Data elements[4]

Weitere Angaben sind im Abschnitt EPC-QR-Code für Überweisung erstellen verfügbar.

Technische Erläuterung zur Zeilenschaltung → siehe Artikel Steuerzeichen.

2 Version 002 Beteiligte Region im Zahlungsverkehr

Pflichtangabe

Werte
001 = EWR mit Nicht-EWR-Ländern
002 = nur EWR

Der EWR ist respektiv die European Economic Area (EEA), demnach sind Nicht-EWR-Länder non-EEA countries.


Es findet Anwendung des Wertes

001

  • wenn im Zahlungsverkehr Teilnehmer auch aus Nicht-EWR-Ländern stammen
  • mit obligatorischer Angabe der BIC in Zeile 5

002

  • wenn im Zahlungsverkehr die Teilnehmer einzig aus EWR-Ländern stammen
  • mit optionaler Angabe der BIC in Zeile 5 (technisch nicht erforderlich)


Am SEPA teilnehmende Länder und Regionen sind über den folgenden Link einsehbar.[5]

3 Character set 2 Zeichenkodierung

Pflichtangabe

Werte


Unter ISO 8859-1 sind einige Unterschiede erläutert.


Character set: Ergänzende Regeln und Pflichten zum lateinischen Zeichensatz → siehe EPC121-16, Abs. 1.4[4]

Weitere Angaben sind im Abschnitt EPC-QR-Code für Überweisung erstellen verfügbar.

4 Identification SCT Identifikations-Code der anzuwendenden Überweisungsvariante

Pflichtangabe

Verfügbare Werte
SCT = SEPA Credit Transfer
INST = SEPA Instant Credit Transfer → siehe EPC121-16, Abs. 2.1.1[4]

Pflichttermine zur Ermöglichung von SEPA Instant Credit Transfer durch die Zahlungsdienstleister

innerhalb des EWR

  • Zahlung empfangen ab 9. Januar 2025
  • Zahlung senden ab 9. Oktober 2025

außerhalb des EWR

  • Zahlung empfangen von EUR-INST ab 9. Januar 2027
  • Zahlung senden von EUR-INST ab 9. Juli 2027

SCT bleibt weiterhin nutzbar.

Überprüfungspflichten ab 9. Oktober 2025 → Hinweis am Tabellenende

5 BIC BFSWDE33BER BIC = Business Identifier Code der Empfängerbank

Die BIC ist

  • eine Pflichtangabe, wenn Zeile 2 den Wert 001 hat
  • optional, wenn Zeile 2 den Wert 002 hat

Wert = definierter Code, der der Zahlungsempfängerbank zugeordnet ist

6 Name Wikimedia Foerdergesellschaft Name des Zahlungsempfängers

Pflichtangabe

Wert = max. 70 Zeichen (Text)

Ab dem 9. Oktober 2025 muss der Zahlungsempfängername dem Namen des adressierten Kontoinhabers entsprechen.

Auch wenn es eine Pflichtangabe ist, so hatte es bis zum 8. Oktober 2025 keinerlei Relevanz. Eine auferlegte Validierung durch die beauftragten Zahlungsdienstleister gab es zuvor nicht.

Überprüfungspflichten ab 9. Oktober 2025 → Hinweis am Tabellenende

7 IBAN DE12345678901234567890 IBAN, im Sprachgebrauch auch Kontonummer, die einem Kontoinhaber zugeordnet ist

Pflichtangabe

Wert = IBAN des adressierten Zahlungsempfängers

Auch wenn es eine Pflichtangabe ist, so hatte es bis zum 8. Oktober 2025 keinerlei Relevanz. Eine auferlegte Validierung durch die beauftragten Zahlungsdienstleister gab es zuvor nicht. Solange die IBAN existierte, wurde unabhängig vom verwendeten Empfängernamen die Zahlungsanweisung durchgeführt.

Überprüfungspflichten ab 9. Oktober 2025 → Hinweis am Tabellenende

8 Amount EUR123.45 Zahlungsbetrag

optional, aber empfohlen

Format = „EUR#.##“
Wert für #.## = von 0.01 bis 999999999.99

Als Dezimaltrennzeichen ist der Punkt zu verwenden.

9 Purpose BENE Definierte SEPA Purpose-Codes für den Zweck einer Zahlung

optional

Wert = max. vierstelliger Textschlüssel, dem DTA-Verfahren folgend

existente Beispielwerte[6]

  • BENE = Arbeitslosengeld
  • DEPT = Einzahlung
  • GDDS = Einkauf/Verkauf von Ware
  • MTUP = Handy aufladen
  • PENS = Renten
  • SALA = Gehalt
  • TRAD = Handelsgeschäft

Damit können Banken, Finanzämter und andere Stellen die Verhältnisse identifizieren. Ein Dispositionskredit wird auch mit Hilfe dieser Codes geregelt.

10 Remittance (Reference) RF18 5390 0754 7034 Referenz

optional, aber empfohlen

Wert = strukturierter Zeichen-Code, max. 25 Zeichen gem. ISO 11649 RF Creditor Reference

Regel beachten: Wenn Zeile 10 verwendet wird, muss Zeile 11 leer bleiben.

11 Remittance (Text) Spende fuer Wikipedia Verwendungszweck

optional

Wert = unstrukturierter Text, max. 140 Zeichen

Regel beachten: Wenn Zeile 11 verwendet wird, muss Zeile 10 leer bleiben.

12 Information Informationen zwischen Zahlungsempfänger und Urheber der Zahlung

optional

Wert = max. 70 Zeichen

Hinweis: Da dies das letzte Feld ist und zwar unabhängig davon, ob es leer ist oder nicht, darf hier keine Zeilenschaltung am Ende verwendet werden.


Überprüfungspflichten und Echtzeitüberweisungen in Euro ab 9. Oktober 2025[7]

Mit Einführung der SEPA INST Überweisung innerhalb des EWR (Zahlung senden) muss ab demselben Datum der Name und die IBAN eines SEPA-Zahlungsempfängers bei einer jeden Zahlungsanweisung verbindlich dem realen Namen des empfangenden Kontoinhabers sowie seiner IBAN entsprechen. Dies dient zum Schutz vor Betrug und vor menschlichen Fehlern. Stimmen die Kriterien nicht überein, werden SEPA-Überweisung wie auch Daueraufträge nicht mehr ausgeführt.

Kontoinhaber sind daher angehalten, bereits vor dem Stichtag ihre gespeicherten oder notierten Bankverbindungen sowie Daueraufträge validiert bzw. überprüft zu haben. SEPA-Überweisungen, die an den Schorsch gehen, der aber Georg heist, laufen Gefahr, dann nicht mehr ausgeführt zu werden. Ebenso sind geänderte Firmennamen ein Problem – Stichwort alter Dauerauftrag, was schnell zu einem Zahlungsverzug führen kann. Namenswechsel durch standesamtliche Änderungen, veraltete Inhalte von seit langem genutzten EPC-QR-Codes – all das, was bis dato noch funktionierte, kann ab Oktober 2025 zu Verzögerungen im Zahlungsverkehr führen. Die vormals tolerierten Fehler waren praktisch, aber ebenso eine Option zur Erlangung eines potentiellen Vermögenschadens.

Die Verordnung (EU) 2024/886 nimmt daher die Zahlungsdienstleister in die Pflicht, dass sie auch also solche handeln und sodann eine Überprüfung vor der Ausführung einer beauftragten Überweisung oder Dauerauftrags durchführen und bei erkannten Diskrepanzen die Zahlungsanweisung nicht mehr ausführen dürfen. Macht der Dienstleister während der regelmäßigen Überprüfung Fehler und es entsteht dadurch ein finanzieller Schaden wegen falscher Buchungen, dann haftet ausschließlich der Zahlungsdienstleister.

Sollte also u. U. eine echt aussehende Zahlungsaufforderung eingehen, die beispielsweise an die namentlich bekannten lokalen Stadtwerke gehen soll, aber die Zahlungsaufforderung betrügerisch an eine nicht den Stadtwerken gehörige IBAN adressiert ist, dann wird eine solche schadhafte Überweisung aufgrund der Überprüfungspflicht der Zahlungsdienstleister nicht mehr ausgeführt.

EPC-QR-Code für Überweisung erstellen

Zu den Informationen aus der im Artikelabschnitt EPC-QR-Code Dateninhalt dargestellten Tabelle sind auch die Informationen aus diesem Abschnitt zu beachten. Am Ende dieses Abschnitts wird die Erstellung eines QR-Codes auf Basis der benannten Regeln erläutert.

Das folgende Beispiel zeigt, dass die in einem QR-Code gespeicherten Daten in ausgelesener Form dem Schema der benannten Tabelle entsprechen und dass z. B. ungenutzte Zeilen einzig versehen mit einer Zeilenschaltung dafür Sorge tragen, dass die darauf noch folgenden Werte an der für sie vorgesehenen Stelle platziert werden können.

Hinweis: die hier im Artikel verwendeten Daten stellen keine verlässliche Quelle für reale Spendenzahlungen dar. Informationen für Spenden finden sich auf wikimedia.de[8]

EPC-QR-Code (Beispiel).
BCD
001
1
SCT
BFSWDE33BER
Wikimedia Foerdergesellschaft
DE12345678901234567890
EUR123.45


Spende fuer Wikipedia


Zeichenkodierung
Im Artikelabschnitt EPC-QR-Code Dateninhalt werden in der dargestellten Tabelle für die Zeile 3 die möglichen Werte 1–8 für das verwendete „Character set“ (Zeichenkodierung) angegeben. So steht z. B. der Wert 2 für ISO 8859-1. Ein QR-Code-Generator muss eine der acht zulässigen Zeichenkodierungen beherrschen. Um den Wert der Zeile 3 festlegen zu können, muss im QR-Code-Generator ersichtlich oder einstellbar sein, welches „Character set“ der Generator bei Erstellung des Codes verwendet.

Im regionalen Kontext betrachtet würde z. B. „ISO 8859-7 Griechisch“ für eine QR-Code-Nutzung in Deutschland nur in den seltensten Fällen zweckmäßig sein.

Zeichensatz
EPC121-16 gibt die begrenzt zulässigen Zeichen und Sonderzeichen an und regelt den Umgang mit dem Schrägstrich.

Character set: Regeln und Pflichten zum lateinischen Zeichensatz → Alle Details in EPC121-16, Abs. 1.4[4]

Zeilenschaltung
Als Zeilenschaltung sind erlaubt line feed (LF) oder carriage return line feed (CRLF), jedoch nur eine der beiden Arten innerhalb eines Codes gleichzeitig. Jede Zeile bedarf eine Zeilenschaltung. In der letzten Zeile 12 ist eine Zeilenschaltung unzulässig.

EPC121-16, Abs. 2.2 Data elements[4] gibt zudem an: Dem letzten ausgefüllten Element (Zeile) folgt kein Zeichen oder Elementtrennzeichen (Zeilenschaltung). Wird das Schema z. B. nur bis Zeile 10 genutzt, dann hat es dort zu enden.

Kriterien des QR-Codes
Die Erstellung des QR-Codes ist zulässig bis maximal Version 13 sowie mit einer Fehlerkorrektur auf dem Level „M“ (Medium) mit 15 %. Die Verwendung einer anderen Fehlertoleranz wie L = 7 %, Q = 25 % oder H = 30 % ist nicht zulässig. Der EPC-QR-Code nutzt letztlich einen normalen QR-Code der den benannten Kriterien entsprechen muss und dessen Dateninhalt den vorgegebenen Regeln zu folgen hat.

Die Größe eines QR-Codes wird mit einer Versionsangabe beschrieben. Je mehr Daten in einem QR-Code gespeichert werden, umso höher wird automatisch die verwendete QR-Code Version und damit auch seine Dimension. Generelle Informationen zur Größe bzw. Version und der Fehlerkorrektur sind hier zu finden → Version[9] und Fehlerkorrektur[10]

Ein optimaler Generator zeigt daher in der Vorschau an, welche Version die Erstellung erzeugen wird.

EPC-QR-Code für eine SEPA-Überweisung erstellen.

QR-Code für SEPA-Überweisung erstellen
Ein QR-Code-Generator ist im Abschnitt Weblinks aufgeführt.

Im Einzelanwendungsfall können z. B. in einer Textdatei (.txt) die benötigten Zeilen entsprechend den dargelegten Vorgaben erzeugt werden und als Zeilenschaltung wird die Eingabetaste (Enter) benutzt. Die in der Textdatei erstellten Zeilen werden dann kopiert und in einen den Kriterien entsprechend konfigurierten QR-Code-Generator eingefügt, der daraus eine Bilddatei erzeugt.

Der Zahlungsbetrag in Zeile 8 und der Verwendungszweck in Zeile 11 sind optional. Lässt man beispielsweise diese beiden Zeilen leer, so kann ein einmalig erstellter EPC-QR-Code universell genutzt werden, da er die Übertragung des Namens des Zahlungsempfängers sowie dessen zugehörige IBAN in ein Online-Überweisungsformular sicherstellt und dann nur noch der Zahlbetrag sowie der Verwendungszweck manuell ausgefüllt werden muss.

Geschichte

2013[11] hat das European Payments Council (EPC) das Dokument „Quick Response Code: Guidelines to Enable Data Capture for the Initiation of a Credit Transfer“[12] veröffentlicht.

Österreichische Banken haben dies schnell übernommen und ihre QR-Codes mit dem Text „Zahlen mit Code“ auf der rechten Seite des Codes gekennzeichnet.[13] 2015 folgte Finnland[14], 2016 die Niederlande[15] und Belgien.[15]

Situation in der Schweiz

Schweiz: QR-Rechnung seit 2020

Die in der Schweiz verfügbare QR-Rechnung enthält im Zahlteil textbasierte Information über Zahlungsbetrag, Sender, Empfänger usf. sowie den Swiss QR Code. Die Textinformation aus dem Zahlteil ist ebenso im Swiss QR Code enthalten. Die schweizer QR-Rechnung legt einem Zahlungspflichtigen bereits vor der Nutzung des Swiss QR Codes die darin enthaltenen Daten für die Überweisung offen, was der EPC-QR-Code alleine nicht leisten kann, da es dazu noch immer keine begleitende rechtliche Vorgabe gibt.

Der Swiss QR Code folgt einem Schema, das mehr Informationen enthält als der EPC-QR-Code (z. B. vollständige Adressen, verschiedene Referenztypen).[16] Die Schweiz nimmt am SEPA teil.

„QR Code“ (ohne Bindestrich)

  • „QR Code“ ist eine geschützte Marke von DENSO WAVE INCORPORATED.[17]

QR-Code Generator

  • Download – „Portable QR-Code Generator“, executable: QRCodeGen.jar (Freeware)[18]
    → erfordert: Oracle „Java SE Runtime Environment“, mind. jre-6uxx (kein server-jre, kein jdk)
  • Download – Oracle „Java SE Runtime Environment“ jre-8u431 (für div. OS)[19]
  • Oracle Java (Archive) – Java SE Runtime Environment[20]

Deutschland

Österreich

Niederlande

Einzelnachweise

  1. David Torcasso: Rechnungen kann man nun am SBB-Billettautomaten zahlen. In: handelszeitung.ch. 3. Februar 2019, abgerufen am 5. Februar 2019.
  2. Beispiel Firma ZEBRA: Barcode zur Umstellung eines 2D-Code-Lesers auf ein deutsches Tastaturlayout. In: zebra.com. 23. Dezember 2023, abgerufen am 29. Juni 2024.
  3. EPC069-12 V3.1 Quick Response Code - Guidelines to Enable the Data Capture for the Initiation of an SCT. 19. März 2024, abgerufen am 1. Juli 2024 (englisch).
  4. a b c d e SEPA Instant Credit Transfer Scheme Customer-to-PSP Implementation Guidelines EPC121-16 / 2023 Version 1.0. (PDF) In: European Payments Council (EPC). Abgerufen am 6. Mai 2024.
  5. EPC List of SEPA Scheme Countries. Abgerufen am 8. Mai 2024.
  6. SEPA Purpose-Codes – windata WIKI. Abgerufen am 9. Juli 2021.
  7. EU Verordnung 2024/886 im Hinblick auf Echtzeitüberweisungen in Euro EUR-Lex. Abgerufen am 13. Mai 2024.
  8. Spenden für Wikipedia und andere Wikimedia-Projekte. Abgerufen am 7. Mai 2024.
  9. QR-Code Größe erklärt in QR-Code Versionen. In: qrcode.com. Abgerufen am 1. Juli 2024 (englisch).
  10. QR-Code Fehlertoleranz erklärt in QR-Code Fehlerkorrektur. In: qrcode.com. Abgerufen am 1. Juli 2024 (englisch).
  11. Quick Response Code Guidelines to enable data capture for the initiation of a sepa credit transfer. (englisch): „In February 2013, the European Payments Council (EPC) published the document 'Quick Response Code: Guidelines to Enable Data Capture for the Initiation of a Credit Transfer'“
  12. Quick Response Code: Guidelines to Enable Data Capture for the Initiation of a Credit Transfer. (englisch).
  13. Werbung der Payment Services Austria GmbH (PSA) – QR-Code „Zahlen mit Code“. In: psa.at. Abgerufen am 19. September 2023.
  14. Guidelines from the FFI (Memento vom 15. August 2017 im Internet Archive)
  15. a b Werbung der Scan2Pay – General information of the EPC QR code usage in the EU
  16. SIX: Schweizer Implementierungsguideline QR-Rechnung. (PDF) Abgerufen am 20. April 2021.
  17. Detailangaben zum Markenschutz – „QR Code“ ist eine geschützte Marke von DENSO WAVE INCORPORATED. In: qrcode.com. Abgerufen am 1. Juli 2024 (englisch).
  18. Download – Portable QR-Code Generator. In: heise.de. 26. Juni 2024, abgerufen am 26. Juni 2024. von Stefan Ganzer
  19. Download – Oracle „Java SE Runtime Environment“ jre-8u431 (für div. OS). In: java.com. 31. Juli 2024, abgerufen am 31. Juli 2024.
  20. Oracle Java (Archive) – Java SE Runtime Environment. In: oracle.com. 26. Juni 2024, abgerufen am 26. Juni 2024 (englisch).