# 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.
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.
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. 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“.
Im Abschnitt EPC-QR-Code für Überweisung erstellen ist dargelegt, dass die Anwendung des Schemas relativ einfach gelingen kann.
| Zeile | orig. Bezeichner | orig. Bezeichner | Beispielwert | Beschreibung |
| 1 | Service Tag | 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 Weitere Angaben sind im Abschnitt EPC-QR-Code für Überweisung erstellen verfügbar. Technische Erläuterung zur Zeilenschaltung → siehe Artikel Steuerzeichen. |
| 2 | Version | 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. |
| 3 | Character set | Character set | 2 | Zeichenkodierung Pflichtangabe Werte 1 = UTF-8 2 = ISO 8859-1 Latin-1, Westeuropäisch 3 = ISO 8859-2 Latin 2, Mitteleuropäisch 4 = ISO 8859-4 Latin 4, Nordeuropäisch 5 = ISO 8859-5 Kyrillisch 6 = ISO 8859-7 Griechisch 7 = ISO 8859-10 Latin-6, Nordisch 8 = ISO 8859-15 Latin-9, Westeuropäisch 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 Weitere Angaben sind im Abschnitt EPC-QR-Code für Überweisung erstellen verfügbar. |
| 4 | Identification | 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 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 | 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 | 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 | 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 | 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 | Purpose | BENE | Definierte SEPA Purpose-Codes für den Zweck einer Zahlung optional Wert = max. vierstelliger Textschlüssel, dem DTA-Verfahren folgend existente Beispielwerte 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) | 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) | 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 | 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
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
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
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 einer Zeilenschaltung. In der letzten Zeile 12 ist eine Zeilenschaltung unzulässig.
EPC121-16, Abs. 2.2 Data elements 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 und Fehlerkorrektur
Ein optimaler Generator zeigt daher in der Vorschau an, welche Version die Erstellung erzeugen wird.
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 hat das European Payments Council (EPC) das Dokument „Quick Response Code: Guidelines to Enable Data Capture for the Initiation of a Credit Transfer“ 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. 2015 folgte Finnland, 2016 die Niederlande und Belgien.

## Situation in der Schweiz

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). Die Schweiz nimmt am SEPA teil.