Leitweg-ID: Aufbau, Prüfziffer und wie sie auf eine Stripe-Rechnung kommt
Von evoicely · Zuletzt geprüft am 20. Oktober 2026
Die Leitweg-ID ist die Adresse, die ein öffentlicher Auftraggeber Ihnen nennt, damit Ihre E-Rechnung bei der richtigen Stelle ankommt.
Sie gehört in die Käuferreferenz der Rechnung (Geschäftsbegriff BT-10, „Buyer reference“). Sie bekommen sie vom Auftraggeber, meist mit dem Auftrag; nachschlagen oder selbst bilden können Sie sie nicht.
Stripe hat dafür kein eigenes Feld. Hinterlegen Sie sie deshalb an jeder Rechnung als Metadatum, zum Beispiel unter dem Schlüssel leitweg_id.
Was die Leitweg-ID ist
Bund, Länder und Kommunen haben sich auf ein einheitliches Format geeinigt, mit dem elektronische Rechnungen an die öffentliche Verwaltung adressiert werden: die Leitweg-ID. Die Formatspezifikation pflegt die Koordinierungsstelle für IT-Standards (KoSIT) im Rahmen des Standards XRechnung. Die einzelnen Leitweg-IDs vergeben Bund und Länder in eigener Zuständigkeit (Formatspezifikation Leitweg-ID, Version 2.0.2, KoSIT).
In der XRechnung steht die Leitweg-ID im Feld BT-10 Buyer reference (Käuferreferenz). Die XRechnung verlangt BT-10 in jeder Rechnung (Regel BR-DE-15). Unternehmen als Rechnungsempfänger haben keine Leitweg-ID; bei ihnen tragen Sie in BT-10 eine vereinbarte Referenz ein, etwa eine Bestell- oder Kundennummer (Spezifikation XRechnung 3.0.2).
Wann Sie eine Leitweg-ID brauchen
- Rechnungen an Bundesbehörden. Nach der E-Rechnungsverordnung des Bundes muss jede E-Rechnung neben den umsatzsteuerlichen Pflichtangaben mindestens eine Leitweg-ID, die Bankverbindung, die Zahlungsbedingungen und die E-Mail-Adresse des Rechnungsstellers enthalten (§ 5 ERechV).
- Rechnungen an Länder und Kommunen. Auch viele Länder verlangen die Leitweg-ID. Manche Länder und Kommunen verwenden stattdessen eine eigene Referenz, die dann in dasselbe Feld gehört (Spezifikation XRechnung).
- Peppol. Wenn Sie eine Rechnung im Format Peppol BIS Billing 3.0 an eine deutsche Behörde senden, muss BT-10 die Leitweg-ID enthalten (KoSIT-Leitfaden zu Peppol-Identifikatoren in Deutschland, auf Englisch).
Diese Vorgaben für Rechnungen an die öffentliche Verwaltung gelten neben den umsatzsteuerlichen Regeln zur E-Rechnung, nicht an ihrer Stelle. Unter die umsatzsteuerliche E-Rechnungspflicht fallen Rechnungen an die Verwaltung nur, wenn diese unternehmerisch handelt; zur elektronischen Rechnung verpflichtet sind Lieferanten trotzdem, etwa seit dem 27. November 2020 nach der ERechV. Zwischen beiden Vorschriften gibt es kein Rangverhältnis. Schränkt die eine ein, was die andere erlaubt, ist die strengere maßgeblich (BMF-Schreiben vom 15. Oktober 2026, Rn. 24–25).
Aufbau der Leitweg-ID
Eine Leitweg-ID besteht aus drei Bestandteilen, getrennt durch Bindestriche, und ist insgesamt 5 bis 46 Zeichen lang:
| Bestandteil | Pflicht | Format |
|---|---|---|
| Grobadressierung | Ja | 2 bis 12 Ziffern, abgeleitet aus dem Regionalschlüssel: Kennzahl des Bundeslandes bzw. des Bundes (2 Stellen, 99 für den Bund), optional gefolgt von Regierungsbezirk, Landkreis und Gemeindeverband/Gemeindekennzahl. |
| Feinadressierung | Nein | Bis zu 30 Buchstaben A–Z und Ziffern, Groß- und Kleinschreibung spielt keine Rolle. Wie sie genutzt wird, legen Bund und Länder jeweils selbst fest. |
| Prüfziffer | Ja | 2 Ziffern nach ISO/IEC 7064, Verfahren Modulo 97-10, wie bei der IBAN. |
Das Beispiel aus der Formatspezifikation lautet 04011000-1234512345-06: Grobadressierung 04011000 (die 04 steht für Bremen), Feinadressierung 1234512345, Prüfziffer 06.
Wir verwenden es auf dieser Seite zur Veranschaulichung; es ist keine Leitweg-ID, an die Sie Rechnungen stellen können.
Prüfziffer kontrollieren
Mit der Prüfziffer fallen Tippfehler auf, bevor eine Rechnung zurückkommt. Entfernen Sie die Bindestriche, ersetzen Sie Buchstaben durch Zahlen (A = 10 … Z = 35), und der Rest der Division durch 97 muss 1 sein:
def leitweg_id_gueltig(lid: str) -> bool:
ziffern = "".join(str(int(c, 36)) for c in lid.replace("-", "").upper())
return int(ziffern) % 97 == 1
leitweg_id_gueltig("04011000-1234512345-06") # True
leitweg_id_gueltig("04011000-1234512345-07") # False
Eine stimmige Prüfziffer bedeutet nur, dass die ID formal korrekt ist, nicht, dass es sie gibt oder dass sie zu Ihrem Auftraggeber gehört.
Woher Sie die Leitweg-ID bekommen
Vom Auftraggeber. Laut Formatspezifikation übermittelt er sie in der Regel im konkreten Auftrag. Fehlt sie, fragen Sie bei der Stelle nach, die den Auftrag erteilt hat. Bilden Sie keine Leitweg-ID selbst nach den Formatregeln: Die Feinadressierung vergibt die Verwaltung, sie lässt sich nicht ableiten.
Verwechseln Sie sie nicht mit einer Peppol-ID. Behörden im Peppol-Netz nutzen das Schema der Leitweg-ID (Code 0204) auch für ihre Peppol-Teilnehmer-ID. Die Peppol-ID, an die die Nachricht geht, und die Leitweg-ID in BT-10 müssen aber nicht übereinstimmen.
Das Beispiel der KoSIT: Peppol-ID 0204:04000000-FHBXLAND-82, Leitweg-ID 04000000-900X44X06-60 (KoSIT-Leitfaden zu Peppol-Identifikatoren, oben verlinkt).
Die Leitweg-ID auf einer Stripe-Rechnung
Das Invoice-Objekt von Stripe hat kein Feld für die Käuferreferenz. Es gibt zwei Stellen, an denen Sie sie unterbringen können:
metadata: Schlüssel-Wert-Paare für Ihre eigenen Systeme, für den Kunden nicht sichtbar (bis zu 50 Schlüssel, Werte bis zu 500 Zeichen). Hier kann ein Konverter sie auslesen.custom_fields: bis zu 4 Name-Wert-Paare, die Stripe auf das Rechnungs-PDF druckt. Im Dashboard fügen Sie sie im Rechnungseditor unter den erweiterten Optionen hinzu. Nutzen Sie sie, wenn die Leitweg-ID auch auf dem PDF stehen soll.
(Stripe: Metadata, Update an invoice, Invoicing im Dashboard)
Über die API
Setzen Sie sie beim Anlegen der Rechnung, zusammen mit einem Zusatzfeld für das PDF:
curl https://api.stripe.com/v1/invoices \
-u "$STRIPE_SECRET_KEY:" \
-d customer=cus_123 \
-d "metadata[leitweg_id]=04011000-1234512345-06" \
-d "custom_fields[0][name]=Leitweg-ID" \
-d "custom_fields[0][value]=04011000-1234512345-06"
Oder ergänzen Sie sie an einer bestehenden Rechnung:
curl https://api.stripe.com/v1/invoices/in_123 \
-u "$STRIPE_SECRET_KEY:" \
-d "metadata[leitweg_id]=04011000-1234512345-06"
Nach dem Finalisieren sind die meisten Felder einer Rechnung gesperrt, die Metadaten einer offenen Rechnung lassen sich aber weiterhin ändern (How invoicing works). Zusatzfelder setzen Sie, solange die Rechnung noch ein Entwurf ist, damit sie auf dem PDF erscheinen.
Abonnements und IDs am Kunden
Stripe kopiert Metadaten nicht von einem Objekt zum anderen. Eine leitweg_id am Customer landet nicht auf dessen Rechnungen.
Die Metadaten eines Abonnements werden zwar übernommen, aber nach parent.subscription_details.metadata, nicht in die eigenen metadata der Rechnung.
Ein Tool, das nur die Metadaten der Rechnung selbst liest, sieht keins von beiden. Verwenden Sie so ein Tool, kopieren Sie die Leitweg-ID an jede Rechnung:
Stripe hält eine Verlängerungsrechnung nach dem Ereignis invoice.created etwa eine Stunde lang als Entwurf, genug Zeit, um sie per Webhook zu setzen
(Stripe: Metadata, Subscription invoices).
Die Feinadressierung kann auf eine bestimmte Stelle innerhalb einer Behörde verweisen. Übernehmen Sie die Leitweg-ID deshalb aus jedem Auftrag, statt von einer ID pro Kunde auszugehen.
Wie es im XML aussieht
So sieht die Käuferreferenz in einer XRechnung (UBL-Syntax) und in einer ZUGFeRD-Datei (CII-Syntax) aus, erzeugt aus fiktiven Daten mit demselben Code, den evoicely verwendet. Beide vollständigen Dateien bestehen die Prüfung mit den offiziellen Regeln (KoSIT-Validator mit dem XRechnung-Regelwerk bzw. den Regeln der EN 16931); Sie können eigene Dateien mit unserem kostenlosen Validator prüfen.
<!-- XRechnung, UBL -->
<cbc:BuyerReference>04011000-1234512345-06</cbc:BuyerReference>
<!-- ZUGFeRD / CII, innerhalb von rsm:SupplyChainTradeTransaction -->
<ram:ApplicableHeaderTradeAgreement>
<ram:BuyerReference>04011000-1234512345-06</ram:BuyerReference>
...
</ram:ApplicableHeaderTradeAgreement>
Der Konverter von evoicely liest leitweg_id und greift auf buyer_reference zurück, wenn ein Geschäftskunde Ihnen eine andere Referenz genannt hat.
Er sucht zuerst in den Metadaten der Rechnung, dann in denen des Abonnements (parent.subscription_details.metadata), dann in denen des Customers. Eine einmal am Customer hinterlegte Leitweg-ID genügt also.
Ist nichts gesetzt, verwendet er Ihre Stripe-Rechnungsnummer. Das erfüllt BR-DE-15, leitet eine Rechnung innerhalb einer Behörde aber nicht weiter. Setzen Sie bei öffentlichen Auftraggebern deshalb immer leitweg_id.
Bei Gutschriften nimmt er die Metadaten der Rechnung, die gutgeschrieben wird.
Wenn evoicely die E-Rechnung für Sie per E-Mail zustellt, hängt es die XRechnung an, sobald BT-10 eine Leitweg-ID mit gültiger Prüfziffer enthält, sonst das ZUGFeRD-PDF.
Weitere Leitfäden
- XRechnung oder ZUGFeRD?: welches Format öffentliche Auftraggeber und Geschäftskunden brauchen.
- ZUGFeRD-Profile erklärt: welche Profile in Deutschland als E-Rechnung gelten.
- E-Rechnungspflicht in Deutschland für Stripe-Nutzer: wer ab wann E-Rechnungen ausstellen muss.
- Eine Stripe-Rechnung auf die EN 16931 abbilden (auf Englisch): alle übrigen Felder und was Stripe nicht speichert.
Was evoicely dabei übernimmt
evoicely macht aus Ihren Stripe-Rechnungen XRechnung- und ZUGFeRD-Dateien mit der Leitweg-ID an der richtigen Stelle, gelesen aus den oben beschriebenen Metadaten, und prüft jede Datei mit den offiziellen Regeln. Jetzt starten, kostenlos für 10 E-Rechnungen im Monat.
Dies sind allgemeine Informationen, keine Rechts- oder Steuerberatung. Klären Sie mit Ihrer Steuerberatung, was für Ihr Unternehmen gilt.