{"id":55000820,"date":"2012-02-01T00:00:00","date_gmt":"2020-05-22T21:52:52","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=820"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"UmsatzsteuerIdentifikationsnummer_pruefen","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/","title":{"rendered":"Umsatzsteuer-Identifikationsnummer pr&uuml;fen"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg05.met.vgwort.de\/na\/7fe19f1f96984acfa5d3f60f7f339c9e\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Wenn Sie Rechnungen an ausl&auml;ndischen Gesch&auml;ftspartner stellen, kann es sein, dass dieser keine deutsche Umsatzsteuer bezahlt. Dazu muss er Ihnen seine eigene Umsatzsteuer-Identifiktationsnummer mitteilen, die Sie dann &#8211; neben Ihrer eigenen &#8211; auf der Rechnung angeben. Das Bundeszentralamt f&uuml;r Steuern bietet einen Internet-Dienst, mit dem Sie die G&uuml;ltigkeit von Umsatzsteuer-Identifikationsnummern testen k&ouml;nnen. Dieser Beitrag zeigt, wie Sie diesen Dienst von Access aus aufrufen, um eigene Pr&uuml;fungen durchzuf&uuml;hren.<\/b><\/p>\n<p>Alle Informationen zur Schnittstelle finden Sie unter der Adresse <b>http:\/\/evatr.bff-online.de\/eVatR\/xmlrpc<\/b>.<\/p>\n<p>Sie m&uuml;ssen keine Daten oder Komponenten f&uuml;r die Abfrage herunterladen, sondern nur die in diesem Beitrag beschriebene L&ouml;sung in Ihre eigene Anwendung zu integrieren.<\/p>\n<p>Das Abfragen der Umsatzsteuer-Identifikationsnummer ist kostenlos, Sie ben&ouml;tigen dazu nur eine eigene Umsatzsteuer-Identifikationsnummer sowie die entsprechenden Informationen zum Rechnungsempf&auml;nger.<\/p>\n<p>Die Anfrage erfolgt &uuml;ber das HTTP-Protokoll und wird im einfachsten Fall direkt im Browser durchgef&uuml;hrt. Der folgende Aufruf enth&auml;lt die mindestens anzugebenden Informationen:<\/p>\n<pre>http:\/\/evatr.bff-online.de\/evatrRPCUstId_1=DE111111111&amp;UstId_2=ATU22222222&amp;Firmenname=&amp;Ort=&amp;PLZ=&amp;Strasse=&amp;strStrasse&amp;Druck=<\/pre>\n<p>Beachten Sie, dass Sie alle Parameter angeben m&uuml;ssen &#8211; auch wenn diese leer sind. Das Ergebnis sieht im Browser eher wild aus (s. Bild 1).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_01\/UstIdNrAbfragen-web-images\/pic003.png\" alt=\"pic003.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1: Einfache Anfrage im Browser<\/span><\/b><\/p>\n<p>Das ist aber kein Problem: Wir wollen es ja nicht selbst auswerten, sondern dies der Access-L&ouml;sung dieses Artikels &uuml;berlassen.<\/p>\n<p>Ein Blick in den Quellcode zeigt, dass die Antwort im XML-Format kommt und somit leicht zu analysieren ist (s. Bild 2). Sie besteht aus einem Hauptelement namens <b>params<\/b>, das einige <b>param<\/b>-Elemente enth&auml;lt. Jedes <b>param<\/b>-Element enth&auml;lt ein paar Ebenen tiefer ein Name-Wert-Paar.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_01\/UstIdNrAbfragen-web-images\/pic004.png\" alt=\"pic004.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2: Antwort im XML-Format<\/span><\/b><\/p>\n<p class=\"zwischen-berschrift-oberer-spaltenrand\">Beschreibung der Antwort<\/p>\n<p>Die Antwort enth&auml;lt die folgenden Informationen:<\/p>\n<ul>\n<li class=\"aufz-hlung\"><b>Datum<\/b>: Datum der Anfrage (<b>tt.mm.jjjj<\/b>).<\/li>\n<li class=\"aufz-hlung\"><b>Uhrzeit<\/b>: Uhrzeit der Anfrage (<b>hh:mm:ss<\/b>).<\/li>\n<li class=\"aufz-hlung\"><b>ErrorCode<\/b>: Fehlernummer der Anfrage<\/li>\n<li class=\"aufz-hlung\"><b>UstId_1<\/b>: Ihre deutsche USt-IdNr.<\/li>\n<li class=\"aufz-hlung\"><b>UstId_2<\/b>: Angefragte ausl&auml;ndische USt-IdNr.<\/li>\n<li class=\"aufz-hlung\"><b>Firmename<\/b>: Der angefragte Firmenname<\/li>\n<li class=\"aufz-hlung\"><b>Ort<\/b>: Der von Ihnen angefragte Ort der Firma<\/li>\n<li class=\"aufz-hlung\"><b>PLZ<\/b>: Die angefragte Postleitzahl der Firma<\/li>\n<li class=\"aufz-hlung\"><b>Strasse<\/b>: Die von Ihnen angefragte Strasse der Firma<\/li>\n<li class=\"aufz-hlung\"><b>Gueltig_ab<\/b>: Beginn der G&uuml;ltigkeit der ausl&auml;ndischen USt-IdNr (Format: <b>tt.mm.jjjj<\/b>), wird nur angegeben, wenn der Parameter <b>ErrorCode <\/b>den Wert <b>203 <\/b>oder <b>204 <\/b>liefert.<\/li>\n<li class=\"aufz-hlung\"><b>Gueltig_bis<\/b>: Ende der G&uuml;ltigkeit der ausl&auml;ndischen USt-IdNr (Format: <b>tt.mm.jjjj<\/b>), wird nur angegeben, wenn der Parameter <b>ErrorCode <\/b>den Wert 204 zur&uuml;ckliefert.<\/li>\n<li class=\"aufz-hlung\"><b>Druck<\/b>: Gibt an, ob Sie eine amtliche Best&auml;tigungsmitteilung angefordert haben und kann die Werte <b>ja <\/b>(Mitteilung angefordert) oder <b>nein <\/b>(ohne Miteilung) annehmen.<\/li>\n<\/ul>\n<p>Die Parameter <b>Erg_Name<\/b>, <b>Erg_Ort<\/b>, <b>Erg_PLZ <\/b>und <b>Erg_Str <\/b>liefern einen der folgenden Werte zur&uuml;ck, der angibt, ob die &uuml;bergebenen Werte f&uuml;r Firmenname, Ort, PLZ und Stra&szlig;e mit den in der Datenbank gespeicherten Werten &uuml;bereinstimmen:<\/p>\n<ul>\n<li class=\"aufz-hlung\"><b>A<\/b>: stimmt &uuml;berein<\/li>\n<li class=\"aufz-hlung\"><b>B<\/b>: stimmt nicht &uuml;berein<\/li>\n<li class=\"aufz-hlung\"><b>C<\/b>: nicht angefragt<\/li>\n<li class=\"aufz-hlung\"><b>D<\/b>: vom EU-Mitgliedsstaat nicht mitgeteilt<\/li>\n<\/ul>\n<p><b>Speichern der erhaltenen Daten<\/b><\/p>\n<p>Wenn Sie regelm&auml;&szlig;ig die Umsatzsteuer-Identifikationsnummer pr&uuml;fen, macht es Sinn, diese in einer Tabelle zu speichern, um unn&ouml;tige Aufrufe des Internetdienstes zu verhindern. Dazu legen Sie eine Tabelle namens <b>tblRequests<\/b> an und f&uuml;gen dieser f&uuml;r jedes Feld des Antwort-XML-Dokuments ein Feld hinzu. Bild 3 zeigt die Entwurfsansicht dieser Tabelle.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_01\/UstIdNrAbfragen-web-images\/pic005.png\" alt=\"pic005.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3: Tabelle zum Speichern der ermittelten Informationen zu Umsatzsteuer-Identifikationsnummern<\/span><\/b><\/p>\n<p><b>Errorcode<\/b><\/p>\n<p>Die im Feld <b>Errorcode <\/b>gelieferten Zahlenwerte haben konkrete Bedeutungen. <b>Errorcode <\/b>ist eigentlich auch nicht der richtige Begriff f&uuml;r die in diesem Feld zur&uuml;ckgelieferten Zahlenwerte. Diese geben zwar auch Informationen &uuml;ber eventuell aufgetretene Fehler, jedoch gibt es auch im Erfolgsfall einen Wert im Feld <b>Errorcode<\/b>. Informationen &uuml;ber den Errorcode finden Sie auf der Webseite des Internetdienstes (s. Bild 4).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_01\/UstIdNrAbfragen-web-images\/pic001.png\" alt=\"pic001.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4: Fehlercodes auf der Seite des Anbieters<\/span><\/b><\/p>\n<p>Nun helfen uns die Beschreibungen der Fehler auf der Internetseite nicht besonders weiter &#8211; wir wollen n&auml;mlich die nach dem Einlesen im Feld <b>Errorcode <\/b>der Tabelle <b>tblRequests<\/b> enthaltenen Zahlenwerte interpretieren k&ouml;nnen. Also legen wir eine neue Tabelle namens <b>tblResponseIDs<\/b> mit den beiden Feldern <b>ResponseID <\/b>und <b>Response <\/b>an und &uuml;bertragen die Zahlenwerte und die entsprechenden Beschreibungen in diese Tabelle. Das Resultat sieht dann wie in Bild 5 aus.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_01\/UstIdNrAbfragen-web-images\/pic002.png\" alt=\"pic002.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5: Speichern der Fehlerbeschreibungen in einer separaten Tabelle<\/span><\/b><\/p>\n<p><!--30percent--><\/p>\n<p><b>Formulare zum Einlesen der Pr&uuml;fungsdaten<\/b><\/p>\n<p>Die Grundlage w&auml;re geschaffen, jetzt k&ouml;nnen Sie sich an den Entwurf der Formulare unserer L&ouml;sung heranwagen. Die Daten der zu pr&uuml;fenden Steuernummer sollen in Textfelder eines Formulars namens <b>frmUstIdNr <\/b>eingegeben werden, das Ergebnis nach dem Aufruf des Internetdienstes in einem Unterformular namens <b>sfmUstIdNr <\/b>erscheinen.<\/p>\n<p>Das Unterformular erh&auml;lt als Datenherkunft die Abfrage <b>qryRequests <\/b>und sieht wie in Bild 6 aus. Diese Abfrage f&uuml;hrt die Daten der beiden Tabellen <b>tblRequests <\/b>und <b>tblResponseIDs <\/b>zusammen, damit das Unterformular gleich die den Zahlenwerten des Feldes <b>ErrorCode <\/b>entsprechenden Texte anzeigen kann.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_01\/UstIdNrAbfragen-web-images\/pic006.png\" alt=\"pic006.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6: Entwurfsansicht des Unterformulars zum Anzeigen der Antwort des Internetdienstes<\/span><\/b><\/p>\n<p>Damit es beim &Ouml;ffnen des Hauptformulars zun&auml;chst keine Daten anzeigt, wird der Filter beim &Ouml;ffnen des Unterformulars entsprechend eingestellt. Dies erledigen zwei Anweisungen in einer Prozedur, die durch das Ereignis <b>Beim Laden <\/b>ausgef&uuml;hrt wird:<\/p>\n<pre>Private Sub Form_Load()\r\n    Me.Filter = &quot;1=2&quot;\r\n    Me.FilterOn = True\r\nEnd Sub<\/pre>\n<p>Das Unterformular wird im Hauptformular neben die Steuerelemente zur Eingabe der Abfragedaten eingebettet, sodass das komplette Formular in der Formularansicht wie in Bild 7 aussieht.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2012_01\/UstIdNrAbfragen-web-images\/pic007.png\" alt=\"pic007.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7: Das Formular zum Abfragen von Umsatzsteuer-Identifikationsnummern im Einsatz<\/span><\/b><\/p>\n<p>Nun fehlt nur noch der VBA-Code, der den Request zusammenstellt, an den Internetdienst schickt und das Ergebnis analysiert und in die Tabelle <b>tblRequests <\/b>schreibt.<\/p>\n<p><b>Request per VBA absenden<\/b><\/p>\n<p>Die Funktion <b>Request_UstIdNr <\/b>ist f&uuml;r das Zusammenstellen und Absenden des Requests verantwortlich und liefert das Ergebnis zur&uuml;ck (s. <span class=\"verweis-ohneumbruch\"><a href=\"#anker-43-anchor\">Listing 1<\/a><\/span>). Sie erwartet die folgenden Parameter:<\/p>\n<ul>\n<li class=\"aufz-hlung\"><b>strUstIDNr_Eigen<\/b>: Eigene Ust-IdNr.<\/li>\n<li class=\"aufz-hlung\"><b>strUstIDNr_Fremd<\/b>: Zu pr&uuml;fende Ust-IdNr.<\/li>\n<li class=\"aufz-hlung\"><b>strFirmenname<\/b>: Firmenname (optional)<\/li>\n<li class=\"aufz-hlung\"><b>strOrt<\/b>: Ort (optional)<\/li>\n<li class=\"aufz-hlung\"><b>strPLZ<\/b>: PLZ (optional)<\/li>\n<li class=\"aufz-hlung\"><b>strStrasse<\/b>: Stra&szlig;e (optional)<\/li>\n<li class=\"aufz-hlung\"><b>bolDruck<\/b>: Soll das Pr&uuml;fungsergebnis gedruckt und per Post zugestellt werden<\/li>\n<\/ul>\n<p>Der Parameter <b>bolDruck <\/b>wird je nach Wert zun&auml;chst entweder als <b>ja <\/b>oder <b>nein <\/b>in der Variablen <b>strDruck <\/b>gespeichert. Danach setzen einige Codezeilen in der Variablen strAnfrage den Request zusammen, der jeweils aus Name-Wert-Paaren besteht. Wichtig ist hier, dass auch die Namen von Parametern, die leer sind, &uuml;bergeben werden (hier folgt hinter dem Gleichheitszeichen dann direkt der n&auml;chste Parameter).<\/p>\n<p class=\"listingueberschrift\">Listing 1: Zusammenstellen und Absenden des Requests<\/p>\n<pre>Public Function Request_UstIDNr(strUstIDNr_Eigen As String, strUstIDNr_Fremd As String, _\r\n        Optional strFirmenname As String, Optional strOrt As String, Optional strPLZ As String, _\r\n        Optional strStrasse As String, Optional bolDruck As Boolean) As MSXML2.DOMDocument\r\n    Dim objRequest As New MSXML2.DOMDocument\r\n    Dim strAnfrage As String\r\n    Dim strDruck As String\r\n    If bolDruck Then\r\n        strDruck = &quot;ja&quot;\r\n    End If\r\n    strAnfrage = &quot;http:\/\/evatr.bff-online.de\/evatrRPC&quot;\r\n    strAnfrage = strAnfrage &amp; &quot;UstId_1=&quot; &amp; strUstIDNr_Eigen\r\n    strAnfrage = strAnfrage &amp; &quot;&amp;UstId_2=&quot; &amp; strUstIDNr_Fremd\r\n    strAnfrage = strAnfrage &amp; &quot;&amp;Firmenname=&quot; &amp; strFirmenname\r\n    strAnfrage = strAnfrage &amp; &quot;&amp;Ort=&quot; &amp; strOrt\r\n    strAnfrage = strAnfrage &amp; &quot;&amp;PLZ=&quot; &amp; strPLZ\r\n    strAnfrage = strAnfrage &amp; &quot;&amp;Strasse= &amp; strStrasse&quot;\r\n    strAnfrage = strAnfrage &amp; &quot;&amp;Druck=&quot; &amp; strDruck\r\n    With objRequest\r\n        .async = False\r\n        .preserveWhiteSpace = False\r\n        .validateOnParse = True\r\n        .resolveExternals = False\r\n    End With\r\n    If objRequest.Load(strAnfrage) = True Then\r\n        Set Request_UstIDNr = objRequest\r\n    End If\r\nEnd Function<\/pre>\n<p>Danach wird das mit der Objektvariablen <b>objRequest <\/b>referenzierte XML-Dokument mit einigen Eigenschaften versehen und &uuml;ber die <b>Load<\/b>-Funktion mit dem Ergebnis des in <b>strAnfrage <\/b>gespeicherten Requests versehen. Liefert diese Funktion den Wert <b>True <\/b>zur&uuml;ck, war der Aufruf erfolgreich und das Response-XML-Dokument befindet sich im Objekt <b>objRequest<\/b>. Der Aufruf dieser Funktion erfolgt &uuml;ber die Prozedur, die durch das Ereignis <b>Beim Klicken <\/b>der Schaltfl&auml;che <b>cmdPruefen <\/b>ausgel&ouml;st wird (s. <span class=\"verweis-ohneumbruch\"><a href=\"#anker-44-anchor\">Listing 2<\/a><\/span>). <\/p>\n<p class=\"listingueberschrift\">Listing 2: Aufrufen der Funktion zum Absenden des Requests und Analysieren des Ergebnisses<\/p>\n<pre>Private Sub cmdPruefen_Click()\r\n    Dim objXML As MSXML2.DOMDocument\r\n    Dim objParam As MSXML2.IXMLDOMNode\r\n    Dim intParam As Integer\r\n    Dim strName As String\r\n    Dim strWert As String\r\n    Dim db As DAO.Database\r\n    Dim rst As DAO.Recordset\r\n    Dim lngRequestID As Long\r\n    If IsNull(Me!txtUstIDNr_Eigen) Or IsNull(Me!txtUstIDNr_Fremd) Then\r\n        MsgBox &quot;Geben Sie mindestens die eigene und die zu pr&uuml;fende Umsatzsteuer-&quot; _\r\n            &amp; &quot;Identifikationsnummer ein.&quot;\r\n        Exit Sub\r\n    End If\r\n    lngRequestID = Nz(DLookup(&quot;RequestID&quot;, &quot;tblRequests&quot;, &quot;UstID_1 = ''&quot; &amp; Me!txtUstIDNr_Eigen _\r\n        &amp; &quot;'' AND UstID_2 = ''&quot; &amp; Me!txtUstIDNr_Fremd &amp; &quot;''&quot;))\r\n    Set db = CurrentDb\r\n    If Not lngRequestID = 0 Then\r\n        If MsgBox(&quot;Anfrage wurde bereits durchgef&uuml;hrt. Erneut durchf&uuml;hren (Ja) oder &quot; _\r\n                &amp; &quot;bestehendes Ergebnis anzeigen (Nein)&quot;, vbYesNo) = vbNo Then\r\n            Me!sfmUstIDNr.Form.Filter = &quot;&quot;\r\n            Me!sfmUstIDNr.Form.Recordset.FindFirst &quot;RequestID = &quot; &amp; lngRequestID\r\n            Exit Sub\r\n        Else\r\n            db.Execute &quot;DELETE FROM tblRequests WHERE RequestID = &quot; &amp; lngRequestID\r\n        End If\r\n    End If\r\n    Set objXML = Request_UstIDNr(Me!txtUstIDNr_Eigen, Me!txtUstIDNr_Fremd, Nz(Me!txtFirmenname), _\r\n        Nz(Me!txtOrt), Nz(Me!txtPLZ), Nz(Me!txtStrasse), Me!chkDruck)\r\n    If Not objXML Is Nothing Then\r\n         Set rst = db.OpenRecordset(&quot;SELECT * FROM tblRequests WHERE 1 = 2&quot;, dbOpenDynaset)\r\n        rst.AddNew\r\n        For intParam = 0 To objXML.selectNodes(&quot;params\/param&quot;).length - 1\r\n            Set objParam = objXML.selectNodes(&quot;params\/param&quot;).Item(intParam)\r\n            strName = objParam.selectNodes(&quot;value\/array\/data\/value\/string&quot;).Item(0).nodeTypedValue\r\n            strWert = objParam.selectNodes(&quot;value\/array\/data\/value\/string&quot;).Item(1).nodeTypedValue\r\n            rst.Fields(strName) = strWert\r\n        Next intParam\r\n        lngRequestID = rst!RequestID\r\n        rst.Update\r\n        Me!sfmUstIDNr.Form.Requery\r\n        Me!sfmUstIDNr.Form.Filter = &quot;&quot;\r\n        Me!sfmUstIDNr.Form.Recordset.FindFirst &quot;RequestID = &quot; &amp; lngRequestID\r\n    End If\r\nEnd Sub<\/pre>\n<p>Diese pr&uuml;ft zun&auml;chst, ob zumindest die beiden Textfelder f&uuml;r die eigene und die zu pr&uuml;fende Umsatzsteuer-Identifikationsnummer gef&uuml;llt sind.<\/p>\n<p>Ist dies nicht der Fall, erscheint eine Meldung, die den Benutzer &uuml;ber die zu f&uuml;llenden Felder informiert und die Prozedur wird beendet.<\/p>\n<p>Sind die Felder gef&uuml;llt, versucht die Prozedur mit einer <b>DLookup<\/b>-Abfrage zu ermitteln, ob f&uuml;r die angegebene Kombination aus eigener und zu pr&uuml;fender Umsatzsteuer-Identifikationsnummer bereits ein Request durchgef&uuml;hrt und das Ergebnis in der Tabelle <b>tblRequests <\/b>gespeichert wurde.<\/p>\n<p>In diesem Fall enth&auml;lt die Variable mit dem Ergebnis einen Wert ungleich <b>0<\/b>. Die Prozedur fragt den Benutzer dann, ob er die bereits in der Datenbank gespeicherten Daten anzeigen oder eine erneute Abfrage starten m&ouml;chte.<\/p>\n<p>Will der Benutzer die gespeicherten Daten sehen, wird der Filter im Unterformular aufgehoben und der entsprechende Datensatz mit der <b>FindFirst<\/b>-Methode des <b>Recordset<\/b>-Objekt des Unterformulars ermittelt und angezeigt. Die Prozedur wird daraufhin verlassen.<\/p>\n<p>Soll die Pr&uuml;fung erneut stattfinden, l&ouml;scht die Prozedur zun&auml;chst den bereits vorhandenen Datensatz f&uuml;r diese Kombination von Umsatzsteuer-Identifikationsnummern.<\/p>\n<p>Die bereits beschriebene Funktion <b>Request_UstIDNr <\/b>wird mit den in den Textfeldern des Formulars <b>frmUstIdNr <\/b>angegebenen Daten aufgerufen und das Ergebnis mit der Variablen <b>objXML <\/b>referenziert.<\/p>\n<p>Verweist diese Variable anschlie&szlig;end auf ein Objekt, war der Aufruf erfolgreich und das Ergebnis kann in die Tabelle <b>tblRequests <\/b>geschrieben werden. Dies erledigen die folgenden Zeilen, die zun&auml;chst ein leeres Recordset auf Basis dieser Tabelle erzeugen und dann mit der <b>AddNew<\/b>-Methode einen neuen Datensatz hinzuf&uuml;gen.<\/p>\n<p>Danach erfolgt die Auswertung des XML-Dokuments. Dieses besteht aus einigen <b>param<\/b>-Elementen, die unterhalb des Root-Elements <b>params <\/b>angeordnet sind. Die Routine z&auml;hlt diese Elemente und durchl&auml;uft diese dann innerhalb einer <b>For&#8230;Next<\/b>-Schleife.<\/p>\n<p>Dabei ermittelt sie jeweils das <b>param<\/b>-Element und liest aus den untergeordneten Elementen <b>value\/array\/data\/value\/string <\/b>die Name-Wert-Paare ein.<\/p>\n<p>Der Name entspricht dabei jeweils dem Namen eines der Felder der Tabelle, der Wert wird dem entsprechenden Feld des soeben erstellten Datensatzes zugeordnet. Die <b>Update<\/b>-Methode speichert den Datensatz schlie&szlig;lich.<\/p>\n<p>Vorher merkt sich die Prozedur die ID des neuen Datensatzes in der Variablen <b>lngRequestID <\/b>und zeigt diesen dann nach einer Aktualisierung der Datenherkunft des Unterformulars in selbigem an.<\/p>\n<p><b>Zusammenfassung und Ausblick<\/b><\/p>\n<p>Mit dieser L&ouml;sung k&ouml;nnen Sie ganz leicht die Umsatzsteuer-Identifikationsnummer ausl&auml;ndischer Gesch&auml;ftspartner &uuml;berpr&uuml;fen.<\/p>\n<p>Das Formular <b>frmUstIdNr <\/b>zeigt, wie Sie die Funktion von einem Formular aus aufrufen und das Ergebnis gleich f&uuml;r eine Sichtkontrolle anzeigen.<\/p>\n<p>Es ist nat&uuml;rlich auch denkbar, dass Sie die vorgestellten Techniken in einem anderen Kontext einsetzen &#8211; etwa, um eine Umsatzsteuer-Identifikationsnummer zu pr&uuml;fen und im positiven Fall beispielsweise ein Ja\/Nein-Feld namens <b>UstIdNrGeprueft <\/b>auf den Wert <b>Ja <\/b>oder <b>Nein <\/b>einzustellen.<\/p>\n<p>Und bevor ich es vergesse: Sollten Sie jedes Mal zusammenschrecken, wenn Sie Post vom Finanzamt erhalten, vermeiden Sie unbedingt, den Parameter <b>Druck <\/b>auf <b>Ja <\/b>einzustellen. Sie erhalten das Pr&uuml;fergebnis dann n&auml;mlich per Post &#8230;<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>UstIDNrAbfragen.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/{0D8AA940-F9FF-4602-AAE9-8A8F58253B5F}\/aiu_820.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wenn Sie Rechnungen an ausl&auml;ndischen Gesch&auml;ftspartner stellen, kann es sein, dass dieser keine deutsche Umsatzsteuer bezahlt. Dazu muss er Ihnen seine eigene Umsatzsteuer-Identifiktationsnummer mitteilen, die Sie dann &#8211; neben Ihrer eigenen &#8211; auf der Rechnung angeben. Das Bundeszentralamt f&uuml;r Steuern bietet einen Internet-Dienst, mit dem Sie die G&uuml;ltigkeit von Umsatzsteuer-Identifikationsnummern testen k&ouml;nnen. Dieser Beitrag zeigt, wie Sie diesen Dienst von Access aus aufrufen, um eigene Pr&uuml;fungen durchzuf&uuml;hren.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[66012012,662012,44000026],"tags":[],"class_list":["post-55000820","post","type-post","status-publish","format-standard","hentry","category-66012012","category-662012","category-Interaktiv"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Umsatzsteuer-Identifikationsnummer pr&uuml;fen - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Umsatzsteuer-Identifikationsnummer pr&uuml;fen\" \/>\n<meta property=\"og:description\" content=\"Wenn Sie Rechnungen an ausl&auml;ndischen Gesch&auml;ftspartner stellen, kann es sein, dass dieser keine deutsche Umsatzsteuer bezahlt. Dazu muss er Ihnen seine eigene Umsatzsteuer-Identifiktationsnummer mitteilen, die Sie dann - neben Ihrer eigenen - auf der Rechnung angeben. Das Bundeszentralamt f&uuml;r Steuern bietet einen Internet-Dienst, mit dem Sie die G&uuml;ltigkeit von Umsatzsteuer-Identifikationsnummern testen k&ouml;nnen. Dieser Beitrag zeigt, wie Sie diesen Dienst von Access aus aufrufen, um eigene Pr&uuml;fungen durchzuf&uuml;hren.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T21:52:52+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg05.met.vgwort.de\/na\/7fe19f1f96984acfa5d3f60f7f339c9e\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"11\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/UmsatzsteuerIdentifikationsnummer_pruefen\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/UmsatzsteuerIdentifikationsnummer_pruefen\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Umsatzsteuer-Identifikationsnummer pr&uuml;fen\",\"datePublished\":\"2020-05-22T21:52:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/UmsatzsteuerIdentifikationsnummer_pruefen\\\/\"},\"wordCount\":1666,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/UmsatzsteuerIdentifikationsnummer_pruefen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/7fe19f1f96984acfa5d3f60f7f339c9e\",\"articleSection\":[\"1\\\/2012\",\"2012\",\"Interaktiv\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/UmsatzsteuerIdentifikationsnummer_pruefen\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/UmsatzsteuerIdentifikationsnummer_pruefen\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/UmsatzsteuerIdentifikationsnummer_pruefen\\\/\",\"name\":\"Umsatzsteuer-Identifikationsnummer pr&uuml;fen - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/UmsatzsteuerIdentifikationsnummer_pruefen\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/UmsatzsteuerIdentifikationsnummer_pruefen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/7fe19f1f96984acfa5d3f60f7f339c9e\",\"datePublished\":\"2020-05-22T21:52:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/UmsatzsteuerIdentifikationsnummer_pruefen\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/UmsatzsteuerIdentifikationsnummer_pruefen\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/UmsatzsteuerIdentifikationsnummer_pruefen\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/7fe19f1f96984acfa5d3f60f7f339c9e\",\"contentUrl\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/7fe19f1f96984acfa5d3f60f7f339c9e\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/UmsatzsteuerIdentifikationsnummer_pruefen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Umsatzsteuer-Identifikationsnummer pr&uuml;fen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Umsatzsteuer-Identifikationsnummer pr&uuml;fen - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/","og_locale":"de_DE","og_type":"article","og_title":"Umsatzsteuer-Identifikationsnummer pr&uuml;fen","og_description":"Wenn Sie Rechnungen an ausl&auml;ndischen Gesch&auml;ftspartner stellen, kann es sein, dass dieser keine deutsche Umsatzsteuer bezahlt. Dazu muss er Ihnen seine eigene Umsatzsteuer-Identifiktationsnummer mitteilen, die Sie dann - neben Ihrer eigenen - auf der Rechnung angeben. Das Bundeszentralamt f&uuml;r Steuern bietet einen Internet-Dienst, mit dem Sie die G&uuml;ltigkeit von Umsatzsteuer-Identifikationsnummern testen k&ouml;nnen. Dieser Beitrag zeigt, wie Sie diesen Dienst von Access aus aufrufen, um eigene Pr&uuml;fungen durchzuf&uuml;hren.","og_url":"https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-22T21:52:52+00:00","og_image":[{"url":"http:\/\/vg05.met.vgwort.de\/na\/7fe19f1f96984acfa5d3f60f7f339c9e","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"11\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Umsatzsteuer-Identifikationsnummer pr&uuml;fen","datePublished":"2020-05-22T21:52:52+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/"},"wordCount":1666,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg05.met.vgwort.de\/na\/7fe19f1f96984acfa5d3f60f7f339c9e","articleSection":["1\/2012","2012","Interaktiv"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/","url":"https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/","name":"Umsatzsteuer-Identifikationsnummer pr&uuml;fen - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg05.met.vgwort.de\/na\/7fe19f1f96984acfa5d3f60f7f339c9e","datePublished":"2020-05-22T21:52:52+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/#primaryimage","url":"http:\/\/vg05.met.vgwort.de\/na\/7fe19f1f96984acfa5d3f60f7f339c9e","contentUrl":"http:\/\/vg05.met.vgwort.de\/na\/7fe19f1f96984acfa5d3f60f7f339c9e"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/UmsatzsteuerIdentifikationsnummer_pruefen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Umsatzsteuer-Identifikationsnummer pr&uuml;fen"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000820","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000820"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000820\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000820"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000820"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000820"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}