CheckVATID

Beschreibung:

Führt online beim Bundeszentralamt für Steuern eine qualifizierte Bestätigungsanfrage einer ausländischen Umsatzsteuer-Identifikationsnummer durch (vgl. §6a Ziff. 3 UstG). Beachten Sie dazu die Hinweise auf der Website des Bundeszentralamt für Steuern.

Was ist der Unterschied zwischen einer einfachen und einer qualifizierten Bestätigung?

Bei einer einfachen Bestätigung erhalten Sie Auskunft darüber, ob eine ausländische USt-IdNr. zum Zeitpunkt der Anfrage in dem Mitgliedstaat, der sie erteilt hat, gültig ist.

Eine einfache Bestätigung muss zwingend vor einer qualifizierten Bestätigung durchgeführt werden.

Bei einer qualifizierten Bestätigung können Sie darüber hinaus abfragen, ob die von Ihnen mitgeteilten Angaben zu

Firmenname (einschließlich der Rechtsform),

Ort,

Postleitzahl,

Straße/Haus-Nr.,

mit den in der Unternehmerdatei des jeweiligen EU-Mitgliedstaates registrierten Daten übereinstimmen.

(Quelle: https://www.bzst.de/DE/Unternehmen/Identifikationsnummern/Umsatzsteuer-Identifikationsnummer/FAQ/faq_ust_node.html)

Wichtig: Zum Aufruf der Methode wird eine Internetverbindung vorausgesetzt.

Parameter:

Die folgenden Parameter gelten für die Abfrage:

Parametername

Typ

Beschreibung

Pflicht

VATID_1

String

Ihre deutsche Ust-IdNr.

Ja

VATID_2

String

Anzufragende ausländische Ust-IdNr.

Ja

Company

String

Name der anzufragenden Firma einschl. Rechtsform

Ja

City

String

Ort der anzufragenden Firma

Ja

ZIP

String

Postleitzahl der anzufragenden Firma

Nein

Street

String

Straße und Hausnummer der anzufragenden Firma

Nein

<reserviert>

Bool

Dieser Parameter ist reserviert.

Nein

 

Die folgenden Parameter werden von der Abfrage mit Ergebniswerten gefüllt, die dann weiterverarbeitet werden können:

Parametername

Typ

Beschreibung

Date

String

Datum der Anfrage (Format: tt.mm.jjjj)

Time

String

Uhrzeit der Anfrage (Format: hh:mm:ss)

ErrorCode

String

Fehlernummer der Anfrage (Übersicht der ErrorCodes)

ResultName

String

Ergebnis für den angefragten Namen der Firma

ResultCity

String

Ergebnis für den angefragten Ort der Firma

ResultZIP

String

Ergebnis für die angefragte Postleitzahl der Firma

ResultStreet

String

Ergebnis für die angefragte Straße der Firma

ValidFrom

String

Wird nur bei ErrorCode 203 bzw. 204 angegeben. Beginn der Gültigkeit der ausländischen Ust-IdNr. (Format: tt.mm.jjjj)

ValidTo

String

Wird nur bei ErrorCode 204 angegeben. Ende der Gültigkeit der ausländischen Ust-IdNr. (Format: tt.mm.jjjj)

ConnectionError

String

Enthält eine Fehlermeldung, wenn es zu einem Fehler während der HTTP-Anfrage gekommen ist

ResponseStream

String

Enhält die komplette Antwort, die vom Server zurückgegeben wird

Folgende Werte sind als Ergebnis für die Parameter ResultName, ResultCity, ResultZIP und ResultStreet möglich:

A = stimmt überein

B = stimmt nicht überein

C = nicht angefragt

D = vom EU-Mitgliedsstaat nicht mitgeteilt

Rückgabewert:

Bool

True: Wird zurückgeliefert, wenn

      der ErrorCode den Wert 200 hat und die Parameter Company, City, ZIP und Street übergeben wurden und die Ergebnisparameter ResultName, ResultCity, ResultZIP und ResultStreet den Wert 'A' haben.

      der ErrorCode den Wert 200 hat und die Ergebnisparameter ResultName und ResultCity den Wert 'A' haben und ResultZIP und ResultStreet den Wert 'C' haben, da sie nicht übergeben wurden.

 

Beispiel VBScript:

Dim oProject : Set oProject = cRM.CurrentProject

Dim oCurrentInputForm : Set oCurrentInputForm = cRM.CurrentProject.ActiveViews.ActiveView.CurrentInputForm(2)

 

Dim sVATID_1, sVATID_2, sCompany, sCity, sZIP, sStreet, bPrint, sDate, sTime, sErrorCode, sResultName, sResultCity, sResultZIP, sResultStreet, sValidFrom, sValidTo, sConnectionError, sResponseStream

 

sVATID_1 = oProject.CompanyInfo.VATID

sVATID_2 = oCurrentInputForm.GetContentsByName(sColumnName_VAT_ID)

sCompany = oCurrentInputForm.GetContentsByName(sColumnName_Company)

sCity = oCurrentInputForm.GetContentsByName(sColumnName_City)

sZIP = oCurrentInputForm.GetContentsByName(sColumnName_ZIP)

sStreet = oCurrentInputForm.GetContentsByName(sColumnName_Street)

bPrint = bPrintSetting

 

Dim bResult : bResult = oProject.CheckVATID(sVATID_1, sVATID_2, sCompany, sCity, sZIP, sStreet, bPrint, sDate, sTime, sErrorCode, sResultName, sResultCity, sResultZIP, sResultStreet, sValidFrom, sValidTo, sConnectionError, sResponseStream)

 

Set oCurrentInputForm = Nothing

Set oProject = Nothing

Beispiel C#-Script:

Project project = cRM.CurrentProject;

InputForm currentInputForm = project.ActiveViews.ActiveView.CurrentInputForm(2);

 

string vatID_1 = project.CompanyInfo.VatID;

string vatID_2 = currentInputForm.GetContentsByName("ColumnName_VAT_ID");

string company = currentInputForm.GetContentsByName("ColumnName_Company");

string city = currentInputForm.GetContentsByName("ColumnName_City");

string zip = currentInputForm.GetContentsByName("ColumnName_ZIP");

string street = currentInputForm.GetContentsByName("ColumnName_Street");

bool print = false;

 

string date = null;

string time = null;

string errorCode = null;

string resultName = null;

string resultCity = null;

string resultZip = null;

string resultStreet = null;

string validFrom = null;

string validTo = null;

string connectionError = null;

string responseStream = null;

bool result = project.CheckVATID(vatID_1, vatID_2, company, city, zip, street, print, string date, time, errorCode, resultName, resultCity, resultZip, resultStreet, validFrom, validTo, connectionError, responseStream);

 

currentInputForm.Dispose();

project.Dispose();