GiroCode-Generator
Ein GiroCode ist das Quadrat auf der Rechnung, das eine Banking-App scannt und daraus die Überweisung ausfüllt: Empfänger, IBAN, Betrag und Verwendungszweck. Niemand tippt eine IBAN ab.
Alles passiert in diesem Browser-Tab. Die Kontodaten werden nirgendwohin gesendet, es gibt keinen Upload und keine Anmeldung, und sobald der erste Code zu sehen ist, funktioniert die Seite auch offline.
Was ein GiroCode ist
GiroCode ist der deutsche Name des EPC-QR-Codes, den der European Payments Council in EPC069-12 festgelegt hat. Er enthält eine SEPA-Überweisung als höchstens zwölf Zeilen reinen Text — Service-Tag, Version, Zeichensatz und Überweisungsart, dann BIC, Empfänger, IBAN, Betrag, einen Purpose-Code, den Verwendungszweck und einen Hinweis für den Zahler, von denen nur Empfänger und IBAN Pflicht sind — und sonst nichts. Kein Link, kein Tracking, kein Konto, das jemand auslesen könnte: Die scannende App füllt nur ihr Überweisungsformular aus.
Es ist ausschließlich eine Überweisung. Ein GiroCode kann keine Lastschrift auslösen, keine zweite Währung tragen und kein Geld einziehen, ohne dass der Zahler die Überweisung in seiner eigenen Banking-App bestätigt.
Dieser Generator schreibt Version 002 in UTF-8 mit Fehlerkorrektur-Stufe M, der Stufe, die EPC069-12 für jeden Code festlegt.
Was hineingehört
Der Standard setzt jedem Feld eine Grenze und dem ganzen Code 331 Bytes. Der Generator prüft das beim Tippen.
| Feld | Grenze | Wofür |
|---|---|---|
| Empfänger | 70 Zeichen, erforderlich | Der Kontoinhaber, wie die Bank ihn führt — nicht ein Geschäftsname, den die Bank nicht kennt. |
| IBAN | Erforderlich | Wird auf die Länge des Landes und gegen die Prüfziffer geprüft; zwei vertauschte Ziffern fallen hier auf und nicht erst beim Zahler. |
| BIC | 8 oder 11 Zeichen, optional | Seit Version 002 optional, aber weiterhin nötig, wenn die Bank des Empfängers in einem SEPA-Land außerhalb des EWR sitzt, etwa in der Schweiz oder im Vereinigten Königreich. |
| Betrag | 0,01 bis 999.999.999,99 Euro, optional | Für eine Spende oder einen offenen Saldo leer lassen; dann trägt der Zahler den Betrag ein. |
| Verwendungszweck | 140 Zeichen, optional | Wofür gezahlt wird. Kurz halten: Ein Umlaut kostet zwei der 331 Bytes. |
Eine Rechnung — oder alle
Diese Seite ist für den gelegentlichen Code. Wenn die Rechnungen aus Ihrem eigenen System kommen, gehört der Code in die Vorlage, wo er aus den Daten jedes Dokuments entsteht. Das ist der Helper epcQr, der dieselben Felder nimmt. Einen zu langen Text kürzt er auf die Grenze des Standards, die Prüfziffer einer IBAN prüft er aber nicht; prüfen Sie Kontodaten also dort, wo sie eingegeben werden, so wie diese Seite. In jeder Vorlagensprache:
<img alt="GiroCode" src="{{ epcQr({
name: company.name,
iban: company.iban,
amount: invoice.total,
text: 'Rechnung ' ~ invoice.number
}, { size: 140 }) }}"><img alt="GiroCode" src="{{ company.iban | epcQr: name: company.name, amount: invoice.total, text: invoice.reference, size: 140 }}"><img alt="GiroCode" src="{{epcQr name=company.name iban=company.iban amount=invoice.total text=invoice.reference size=140}}">Formfeed rendert diese Vorlage mit einem API-Aufruf zum PDF — aus Ihrem Backend, einer Tabelle, einer Automatisierung oder einem KI-Agenten. Der Free-Tarif deckt 100 Dokumente im Monat ab, ohne Karte.
- Alle Helper, mit einem Beispiel je Vorlagensprache →
- Eine vollständige deutsche Rechnung mit GiroCode →
Aus dem Blog
- GiroCode auf der Rechnung: der Standard und die Fallstricke →
Was in einem GiroCode (EPC-QR-Code) steht, Feld für Feld nach EPC069-12, welche Grenzen gelten — und warum so viele erzeugte Codes an einer Prüfziffer, einem Komma oder einem Umlaut scheitern.
Fragen
- Verlässt irgendetwas meinen Browser?
- Nein. Der QR-Code entsteht durch JavaScript auf dieser Seite: Empfänger, IBAN und Betrag bleiben im Tab, werden nirgendwohin gesendet und nirgends gespeichert. Sobald der erste Code zu sehen ist, können Sie das Netz abschalten und weitere Codes erzeugen.
- Ist das kostenlos, und darf ich die Codes gewerblich nutzen?
- Beides ja. Es sind gewöhnliche EPC-QR-Codes; darauf liegt keine Lizenz, und hier versieht sie nichts mit einem Wasserzeichen.
- Welche Apps lesen ihn?
- Die Banking-Apps der Sparkassen, der Volks- und Raiffeisenbanken, der großen Privatbanken und der meisten Direktbanken, dazu die österreichischen und schweizerischen, die das Format unterstützen. Weigert sich eine App, liegt es fast immer an der IBAN oder an einem Betrag außerhalb des erlaubten Bereichs — beides weist diese Seite vorher ab.
- Kann ich ein Logo in die Mitte setzen?
- Hier nicht. Das Format sieht kein Bild vor, und die Mitte zu überdecken verlässt sich darauf, dass die Fehlerkorrektur genug Reserve hat — bei Stufe M hat sie die womöglich nicht. Drucken Sie ihn schlicht.
- Ist das dasselbe wie ZUGFeRD oder eine E-Rechnung?
- Nein. Ein GiroCode hilft einem Menschen beim Bezahlen; ZUGFeRD und XRechnung legen die Rechnung selbst maschinenlesbar für die Buchhaltung des Empfängers bei. Sie lösen verschiedene Hälften derselben Seite und passen zusammen auf eine Rechnung.
Heute mit dem Rendern beginnen
Der kostenlose Plan enthält 100 Einheiten im Monat und kostenlose Testrenderings. Wechseln Sie den Plan, wenn Sie mehr brauchen.