Wie die Rechnungsdaten eines Käufers in einem QR-Code stehen, damit ein Kassensystem sie ohne Abtippen übernehmen kann.
Ab dem 1. Januar 2027 müssen inländische Unternehmen mit mehr als 800.000 Euro Vorjahresumsatz ihre B2B-Rechnungen als E-Rechnung ausstellen, ab dem 1. Januar 2028 alle übrigen. Rechnungen bis 250 Euro bleiben davon ausgenommen. Die Pflicht gilt auch für Bargeschäfte an der Kasse.
Damit ein Betrieb überhaupt eine gültige E-Rechnung erzeugen kann, braucht er die Stammdaten seines Kunden. An einer Kasse ist das ein Problem, weil niemand Firmenname, Anschrift, Steuernummer und Zustelladresse abtippen will, während zehn Leute in der Schlange stehen.
Der Rechnungspass löst genau diesen einen Schritt. Der Käufer erzeugt einmalig einen QR-Code mit seinen Rechnungsdaten und zeigt ihn vor. Das Kassensystem liest ihn und hat alle Angaben, die es für die Käuferseite einer Rechnung nach EN 16931 braucht.
Ein Rechnungspass ist eine einzelne Zeichenkette in UTF-8. Sie besteht aus Segmenten, die durch einen senkrechten Strich | getrennt sind. Das erste Segment ist die Kennung, alle weiteren sind Felder in der Form TAG:Wert.
RPASS:1|TAG:Wert|TAG:Wert|TAG:Wert
RPASS: gefolgt von der Hauptversion als Dezimalzahl. In dieser Fassung also RPASS:1.Zwei Zeichen haben im Wert eine Sonderbedeutung und werden mit einem Rückstrich maskiert.
| Zeichen im Wert | Geschrieben als |
|---|---|
| | | \| |
| \ | \\ |
Die Spalte rechts nennt das entsprechende Feld der Norm EN 16931, damit die Abbildung auf XRechnung und ZUGFeRD eindeutig ist.
| Tag | Bedeutung | Status | Max | EN 16931 |
|---|---|---|---|---|
| FIR | Firmenname des Käufers, wie er auf der Rechnung stehen soll | Pflicht | 200 | BT-44 |
| STR | Straße und Hausnummer | Pflicht | 150 | BT-50 |
| ZUS | Adresszusatz, etwa Gebäude oder Postfach | optional | 150 | BT-51 |
| PLZ | Postleitzahl | Pflicht | 20 | BT-53 |
| ORT | Ort | Pflicht | 100 | BT-52 |
| REG | Region oder Bundesland, nur wo im Zielland üblich | optional | 100 | BT-54 |
| LND | Ländercode nach ISO 3166-1 alpha-2, etwa DE | Pflicht | 2 | BT-55 |
| EAD | Elektronische Adresse, an die die Rechnung zugestellt wird | Pflicht | 254 | BT-49 |
| EAS | Schema der elektronischen Adresse nach EAS-Codeliste. EM für E-Mail, 0204 für Leitweg-ID | Pflicht | 4 | BT-49-1 |
| UST | Umsatzsteuer-Identifikationsnummer, ohne Leerzeichen | bedingt | 20 | BT-48 |
| HRN | Registernummer, etwa Handelsregisternummer | optional | 50 | BT-47 |
| KRF | Käuferreferenz. Bei öffentlichen Auftraggebern die Leitweg-ID | bedingt | 50 | BT-10 |
| BST | Bestellreferenz oder Kostenstelle, die auf der Rechnung erscheinen soll | optional | 50 | BT-13 |
| ANS | Ansprechpartner in der Buchhaltung | optional | 100 | BT-56 |
| TEL | Telefonnummer des Ansprechpartners | optional | 50 | BT-57 |
UST ist Pflicht, sobald der Käufer umsatzsteuerlich als Unternehmer auftritt. Praktisch also fast immer, weil genau darum geht es beim Rechnungspass. Weggelassen werden darf es nur, wenn der Käufer keine USt-IdNr. besitzt. Dann sollte stattdessen HRN gesetzt sein.KRF ist Pflicht, wenn der Käufer ein öffentlicher Auftraggeber ist, der eine Leitweg-ID verlangt.Ein Busunternehmen, das an einer Tankstelle oder in einer Gaststätte einkauft. Der Datensatz ist 153 Zeichen lang und passt damit in einen QR-Code der Version 9, also 53 Module je Kante.
RPASS:1|FIR:Reisedienst Halbach GmbH|STR:Buswerk 14|PLZ:03046|ORT:Cottbus|LND:DE|UST:DE271884903|EAD:rechnung@halbach-reisen.de|EAS:EM|ANS:Sabine Halbach
Dieselbe Firma mit Adresszusatz und Kostenstelle, und ein öffentlicher Auftraggeber mit Leitweg-ID:
RPASS:1|FIR:Stadtverwaltung Cottbus|STR:Neumarkt 5|PLZ:03046|ORT:Cottbus|LND:DE|EAD:991-12345-67|EAS:0204|KRF:991-12345-67|BST:Kostenstelle 4711
RPASS: beginnt.| oder \ enthalten.| Merkmal | Vorgabe |
|---|---|
| Symbologie | QR-Code nach ISO/IEC 18004, Byte-Modus, UTF-8 |
| Fehlerkorrektur | Stufe M. Auf Papier, das im Handschuhfach liegt, Stufe Q |
| Typische Größe | Bei 130 bis 250 Zeichen Version 8 bis 11, also 49 bis 61 Module je Kante. Version 11 fasst 251 Zeichen |
| Ruhezone | Mindestens 4 Module ringsum, unbedruckt |
| Druck | Modulgröße mindestens 0,5 mm. Bei 57 Modulen also mindestens 35 mm Kantenlänge einschließlich Ruhezone |
| Bildschirm | Mindestens 250 Pixel Kantenlänge, Helligkeit hochdrehen, kein Dunkelmodus hinter dem Code |
| Farben | Dunkel auf hell, Kontrastverhältnis mindestens 4 zu 1. Keine Logos im Code |
Viele Handscanner an Kassen geben den gelesenen Text als Tastatureingabe aus. Solche Geräte haben oft eine Tastaturbelegung eingestellt, die Sonderzeichen vertauscht. Wer einen solchen Scanner anbindet, prüft vor dem Einsatz, ob der senkrechte Strich und die deutschen Umlaute korrekt ankommen. Im Zweifel ist ein Kamerascanner oder eine direkte Anbindung der bessere Weg.
Version 1 ist nicht signiert. Wer einen Rechnungspass erzeugt, kann beliebige Daten hineinschreiben. Das ist bewusst so und kein Rückschritt, denn heute diktiert derselbe Kunde dieselben Daten mündlich an der Kasse, und auch das prüft niemand.
Die Verantwortung bleibt, wo sie ohnehin liegt. Der Verkäufer stellt die Rechnung aus und muss die Angaben seines Kunden im üblichen Rahmen prüfen. Deshalb schreibt diese Spezifikation vor, dass ein Leser die Daten anzeigt und bestätigen lässt, und empfiehlt die Abfrage der USt-IdNr. beim Bestätigungsverfahren.
Beides wurde für Version 1 bewusst zurückgestellt, weil es Infrastruktur voraussetzt, die es heute nicht gibt, und weil ein Format, das erst mit einer Vertrauensstelle funktioniert, sich nicht verbreitet.
ANS oder TEL gesetzt sind, stehen auch personenbezogene Daten im Code. Diese Felder sind deshalb optional.Diese Fassung ist ein Entwurf. Wer ein Kassensystem baut und etwas vermisst, sollte sich melden, bevor Version 1 festgeschrieben wird. Genau dafür ist der Entwurf da.
| Fassung | Datum | Änderung |
|---|---|---|
| 1.0 Entwurf | 19.08.2026 | Erste Fassung |