pixiGetVATByCountries
Liefert die vollen und ermäßigten Mehrwertsteuersätze je Land, die zu einem Zeitpunkt gültig sind, gefiltert nach ISO-Ländercode und/oder MwSt-Kennzeichen.
Ermittelt Mehrwertsteuersätze aus den MwSt-Stammdaten (VATs), verknüpft mit den Länderstammdaten (Countries) über VATs.Country = Countries.CntCode.
Parameterbehandlung
- Leere Zeichenketten in
CntCodeISO2,CntCodeISO3undChargeVATwerden als nicht angegeben (NULL) behandelt. - Ein
Datetimevor dem01.01.1990wird durch das aktuelle Datum mit Uhrzeit ersetzt.
Prüfung
Statt Daten wird eine Fehlerzeile geliefert, wenn Datetime fehlt oder keiner der Parameter CntCodeISO2, CntCodeISO3 und ChargeVAT angegeben ist. Erforderlich sind also ein Datum und mindestens ein weiterer Filter.
Filter
CntCodeISO2: nur Länder mit diesem ISO-3166-Alpha-2-Code.CntCodeISO3: nur Länder mit diesem ISO-3166-Alpha-3-Code.ChargeVAT: nur MwSt-Datensätze mit diesemChargeVAT-Wert.Datetime: nur MwSt-Datensätze, deren Gültigkeitszeitraum das Datum enthält (DateStart<=Datetime<=DateEnd, beide Grenzen inklusive).
Alle angegebenen Filter werden mit UND verknüpft. Eine explizite Sortierung gibt es nicht.
Hinweise
- Beide Tabellen werden mit
NOLOCKgelesen; nicht festgeschriebene Änderungen können sichtbar sein. - MwSt-Datensätze mit
NULLinDateStartoderDateEndwerden nie gefunden, da der Datumsvergleich beiNULLnicht wahr ist. - Ein sehr altes Datum (vor 1990) liefert stillschweigend die aktuell gültigen Sätze statt historischer Werte.
DateEndwird inklusive Uhrzeit verglichen; istDateEndals Mitternacht gespeichert, passt ein späterer Zeitpunkt am selben Tag nicht mehr.- Die Bedeutung der
ChargeVAT-Werte ist in dieser Prozedur nicht festgelegt, sondern ergibt sich aus dem Inhalt der TabelleVATs. - Wird nur ein Ländercode angegeben, können mehrere Zeilen je Land geliefert werden, z. B. eine je
ChargeVAT-Wert.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
CntCodeISO2
|
char(2) string |
NULL |
ISO-3166-Alpha-2-Ländercode als Filter. Leere Zeichenkette bedeutet kein Filter. Beispiel: |
CntCodeISO3
|
char(3) string |
NULL |
ISO-3166-Alpha-3-Ländercode als Filter. Leere Zeichenkette bedeutet kein Filter. Beispiel: |
ChargeVAT
|
char(1) string |
NULL |
Wert der Spalte |
Datetime
|
datetime dateTime |
NULL |
Zeitpunkt, zu dem die MwSt-Sätze gültig sein müssen. Faktisch Pflicht: ohne Angabe wird eine Fehlerzeile geliefert. Werte vor dem 01.01.1990 werden durch das aktuelle Datum mit Uhrzeit ersetzt. Beispiel: |
Antwort
Result-Set 1 · Wenn Datetime und mindestens einer der Parameter CntCodeISO2, CntCodeISO3, ChargeVAT angegeben sind
Zum angegebenen Zeitpunkt gültige MwSt-Sätze, eine Zeile je passendem MwSt-Datensatz.
| Spalte | Typ | Beschreibung |
|---|---|---|
CntName
Kann leer sein |
string |
Ländername aus den Länderstammdaten. |
CntCodeISO2
Kann leer sein |
string |
ISO-3166-Alpha-2-Ländercode. |
CntCodeISO3
Kann leer sein |
string |
ISO-3166-Alpha-3-Ländercode. |
ChargeVAT
Kann leer sein |
string |
|
PHigh
Kann leer sein |
decimal |
Voller (regulärer) MwSt-Satz. |
PLow
Kann leer sein |
decimal |
Ermäßigter MwSt-Satz. |
Result-Set 2 · Wenn Datetime fehlt oder keiner der Parameter CntCodeISO2, CntCodeISO3, ChargeVAT angegeben ist
Fehler-Statuszeile.
| Spalte | Typ | Beschreibung |
|---|---|---|
ReturnCode
|
varchar(5) string |
Immer |
ErrorMsg
|
varchar(66) string |
Fehlertext. |
Beispielantwort
<SqlRowSet1>
<row>
<CntName>Deutschland</CntName>
<CntCodeISO2>DE</CntCodeISO2>
<CntCodeISO3>DEU</CntCodeISO3>
<ChargeVAT>Y</ChargeVAT>
<PHigh>19.00</PHigh>
<PLow>7.00</PLow>
</row>
</SqlRowSet1>
Fehlermeldungen
| Status | Meldung | Ursache |
|---|---|---|
| ERROR | Please specify the datetime and at least one additional parameter | `Datetime` wurde nicht übergeben (bzw. ist NULL) oder keiner der Parameter `CntCodeISO2`, `CntCodeISO3` und `ChargeVAT` wurde angegeben (bzw. alle sind leer). Ein Datum und mindestens ein Filter sind zu übergeben. |
Beispiele
POST https://apigateway.descartes.com/tms/pixi/
Content-Type: text/xml; charset=utf-8
Authorization: Basic BASE64(USERNAME:PASSWORD)
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiGetVATByCountries>
<!-- <CntCodeISO2>DE</CntCodeISO2> -->
<!-- <CntCodeISO3>DEU</CntCodeISO3> -->
<!-- <ChargeVAT>?</ChargeVAT> -->
<!-- <Datetime>2024-03-15T12:00:00</Datetime> -->
</ns1:pixiGetVATByCountries>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
curl -X POST 'https://apigateway.descartes.com/tms/pixi/' \
--user 'USERNAME:PASSWORD' \
--header 'Content-Type: text/xml; charset=utf-8' \
--data-binary @- <<'XML'
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiGetVATByCountries>
<!-- <CntCodeISO2>DE</CntCodeISO2> -->
<!-- <CntCodeISO3>DEU</CntCodeISO3> -->
<!-- <ChargeVAT>?</ChargeVAT> -->
<!-- <Datetime>2024-03-15T12:00:00</Datetime> -->
</ns1:pixiGetVATByCountries>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML
<?php
$soapClient = new SoapClient(null, [
'login' => 'USERNAME',
'password' => 'PASSWORD',
'location' => 'https://apigateway.descartes.com/tms/pixi/',
'uri' => 'https://apigateway.descartes.com/tms/pixi/',
]);
$arguments = [
// 'CntCodeISO2' => 'DE',
// 'CntCodeISO3' => 'DEU',
// 'ChargeVAT' => '?',
// 'Datetime' => '2024-03-15T12:00:00',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetVATByCountries', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetVATByCountries