Automatisierte Umsatzsteuer ID Abfrage

Automatisierte Umsatzsteuer ID Abfrage

Lassen Sie von Workflow+ automatisch die Umsatzsteuer-Identifikationsnummer Ihres Kunden prüfen. Mit dem automatisierten Abgleich werden die übergebenen Firmendaten sowie die Umsatzsteuer-ID mit den Daten des Bundeszentralamts für Steuern verglichen. Nach der Prüfung erhalten Sie direkt eine Rückmeldung, ob die Angaben gültig sind oder ob Fehler aufgetreten sind. Die Abfrage erfolgt über eine moderne REST-API mittels HTTP-POST und JSON-Body. Ein zusätzliches Spezialmodul ist hierfür nicht notwendig.

Mit untenstehendem Beispiel können Sie eine qualifizierte Prüfung direkt aus Workflow+ durchführen. Eine mögliche Erweiterung wäre beispielsweise eine automatische Mailbenachrichtigung oder die Sperrung des Vorgangs bei ungültigen Daten.


Declare lTemp as String
Declare lURL as String
Declare lBody as String
Declare lHeaders as String
Declare lMandant as String
Declare lEigeneUstID as String
Declare lKundeUstID as String
Declare lFirma as String
Declare lOrt as String
Declare lPLZ as String
Declare lStrasse as String
Declare lAntwortCode as String
Declare lAntwortText as String
Declare lJson as JsonObject
Declare lFehlercodes as Dictionary

lFehlercodes[„200“] = „Die angefragte USt-IdNr. ist gültig.“
lFehlercodes[„201“] = „Die angefragte USt-IdNr. ist ungültig.“
lFehlercodes[„202“] = „Die angefragte USt-IdNr. ist ungültig. Sie ist nicht in der Unternehmerdatei des betreffenden EU-Mitgliedstaates registriert.“
lFehlercodes[„203“] = „Die angefragte USt-IdNr. ist noch nicht gültig.“
lFehlercodes[„204“] = „Die angefragte USt-IdNr. ist nicht mehr gültig.“
lFehlercodes[„205“] = „Die Anfrage kann derzeit nicht beantwortet werden. Bitte später erneut versuchen.“
lFehlercodes[„206“] = „Die eigene deutsche USt-IdNr. ist ungültig.“
lFehlercodes[„208“] = „Die USt-IdNr. wird derzeit bereits geprüft. Bitte später erneut versuchen.“
lFehlercodes[„209“] = „Die angefragte USt-IdNr. entspricht nicht dem gültigen Aufbau.“
lFehlercodes[„210“] = „Die Prüfziffer der USt-IdNr. ist ungültig.“
lFehlercodes[„211“] = „Die USt-IdNr. enthält unzulässige Zeichen.“
lFehlercodes[„212“] = „Die USt-IdNr. enthält ein ungültiges Länderkennzeichen.“
lFehlercodes[„213“] = „Keine Berechtigung zur Abfrage dieser USt-IdNr.“
lFehlercodes[„214“] = „Die eigene deutsche USt-IdNr. ist fehlerhaft.“
lFehlercodes[„215“] = „Es fehlen notwendige Angaben für die Anfrage.“
lFehlercodes[„216“] = „Unvollständige Angaben für qualifizierte Prüfung.“
lFehlercodes[„217“] = „Fehler bei der Verarbeitung der Daten.“
lFehlercodes[„218“] = „Qualifizierte Bestätigung derzeit nicht möglich.“
lFehlercodes[„219“] = „Fehler bei der qualifizierten Bestätigung.“
lFehlercodes[„221“] = „Ungültige Parameter oder Datentypen.“
lFehlercodes[„223“] = „Die USt-IdNr. ist gültig.“

— Eigene USt-ID laden
lMandant = GetBueroPlusMandant()

If GetTable(„Mandant“, „Nr“, „MandNr“, lMandant)

lEigeneUstID = Mandant.UStId

— Nur Kundenaufträge prüfen
If Vorgang.Art = 30 Then

If GetTable(„Adressen“, „Nr“, „AdrNr“, Vorgang.AdrNr) Then

lFirma = Vorgang.ReNa2
lOrt = Vorgang.ReOrt
lPLZ = Vorgang.RePLZ
lStrasse = Vorgang.ReStr

lKundeUstID = Replace(Vorgang.UStId, „.“, „“)

— REST API URL
lURL = „https://api.workflowplus.ch/ustid/pruefen“

— JSON Body erzeugen
lBody = „{“
lBody = lBody + Chr(34) + „anfragendeUstid“ + Chr(34) + „:“ + Chr(34) + lEigeneUstID + Chr(34) + „,“
lBody = lBody + Chr(34) + „angefragteUstid“ + Chr(34) + „:“ + Chr(34) + lKundeUstID + Chr(34) + „,“
lBody = lBody + Chr(34) + „firmenname“ + Chr(34) + „:“ + Chr(34) + lFirma + Chr(34) + „,“
lBody = lBody + Chr(34) + „ort“ + Chr(34) + „:“ + Chr(34) + lOrt + Chr(34) + „,“
lBody = lBody + Chr(34) + „plz“ + Chr(34) + „:“ + Chr(34) + lPLZ + Chr(34) + „,“
lBody = lBody + Chr(34) + „strasse“ + Chr(34) + „:“ + Chr(34) + lStrasse + Chr(34)
lBody = lBody + „}“

— Header setzen
lHeaders = „Content-Type: application/json“

— REST Request senden
lTemp = HttpRequest2(lURL, lBody, lHeaders, , , „POST“)

— JSON Antwort verarbeiten
lJson = JsonParse(lTemp)

lAntwortCode = JsonGetString(lJson, „code“)
lAntwortText = JsonGetString(lJson, „message“)

— Ergebnis verarbeiten
If lAntwortCode <> „999“ and lAntwortCode <> „205“ and lAntwortCode <> „208“ Then

— Beispiel:
— Vorgang.SelXYZ = true
— Vorgang.SelXYZ = lFehlercodes[lAntwortCode]
— Vorgang.SelXYZ = DateTimeFormat(NowDate, „dd.MM.yyyy“)
— Vorgang.SelXYZ = lAntwortText

EndIf

EndIf

EndIf

EndIf


 

Die REST-API liefert die Antwort als JSON zurück. Relevante Rückgabewerte sind unter anderem der Rückgabecode („code“) sowie die zugehörige Meldung („message“).

 

Copyright 2023 Workflow+