MonkeyOffice Connect: Umsatzsteuer-ID prüfen

/, PowerShell/MonkeyOffice Connect: Umsatzsteuer-ID prüfen

MonkeyOffice Connect: Umsatzsteuer-ID prüfen

Hallo zusammen,

da wir für die Erstellung unserer Rechnungen das Programm MonkeyOffice nutzen, welches durch die Applikation MonkeyOffice Connect eine API anbietet, wollte ich diese gerne Testen.

Aus den ersten Tests der API ist das nachfolgende PowerShell-Skript entstanden, welches die UID-Nummern der Kunden auf ihre Gültigkeit prüft.

Als Webschnittstelle für die Überprüfung der UID-Nummer wird der Dienst https://www.isvat.eu genutzt, welcher bis zu 1000 kostenlose Abfragen pro Monat erlaubt.

Das Skript ist unter PowerShell für Windows oder PowerShell für Linux lauffähig.

#   powershell script, that checks if customer vat id is valid
#   for monkey office connect
#   (c) 2017 by Ing. Martin Strasser // www.msnetworks.eu 

# login- and server-information
$user = "user"
$pass = "pass"
$apiurl = "https://monkeyofficeserver:8443/monkeyOfficeConnectJSON"
$secpasswd = ConvertTo-SecureString $pass -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ($user, $secpasswd)
 
# get the company-id via api
$firmaid = $(irm -Uri $apiurl -Method Post -Credential $cred -ContentType "application/json" `
  -Body '{ "firmaList":"" }').firmaListResponse.ReturnData.FirmaListItem.Firma_ID
 
# get all addresses from the company
$addresses = $(irm -Uri $apiurl -Method Post -Credential $cred -ContentType "application/json" `
  -Body '{ "adresseList":"" }' -Headers @{"mbl-ident" = $firmaid}).adresseListResponse.ReturnData.AdresseListItem

foreach ($address in $addresses) {
  # json-object to get detailed address information
  $body = @{
    "adresseGet" = @{
      "Adresse_ID" = $address.Adresse_ID
    }
  }
 
  # get only the vat-id from address-object
  $ustid = $(irm -Uri $apiurl -Method Post -Credential $cred-ContentType "application/json"`
    -Body $($body | convertto-json) -Headers @{"mbl-ident" = $firmaid} ).adresseGetResponse.ReturnData.AdresseItem.UstID
 
  # if vat-id is filled and address-type is customer
  if($ustid -ne "" -and ($address.KundenStatus-eq1) ) {
    write-host "$($address.AdressNr): $($address.Matchcode)$ustid " -nonewline
  
    $vatid = $ustid.Substring(2)
    $country = $ustid.Replace($vatid,"")
    $vatresult = iwr "https://www.isvat.eu/live/$country/$vatid" | convertfrom-json
 
    if($vatresult.valid-eq$true) {
      write-host "VAT-ID true" -fore green
    }
    else {
      write-host "VAT-ID false" -fore red
    }
  }
}
By | 2017-10-09T08:34:38+00:00 Oktober 8th, 2017|MonkeyOffice, PowerShell|0 Kommentare

About the Author: