Sie sind auf Seite 1von 4

AvERP ® - PluginVatValidate.

dll

PluginVatValidate.dll
Onlineprüfung von Umsatzsteueridentnummern

© SYNERPY GmbH Seite 1 von 4


AvERP ® - PluginVatValidate.dll

1 Beschreibung
Die in AvERP eingetragenen Umsatzsteueridentnummern sollen online auf ihre Richtigkeit geprüft
werden. Dies soll über eine neue Funktion im Pascalskript ermöglicht werden.

2 Umsetzung
Die neue Funktion im Pascalskript wird über eine Plugin-DLL zur Verfügung gestellt. Diese muss sich im
Ordner %APPDATA%\AvERP\Plugin befinden.

3 Verwendete Schnittstellen
3.1 Bundeszentralamt für Steuern
Das Bundeszentralamt für Steuern stellt auf der Webseite https://evatr.bff-
online.de/eVatR/index_html eine Schnittstelle für die Bestätigung von ausländischen
Umstzsteueridentifikationsnummern zur Verfügung. Für dieses Formular existiert eine XML-RPC-
Schnittstelle, die von der DLL abgefragt werden kann.

Die Schnittstelle ist über die URL http://evatr.bff-online.de/eVatR/xmlrpc/ erreichbar und muss mit den
Parametern UstId_1, UstId_2, Firmenname, Ort, PLZ, Strasse, Druck aufgerufen werden:

http://evatr.bff-
online.de/evatrRPC?UstId_1=DE123456789&UstId_2=AB1234567890&Firmenname=&Ort=&PLZ=&S
trasse=&Druck=

Die Prüfung ist ausschließlich für Unternehmen aus Deutschland verfügbar und es muss eine gültige
deutsche Umsatzsteueridentnummer an die Schnittstelle übertragen werden.

3.2 VIES der Europäischen Kommission


Die Europäische Kommission stellt auf der Webseite http://ec.europa.eu/taxation_customs/vies/ eine
Schnittstelle für die Bestätigung der Umsatzsteueridentifikationsnummer zur Verfügung. Für dieses
Formular existiert ein WebService, der von der DLL abgefragt werden kann.
Der verwendete WebService wird durch die checkVatService.wsdl beschrieben
(http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl). Es wird die Funktion checkVat
verwendet. Diese benötigt den als Parameter den zweistelligen Ländercode und die Identnummer
(ohne Ländercode).

Die Prüfung erfolgt ausschließlich anhand der übertragenen Umsatzsteueridentnummer und kann
deshalb auch von Unternehmen außerhalb von Deutschland verwendet werden. Als Zusatzinformation
enthält das Ergebnis der Prüfung den Namen des Unternehmens.

4 Verwendung im Pascalskript
Der Aufruf der Schnittstelle beginnt immer mit PluginVatValidate gefolgt von der zu verwendenden
Funktion.

Die DLL hat folgende Funktionen.

4.1 eVatRpc - Bundeszentralamt für Steuern


4.1.1 Aufruf
Der Aufruf der Schnittstelle erfolgt über den Befehl

© SYNERPY GmbH Seite 2 von 4


AvERP ® - PluginVatValidate.dll

PluginVatValidate.eVatRpc(sUstIdDe, sUstIdPruef : string) : Boolean;

4.1.2 Parameter
Die Funktion eVatRpc benötigt die Parameter sUstIdDe (gültige deutsche
Umsatzsteueridentnummer) und sUstIdPruef (zu prüfende Umsatzsteueridentnummer). Zu
beachten ist dabei, dass die Identnummern ohne Leerzeichen sind.

4.1.3 Ergebnis
Die Prüfung der Umsatzsteueridentnummer war erfolgreich, wenn das Ergebnis true ist.

4.2 EcEuropa - VIES der Europäischen Kommission


4.2.1 Aufruf
Der Aufruf der Schnittstelle erfolgt über den Befehl
PluginVatValidate.EcEuropa(sUstIdPruef : string) : boolean;

4.2.2 Parameter
Die Funktion EcEuropa benötigt den Parameter sUstIdPruef (zu prüfende
Umsatzsteueridentnummer). Zu beachten ist dabei, dass die Identnummer ohne Leerzeichen ist.

4.2.3 Ergebnis
Die Prüfung der Umsatzsteueridentnummer war erfolgreich, wenn das Ergebnis true ist.

4.3 GetMessage – Text der Prüfung


Über diese Funktion kann die Meldung, die bei der Onlineprüfung erzeugt wurde ermittelt werden. Der
Rückgabewert kann auch den Fehlertext enthalten, wenn z.B. keine Internetverbindung besteht oder
der Server nicht erreichbar ist.

4.3.1 Aufruf
Der Aufruf der Schnittstelle erfolgt über den Befehl
PluginVatValidate.GetMessage() : string;

4.3.2 Parameter
Für diese Funktion sind keine Parameter erforderlich, jedoch muss der Aufruf mit () abgeschlossen
werden.

4.3.3 Ergebnis
Die Ausgabe enthält entweder das Ergebnis der Prüfung oder aufgetretene Fehlermeldung bei der
Onlineprüfung.

4.4 Unload – DLL frei geben


Diese Funktion ist nicht direkt in der DLL implementiert, wird aber vom Pascalskript zum Freigeben der
verwendeten DLL verwendet.

4.4.1 Aufruf
Der Aufruf der Schnittstelle erfolgt über den Befehl
PluginVatValidate.Unload();

© SYNERPY GmbH Seite 3 von 4


AvERP ® - PluginVatValidate.dll

5 Pascalskript Beispiel
Begin
iAuswahl := SipMessage('Auswahl Schnittstelle',
'"eVatRpc - Bundeszentralamt für Steuern",' +
'"ec.europa.eu - VIES der Europäischen Kommission"', '0,1');

if (iAuswahl >= 0) then


begin
// zu prüfende Umstazsteueridentnummer abfragen
sCheckUstId := Input('UstId', 'zu prüfende UstId', '');
// alle Leerzeichen entfernen
sCheckUstId := trim(StringReplace(sCheckUstId, ' ', ''));

if (iAuswahl = 0) then
begin
// Abfrage beim Bundeszentralamt für Steuern

// eigene Umstazsteueridentnummer ermitteln


// (notwendig bei dieser Schnittstelle)
sEigUstId := AsString(frmData.q_v_bmand.FieldByName('UST_ID'));

// alle Leerzeichen entfernen


sEigUstId := trim(StringReplace(sEigUstId, ' ', ''));

// Schnittstelle ausführen
PluginVatValidate.eVatRpc(sEigUstId,sCheckUstId);
end
else if (iAuswahl = 1) then
begin
// VIES der Europäischen Kommission

// Schnittstelle ausführen
PluginVatValidate.EcEuropa(sCheckUstId);
end;

// Meldung der Schnittstelle ausgeben


MessageBox(PluginVatValidate.GetMessage(), 'Ergebnis der Prüfung', 0);

// Plugin entladen
PluginVatValidate.Unload();
end;
End;

© SYNERPY GmbH Seite 4 von 4

Das könnte Ihnen auch gefallen