EPC069-12 Payload Aufbau
Der EPC069-12 Payload ist ein zeilenbasiertes Textformat mit exakt 11 Zeilen. Jede Zeile hat eine feste Bedeutung – Leerzeilen sind erlaubt, wenn das Feld optional ist:
BCD ← Service Tag
002 ← Version
1 ← Character Set (1=UTF-8)
SCT ← Identification Code (SEPA Credit Transfer)
← BIC (optional, leer lassen)
Max Mustermann ← Name (max 70 Zeichen)
DE89370400440532013000 ← IBAN
EUR99.99 ← Betrag (EUR + Betrag, z.B. EUR99.99)
← Purpose Code (leer lassen)
← Remittance Info (strukturiert, leer lassen)
Rechnung 2026-001 ← Verwendungszweck (max 140 Zeichen)Versionen 001 vs. 002
Version 001 unterstützt BIC-Pflicht, Version 002 macht BIC optional. Empfohlen: Version 002 für neue Implementierungen. Die meisten Banking-Apps akzeptieren beide Versionen. Bei Version 002 kann die BIC-Zeile leer bleiben, da das SEPA-Netzwerk die Bank anhand der IBAN identifiziert.
Fehlerkorrekturlevel
EPC069-12 empfiehlt Level M (15 % Wiederherstellung) für digitale Anzeige auf Bildschirmen. Für Druck auf Rechnungen oder Plakaten empfiehlt sich Level H (30 % Wiederherstellung) für bessere Lesbarkeit – auch wenn der QR-Code leicht beschädigt oder verschmutzt ist.
JavaScript Implementierungsbeispiel
Diese Funktion erzeugt einen validen EPC069-12 Payload, der direkt mit einer QR-Code-Bibliothek (z. B. qrcode oder qr-code-styling) gerendert werden kann:
function buildEPCPayload({ name, iban, bic = '', amount, purpose = '' }) {
const amountStr = amount ? 'EUR' + Number(amount).toFixed(2) : '';
return [
'BCD', // Service Tag
'002', // Version
'1', // Character Set (UTF-8)
'SCT', // SEPA Credit Transfer
bic.trim(), // BIC (optional)
name.trim().slice(0, 70),
iban.replace(/\s+/g, '').toUpperCase(),
amountStr, // EUR + amount or empty
'', // Purpose Code (leer)
'', // Structured Remittance Info (leer)
purpose.trim().slice(0, 140)
].join('\n');
}Häufige Fragen zum EPC QR Code
Was ist der Unterschied zwischen EPC QR Code, GiroCode und SEPA QR Code?
Alle bezeichnen dasselbe: Der EPC QR Code ist der technische Name, GiroCode die deutsche Markenbezeichnung, SEPA QR Code der funktionale Begriff. Der zugrundeliegende Standard ist EPC069-12.
Welche Version des EPC069-12 Standards sollte ich verwenden?
Version 002 (BIC optional), da neuere Banken keine BIC mehr benötigen. Version 002 ist rückwärtskompatibel und wird von allen modernen Banking-Apps unterstützt.
Was ist der maximale Betrag in einem EPC QR Code?
Es gibt keine technische Begrenzung im EPC069-12 Standard selbst. SEPA-Überweisungen haben jedoch ein Maximum von 999.999.999,99 EUR.
Wie integriere ich den EPC QR Code Generator in meine Website?
Via API unter /api/generate oder über den URL-Parameter-Ansatz. Alle Details findest du in der API-Dokumentation unter /api-docs.