M0090 BZSt-Bestätigungsverfahren
Qualifizierte Bestätigung ausländischer USt-IdNr. nach § 18e UStG – direkt in Ihrem Gambio-Shop
1. Wofür Sie dieses Modul brauchen
Wenn Sie an ein Unternehmen im EU-Ausland liefern oder leisten, dürfen Sie die Rechnung nur dann ohne deutsche Umsatzsteuer stellen, wenn die Umsatzsteuer-Identifikationsnummer Ihres Kunden gültig ist – und wenn Sie das nachweisen können. Stellt sich später heraus, dass die Nummer nicht gültig war, schuldet in aller Regel Ihr Unternehmen die Steuer.
Genau dafür gibt es beim Bundeszentralamt für Steuern (BZSt) das Bestätigungsverfahren nach § 18e UStG. Das Modul M0090 führt dieses Verfahren direkt aus Ihrem Shop heraus durch: Es fragt die Nummer Ihres Kunden zusammen mit Firmenname und Anschrift beim BZSt an, speichert das Ergebnis dauerhaft an der Bestellung und macht daraus auf Wunsch einen ausdruckbaren Nachweis.
Sie müssen dafür nichts abtippen und keine fremde Webseite aufrufen. Sie öffnen die Bestellung – die Prüfung ist bereits erfolgt.
2. Voraussetzungen
- Ihre eigene deutsche USt-IdNr. muss im Shop hinterlegt sein, unter Shop-Einstellungen → Land/Steuer → USt-IdNr. Sie beginnt mit „DE“. Ohne diese Nummer darf das BZSt Ihnen keine Auskunft geben, und das Modul zeigt Ihnen einen entsprechenden Hinweis.
- Der Shop muss den Server des BZSt erreichen können.
- Das BZSt beantwortet Anfragen rund um die Uhr. Zwischen 23:00 und 5:00 Uhr sind allerdings Wartungsarbeiten möglich, dann kann eine Antwort länger dauern oder ausbleiben. Das Modul meldet Ihnen das und Sie wiederholen die Anfrage einfach später.
3. Modul einschalten und einrichten
Sie finden die Einstellungen im Backend unter Xycons-Module → Kundenkonto / Setups. Dort gibt es einen Reiter mit dem Modultitel „BZST: USt-IdNr. Bestätigungsverfahren“.
| Einstellung | Bedeutung |
|---|---|
| Modulstatus | Schaltet das Modul ein oder aus. Im Auslieferungszustand ist es ausgeschaltet. Ist es aus, findet keinerlei Prüfung statt und im Shop ändert sich nichts. |
| Ihr Lizenzschlüssel | Der Schlüssel, den Sie beim Kauf erhalten haben. Darunter wird Ihnen Ihre aktuelle Lizenz angezeigt. |
| Bestätigungsmitteilung | Fordert beim BZSt zusätzlich eine schriftliche Bestätigung an. Ob das Amt sie tatsächlich versendet, entscheidet das BZSt. |
| Dialog „Bestätigung anfordern“ | Bestimmt, ob Ihnen bei Bestellungen, zu denen bereits eine Rechnung erstellt wurde, die Schaltfläche für eine erneute Anfrage angeboten wird. |
| Manuelle Anforderung | Blendet die Schaltfläche für eine neue Anfrage grundsätzlich immer ein – auch wenn bereits eine gültige Bestätigung vorliegt. |
| Druck auf Rechnung | Druckt das letzte Prüfergebnis und die zugehörige Rechnungspflichtangabe mit auf die Rechnung. |
| Namenssyntax Rohdatenprotokolle | Legt fest, wie die ausdruckbaren Protokolle heißen sollen. Siehe Kapitel 6. |
| Prüfung während Registrierung | Prüft die USt-IdNr. bereits, während sich ein Firmenkunde im Shop registriert. Siehe Kapitel 9. |
| B2B-Kontendegradierung | Legt neue Kundenkonten, deren Firmendaten das BZSt nicht bestätigt hat, zunächst in einer anderen Kundengruppe an. |
| B2B-Degradierungsgruppe | Die Kundengruppe, die dabei verwendet wird. Sinnvollerweise eine Gruppe mit Steuerausweis, damit der Kunde vorerst brutto bestellt. |
4. Die Prüfung in der Bestellung
Öffnen Sie eine Bestellung im Backend. Unterhalb der Widerrufsbelehrung erscheint der Bereich „BZST: USt-IdNr. Bestätigungsverfahren nach §18e UStG“.
Was dort passiert, hängt vom Kunden ab:
- Firmenkunde aus dem EU-Ausland mit USt-IdNr.: Das Modul stellt die Anfrage beim BZSt, sobald Sie die Bestellung zum ersten Mal öffnen, und speichert das Ergebnis. Beim nächsten Öffnen wird nicht erneut angefragt – Sie sehen das gespeicherte Ergebnis.
- Kunde aus Deutschland: Es erscheint der Hinweis, dass das Verfahren für dieses Land nicht notwendig ist.
- Kunde außerhalb der EU: Es findet keine Anfrage statt, stattdessen wird eine Rechnungspflichtangabe hinterlegt. Siehe Kapitel 8.
Wollen Sie eine erneute Bestätigung – etwa weil Sie zwischenzeitlich die Firmendaten korrigiert haben – verwenden Sie die Schaltfläche „Neue Bestätigung anfordern“. Jede Anfrage bleibt erhalten; Sie bekommen also eine lückenlose Historie und überschreiben nichts.
5. Das Ergebnis lesen
Die Tabelle zeigt jede Anfrage mit Datum, Uhrzeit, geprüfter Nummer, dem Antwortcode des Amtes und einer Bewertung Ihrer vier Adressangaben. Diese Bewertung ist der eigentlich wertvolle Teil:
| Buchstabe | Bedeutung |
|---|---|
| A | Ihre Angabe stimmt mit den Daten der ausländischen Finanzverwaltung überein. |
| B | Ihre Angabe stimmt nicht überein. |
| C | Die Angabe wurde nicht angefragt (sie fehlte in der Bestellung). |
| D | Der EU-Mitgliedstaat hat dazu keine Auskunft gegeben. |
Beispiel:
Darunter steht der letzte Status im Klartext – bei einer gültigen Nummer in Grün, sonst in Rot. Ein „viermal A“ bei gültiger Nummer ist das Ergebnis, das Sie sich wünschen: Nummer gültig und Anschrift bestätigt.
6. Nachweis drucken
In jeder Zeile der Tabelle finden Sie rechts ein Drucker-Symbol. Ein Klick erzeugt ein PDF mit allen Angaben zu dieser einen Anfrage – Anfragenummer, Kunde, Bestellung, geprüfte Nummer, übermittelte Daten, das Ergebnis und die unveränderte Originalantwort des Amtes. Das PDF öffnet sich in einem neuen Fenster und lässt sich speichern oder ablegen.
Wie diese Dateien heißen sollen, bestimmen Sie in den Einstellungen unter Namenssyntax Rohdatenprotokolle. Verwenden Sie dafür Platzhalter in geschweiften Klammern:
| Platzhalter | wird ersetzt durch |
|---|---|
| {RequestID} | die laufende Nummer der Anfrage |
| {Date} | das Datum der Anfrage |
| {Time} | die Uhrzeit der Anfrage |
| {UStID} | die geprüfte Umsatzsteuer-Identifikationsnummer |
| {CustomerID} | die Kundennummer |
| {Name} | den Firmennamen des Kunden |
Ein Beispiel: bzst_{Date}.{Time}.{UStID}.{CustomerID}.{Name}.pdf
7. Angaben auf der Rechnung
Ist Druck auf Rechnung eingeschaltet, erscheint auf der Rechnung zusätzlich:
- das Datum der Bestätigungsanfrage,
- die geprüfte USt-IdNr. mit dem Ergebnis „gültig“ oder „ungültig“,
- die vier Bewertungsbuchstaben mit Legende,
- die Rechnungspflichtangabe – bei EU-Kunden der Hinweis auf die Steuerschuldnerschaft des Leistungsempfängers (Reverse-Charge), bei Kunden außerhalb der EU der Hinweis auf den Ort der sonstigen Leistung.
Die Texte dieser Pflichtangaben können Sie an Ihre Formulierungen anpassen: Backend → Inhalte → Texte anpassen, dort im Bereich des Moduls.
8. Kunden außerhalb der EU
Für Kunden außerhalb der EU gibt es kein Bestätigungsverfahren – dort gibt es nichts zu prüfen. Das Modul hinterlegt in diesem Fall stattdessen die passende Rechnungspflichtangabe zum Ort der sonstigen Leistung, mit dem Land des Kunden eingesetzt. Über die Schaltfläche „Rechnungspflichtangabe hinzufügen“ können Sie diese Angabe auch nachträglich zu einer Bestellung erzeugen.
9. Prüfung schon bei der Registrierung
Optional prüft das Modul die USt-IdNr. bereits, während sich ein Firmenkunde registriert – also bevor überhaupt eine Bestellung entsteht. Schalten Sie dazu Prüfung während Registrierung ein.
Der Kunde trägt seine USt-IdNr. und sein Land ein, und noch im Formular wird geprüft. Passt etwas nicht, öffnet sich ein Hinweisfenster mit einer verständlichen Erklärung. Läuft alles glatt, bekommt der Kunde gar nichts davon mit.
Die Texte dieser Hinweisfenster werden bei der Installation als Inhaltsseiten angelegt und lassen sich im Backend unter Inhalte frei bearbeiten. Sie können darin folgende Platzhalter verwenden, die beim Anzeigen automatisch ersetzt werden:
| Platzhalter | wird ersetzt durch |
|---|---|
| {$DAT_USTID} | die vom Kunden eingegebene USt-IdNr. |
| {$DAT_NAME} | den eingegebenen Firmennamen |
| {$DAT_STR}, {$DAT_PLZ}, {$DAT_ORT} | die eingegebene Anschrift |
| {$DAT_COUNTRY} | das Land laut Adresse |
| {$DAT_COUNTRY_ID} | das Land laut USt-IdNr. |
| {$ERG_NAME}, {$ERG_STR}, {$ERG_PLZ}, {$ERG_ORT} | die Bewertungsbuchstaben des Amtes |
Zusätzlich können Sie festlegen, dass Konten mit nicht bestätigten Firmendaten zunächst in einer anderen Kundengruppe angelegt werden (B2B-Kontendegradierung). Der Kunde kann dann bestellen – aber vorerst mit Steuerausweis, bis Sie die Sache geklärt haben. Jede Prüfung wird dabei zum Kundenkonto protokolliert.
10. Vor einem Shopupdate
Ein Shopupdate verändert die Grundlage, auf der dieses Modul arbeitet. Module passen sich einer neuen Shopversion nicht von selbst an – sie müssen dafür freigegeben und aktualisiert werden. Nehmen Sie sich deshalb vor jedem Shopupdate zwei Minuten für diese beiden Punkte:
Erst prüfen, dann aktualisieren
Schauen Sie vorher auf www.xycons.de nach, ob dieses Modul für die neue Shopversion bereits freigegeben ist. Ist es das noch nicht, warten Sie mit dem Shopupdate, bis die Freigabe vorliegt. Das erspart Ihnen einen Shop, in dem die Prüfung plötzlich nicht mehr läuft – und uns beiden die Suche nach der Ursache.
Beim Update immer alles Aktuelle einspielen
Aktualisieren Sie zusammen mit dem Shop auch:
- die Modulumgebung von Xycons und
- alle eingesetzten Xycons-Module in ihrer jeweils neuesten Version.
Beides gehört zusammen. Eine neue Shopversion mit alter Modulumgebung oder alten Modulversionen ist die häufigste Ursache für Fehler nach einem Update.
11. Häufige Fragen
Muss ich vor jeder Rechnung neu prüfen?
Das Gesetz verlangt eine Bestätigung „zeitnah“ zum Umsatz, und bei laufenden Geschäftsbeziehungen in regelmäßigen Abständen. Wie oft das für Sie sinnvoll ist, klären Sie am besten mit Ihrer Steuerberatung. Das Modul prüft automatisch bei der ersten Bestellansicht und darüber hinaus immer dann, wenn Sie es anfordern.
Warum steht bei einer gültigen Nummer trotzdem ein „B“?
Weil die Nummer stimmt, die Anschriftsangabe aber nicht. Das ist eine eigenständige Aussage und für Sie die wichtigere Information. Siehe Kapitel 5.
Ich bekomme die Meldung, meine eigene USt-IdNr. fehle oder sei nicht deutsch.
Dann ist im Shop unter Shop-Einstellungen → Land/Steuer → USt-IdNr. keine oder eine ausländische Nummer hinterlegt. Nur ein deutsches Unternehmen darf dieses Verfahren nutzen.
Nichts passiert – die Anfrage wird nicht gestellt.
Prüfen Sie, ob in der Bestellung überhaupt eine USt-IdNr. hinterlegt ist und ob deren Länderkennung zum Land der Rechnungsadresse passt. Kommt gar keine Antwort, kann auch eine Wartung beim BZSt der Grund sein – wiederholen Sie die Anfrage dann etwas später.
Der Kunde hat eine deutsche USt-IdNr., sitzt aber im EU-Ausland.
Deutsche Nummern kann und darf das Verfahren nicht prüfen. Klären Sie in diesem Fall, welche Nummer für die Lieferung maßgeblich ist.
Kann ich alte Prüfungen löschen?
Bewusst nicht per Klick. Die Historie ist Ihr Nachweis – sie soll vollständig bleiben.
Was passiert, wenn ich das Modul ausschalte?
Dann ruht es vollständig: keine Anfragen, keine Anzeige in der Bestellung, keine Angaben auf der Rechnung, keine Prüfung bei der Registrierung. Die bereits gespeicherten Ergebnisse bleiben erhalten und stehen nach dem Einschalten wieder zur Verfügung.
12. Wenn etwas nicht funktioniert
- „Die Schnittstelle ist derzeit nicht erreichbar“ – das Amt antwortet grundsätzlich rund um die Uhr, zwischen 23:00 und 5:00 Uhr wird aber gewartet. Wiederholen Sie die Anfrage später; das gespeicherte Ergebnis geht dabei nicht verloren.
- „Der EU-Mitgliedstaat meldet eine Störung“ – dann liegt es nicht an Ihrem Shop und nicht am Bundeszentralamt, sondern am Register des jeweiligen Landes. Das Amt kann nur weitergeben, was von dort beantwortet wird. Das Modul erspart Ihnen in diesem Fall die sinnlose Anfrage und nennt Ihnen das betroffene Land. Solche Störungen dauern meist einige Stunden – versuchen Sie es später noch einmal.
- Es erscheint gar kein Bereich in der Bestellung – prüfen Sie, ob der Modulstatus auf „Eingeschaltet“ steht und ob Ihr Lizenzschlüssel eingetragen ist.
- Das Ergebnis erscheint nicht auf der Rechnung – die Rechnung übernimmt den Stand zum Zeitpunkt ihrer Erstellung. Erzeugen Sie die Rechnung neu, nachdem die Bestätigung vorliegt.
- Der Nachweisdruck öffnet sich nicht – vermutlich blockiert Ihr Browser das neue Fenster. Erlauben Sie Pop-ups für Ihre Shop-Adresse.
Kommen Sie damit nicht weiter, melden Sie sich bei uns – am besten mit der Bestellnummer und einem Bildschirmfoto des angezeigten Bereichs.

