Bundeszentralamt für Steuern

Hinweis zur Verwendung von Cookies

Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden. Weitere Informationen zum Datenschutz erhalten Sie über den folgenden Link: Datenschutz

Identifikationsnummern

Weitere Informationen zur Schnittstelle

Allgemein

Die nachfolgenden Informationen richten sich insbesondere an interessierte Personen mit Programmierkenntnissen.

Die Implementierung der Schnittstelle ist in unterschiedlichen Programmiersprachen und auf unterschiedlichen Systemplattformen möglich. Der Transport der Daten erfolgt mit dem sicheren Übertragungsprotokoll HTTPS (TLS 1.2) und die Darstellung der übertragenen Daten geschieht in der Extensible Markup Language (XML). Weitere Informationen erhalten Sie auf der XML-RPC Homepage.

Die Anfragen (Requests) und Antworten (Responses) werden jeweils in Echtzeit an den entsprechenden EU-Mitgliedstaat geschickt. Die Aufbereitung der Anfragen erfolgt ebenfalls in Echtzeit. Es handelt sich um eine synchrone Kommunikation. Das heißt, dass nach jeder Anfrage sofort eine Antwort generiert wird. Es werden nur Einzelabfragen verarbeitet. Diese werden nacheinander abgearbeitet. Jede Anfrage erfordert eine Antwort.

Hier finden Sie Informationen zu:

Schnittstelle Aufruf

Nachfolgend finden Sie die für den Aufruf notwendigen Parameter:

Server-URL:https://evatr.bff-online.de/
Funktion mit Parametern:  evatrRPC(UstId_1, UstId_2, Firmenname, Ort, PLZ, Strasse)

Unabhängig von der Art der Bestätigung (einfach oder qualifiziert) sind immer alle Parameter anzugeben.
Welche Parameter für welche Bestätigung mit Werten zu übergeben sind, entnehmen Sie bitte der folgenden Tabelle:

ParameterDatentypCase
Sensitive
Beschreibung einfache
Bestätigung
qualifizierte
Bestätigung
qualifizierte
Bestätigung
PflichtPflichtOptional
UstId_1StringjaIhre deutsche USt-IdNr.XX 
UstId_2StringjaAnzufragende ausländische USt-IdNr.XX 
FirmennameStringneinName der anzufragenden Firma einschl. Rechtsform X 
OrtStringneinOrt der anzufragenden Firma X 
PLZStringneinPostleitzahl der anzufragenden Firma  X
StrasseStringneinStrasse und Hausnummer der anzufragenden Firma  X

HTTPS - Aufruf

(Bei diesen Beispielen wird kein gültiges Ergebnis produziert!)

Beispielsyntax für eine einfache Bestätigungsanfrage:

https://evatr.bff-online.de/evatrRPC?UstId_1=DE123456789&UstId_2=AB1234567890&Firmenname=&Ort=&PLZ=&Strasse=

Beispielsyntax für eine qualifizierte Bestätigungsanfrage mit Anforderung einer Bestätigungsmitteilung:

https://evatr.bff-online.de/evatrRPC?UstId_1=DE123456789&UstId_2=AB1234567890&Firmenname=Firmenname einschl. Rechtsform&Ort=Ort der Firma&PLZ=12345&Strasse=Strasse der Firma


Bei gewünschter SSL-Verschlüsselung ist das Hypertext Transfer Protocol Secure (HTTPS) zu verwenden.

Antwort - Aufbau

DatumDas Datum der Anfrage (Format: tt.mm.jjjj)
UhrzeitUhrzeit der Anfrage (Format: hh:mm:ss)
ErrorCodeFehlernummer der Anfrage (Siehe Übersicht ErrorCodes)
UstId_1Ihre deutsche USt-IdNr.
UstId_2Angefragte ausländische USt-IdNr.
FirmennameDer von Ihnen angefragte Firmenname
OrtDer von Ihnen angefragte Ort der Firma
PLZDie von Ihnen angefragte Postleitzahl der Firma
StrasseDie von Ihnen angefragte Strasse der Firma

Werte für die Parameter Erg_Name, Erg_Ort, Erg_PLZ und Erg_StrFolgende Werte sind als Ergebnis möglich:

  • A = stimmt überein
  • B = stimmt nicht überein
  • C = nicht angefragt
  • D = vom EU-Mitgliedsstaat nicht mitgeteilt
Erg_NameErgebnis für den angefragten Namen der Firma
Erg_OrtErgebnis für den angefragten Ort der Firma
Erg_PLZErgebnis für die angefragte Postleitzahl der Firma
Erg_StrErgebnis für die angefragte Strasse der Firma
Gueltig_ab

Wird nur beim ErrorCode 203 bzw. 204 angegeben

Beginn der Gütigkeit der ausländischen USt-IdNr (Format: tt.mm.jjjj)

Gueltig_bis

Wird nur beim ErrorCode 204 angegeben

Ende der Gütigkeit der ausländischen USt-IdNr (Format: tt.mm.jjjj)

Übersicht der ErrorCodes

ErrorCodeBeschreibung
200Die angefragte USt-IdNr. ist gültig.
201Die angefragte USt-IdNr. ist ungültig.
202Die angefragte USt-IdNr. ist ungültig. Sie ist nicht in der Unternehmerdatei des betreffenden EU-Mitgliedstaates registriert.
Hinweis:
Ihr Geschäftspartner kann seine gültige USt-IdNr. bei der für ihn zuständigen Finanzbehörde in Erfahrung bringen. Möglicherweise muss er einen Antrag stellen,
damit seine USt-IdNr. in die Datenbank aufgenommen wird.
203Die angefragte USt-IdNr. ist ungültig. Sie ist erst ab dem ... gültig (siehe Feld 'Gueltig_ab').
204Die angefragte USt-IdNr. ist ungültig. Sie war im Zeitraum von ... bis ... gültig (siehe Feld 'Gueltig_ab' und 'Gueltig_bis').
205Ihre Anfrage kann derzeit durch den angefragten EU-Mitgliedstaat oder aus anderen Gründen nicht beantwortet werden. Bitte versuchen Sie es später noch einmal.
Bei wiederholten Problemen wenden Sie sich bitte an das Bundeszentralamt für Steuern - Dienstsitz Saarlouis.
206Ihre deutsche USt-IdNr. ist ungültig. Eine Bestätigungsanfrage ist daher nicht möglich. Den Grund hierfür können Sie beim Bundeszentralamt für Steuern - Dienstsitz Saarlouis - erfragen.
208Für die von Ihnen angefragte USt-IdNr. läuft gerade eine Anfrage von einem anderen Nutzer. Eine Bearbeitung ist daher nicht möglich. Bitte versuchen Sie es später noch einmal.
209Die angefragte USt-IdNr. ist ungültig. Sie entspricht nicht dem Aufbau der für diesen EU-Mitgliedstaat gilt.
210Die angefragte USt-IdNr. ist ungültig. Sie entspricht nicht den Prüfziffernregeln die für diesen EU-Mitgliedstaat gelten.
211Die angefragte USt-IdNr. ist ungültig. Sie enthält unzulässige Zeichen (wie z.B. Leerzeichen oder Punkt oder Bindestrich usw.).
212Die angefragte USt-IdNr. ist ungültig. Sie enthält ein unzulässiges Länderkennzeichen.
213Sie sind nicht zur Abfrage einer deutschen USt-IdNr. berechtigt.
214Ihre deutsche USt-IdNr. ist fehlerhaft. Sie beginnt mit 'DE' gefolgt von 9 Ziffern.
215Ihre Anfrage enthält nicht alle notwendigen Angaben für eine einfache Bestätigungsanfrage (Ihre deutsche USt-IdNr. und die ausl. USt-IdNr.).
Ihre Anfrage kann deshalb nicht bearbeitet werden.
216Ihre Anfrage enthält nicht alle notwendigen Angaben für eine qualifizierte Bestätigungsanfrage (Ihre deutsche USt-IdNr., die ausl. USt-IdNr., Firmenname einschl. Rechtsform und Ort).
Es wurde eine einfache Bestätigungsanfrage durchgeführt mit folgenden Ergebnis:
Die angefragte USt-IdNr. ist gültig.
217Bei der Verarbeitung der Daten aus dem angefragten EU-Mitgliedstaat ist ein Fehler aufgetreten. Ihre Anfrage kann deshalb nicht bearbeitet werden.
218Eine qualifizierte Bestätigung ist zur Zeit nicht möglich. Es wurde eine einfache Bestätigungsanfrage mit folgendem Ergebnis durchgeführt:
Die angefragte USt-IdNr. ist gültig.
219Bei der Durchführung der qualifizierten Bestätigungsanfrage ist ein Fehler aufgetreten. Es wurde eine einfache Bestätigungsanfrage mit folgendem Ergebnis durchgeführt:
Die angefragte USt-IdNr. ist gültig.
221Die Anfragedaten enthalten nicht alle notwendigen Parameter oder einen ungültigen Datentyp. Weitere Informationen erhalten Sie bei den Hinweisen zum Schnittstellen - Aufruf (s.o.)
223Die angefragte USt-IdNr. ist gültig. Die Druckfunktion steht nicht mehr zur Verfügung, da der Nachweis gem. UStAE zu § 18e.1 zu führen ist.
999Eine Bearbeitung Ihrer Anfrage ist zurzeit nicht möglich. Bitte versuchen Sie es später noch einmal.

Antwort - Beispiel

Das Ergebnis hat folgendes Format:

Datum 27.07.2006 Uhrzeit 13:35:53 ErrorCode 200 UstId_1 DE123456789 UstId_2 AB1234567890 Firmenname Firma XY Rechtsform Ort Firmenort PLZ 1234 Strasse Firmenstrasse Erg_Name A Erg_Ort A Erg_PLZ A Erg_Str A Gueltig_ab Gueltig_bis

<params>
<param>
<value><array><data>
<value><string>Datum</string></value>
<value><string>27.07.2006</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>Uhrzeit</string></value>
<value><string>13:35:53</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>ErrorCode</string></value>
<value><string>200</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>UstId_1</string></value>
<value><string>DE123456789</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>UstId_2</string></value>
<value><string>AB1234567890</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>Firmenname</string></value>
<value><string>Firma XY Rechtsform</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>Ort</string></value>
<value><string>Firmenort</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>PLZ</string></value>
<value><string>1234</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>Strasse</string></value>
<value><string>Firmenstrasse</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>Erg_Name</string></value>
<value><string>A</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>Erg_Ort</string></value>
<value><string>A</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>Erg_PLZ</string></value>
<value><string>A</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>Erg_Str</string></value>
<value><string>A</string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>Gueltig_ab</string></value>
<value><string></string></value>
</data></array></value>
</param>
<param>
<value><array><data>
<value><string>Gueltig_bis</string></value>
<value><string></string></value>
</data></array></value>
</param>
</params>

Python - Beispiel

Nachfolgendes Beispiel ist in der Programmiersprache Python (Version 2.7) verfasst. Die entsprechenden Aufrufparameter müssen natürlich noch durch reale Werte ersetzt werden.

Als Basis wird die nachfolgende XML-RPC-Bibliothek genutzt:

import xmlrpclib

server_url = 'https://evatr.bff-online.de/'

server     = xmlrpclib.Server(server_url)

# daten zum testen

UstId_1    = 'DE123456789'

UstId_2    = 'AB123456789012'

Firmenname = 'Firmenname einschl. Rechtsform'

Ort        = 'Ort'

PLZ        = '1234567'

Strasse    = 'Strasse und Hausnummer' 

rpc = server.evatrRPC(UstId_1, UstId_2, Firmenname, Ort, PLZ, Strasse)

print rpc

Technische Hinweise

Ihre Bestätigungsabfrage läuft über das Internet und damit mehr oder weniger - von der Auslastung des Netzes und von den benutzen Verbindungen abhängig - schnell zum Bundeszentralamt für Steuern. Hier wird Ihre Anfrage maschinell bearbeitet und geprüft, ob alle Angaben richtig sind.

Ist dies der Fall, wird Ihre Anfrage über eine Netzwerkverbindung an den jeweiligen EU-Mitgliedstaat weitergeleitet. Dort wird eine weitere maschinelle Verarbeitung angestoßen und die Antwort zum Bundeszentralamt für Steuern zurückgesandt. Hier wird diese Antwort aufbereitet und zurück zu Ihnen geschickt.

Die Antwort auf eine von Ihnen gestartete, gültige Abfrage kann also, in Abhängigkeit von Ihrer Internetanbindung und der Antwortzeit des entsprechenden Mitgliedstaates, zwischen einigen Sekunden und mehreren Minuten dauern.