pixiGetDatevExportAddresses
Liefert Kunden- (und optional Lieferanten-)Adressdaten für die DATEV-Exportdatei, gefiltert nach Zeitraum, Shop, Land, E-Mail, DATEV-Konto und Kostenstelle.
Stellt die Adressstammdaten (Debitoren und optional Kreditoren) für einen DATEV-Export bereit.
- Zuerst wird die Einstellung
BookExportDatevActivegeprüft. Ist sie nicht1, wird nur eine Fehlerzeile (Status=ERROR) zurückgegeben. - Andernfalls werden alle Kunden ermittelt, die im Zeitraum
@DateFrom(einschließlich) bis@DateTo(ausschließlich) mindestens eine Rechnung mitInvDateoder mindestens eine Auftragsposition mitOrderDatehaben. Die Datumswerte werden exakt wie übergeben verwendet, inklusive Uhrzeit. - Für diese Kunden wird die Hauptadresse zusammen mit Shop- und Länderdaten geliefert. Optionale Filter (jeweils ignoriert bei
NULL):ShopId: Shop der AdresseCostCenter: Kostenstelle des Shops (Leerstring gilt alsNULL)Country: Pixi-Ländercode der AdresseEmail: exakte E-Mail-AdresseDatevUserAccount: DATEV-Kontonummer des Kunden
- Ist die Einstellung
BookExportDatevKreditorenActivegleich1, werden zusätzlich alle Lieferanten mit nicht leerer Kundennummer (CustNr) als Kreditoren angehängt. Für Lieferanten gelten nur die FilterCountry,EmailundDatevUserAccount; Zeitraum, Shop und Kostenstelle werden nicht berücksichtigt. - Aus allen Werten werden doppelte Anführungszeichen entfernt und Semikolons durch Leerzeichen ersetzt, sodass die Werte direkt in eine semikolongetrennte Datei geschrieben werden können.
Das Ergebnis ist nach CustomerNr (als Text) sortiert.
Hinweise
- Nur lesend; alle Tabellen werden mit
NOLOCKgelesen, daher können nicht festgeschriebene Daten erscheinen. @DateToist exklusiv, und es erfolgt keine Anpassung auf Tagesbeginn/-ende. Für einen vollständigen Tag ist der Folgetag 00:00 als@DateTozu übergeben.- Einstellungen, die das Ergebnis beeinflussen (fehlende Einstellung gilt als
0):BookExportDatevActive: muss1sein, sonst wird nur die Fehlerzeile geliefert.BookExportDatevKreditorenActive: hängt Lieferanten als Kreditoren an.BookUseISOCntCode:ZipOlderhält den ISO3-Ländercode statt des Pixi-Ländercodes als Präfix (bei Lieferanten wird der ISO3-Code zusätzlich vor den Pixi-Code gesetzt).RemoveNonASCII: entfernt Nicht-ASCII-Zeichen ausCity.
- Kunden, deren Adressland nicht in der Ländertabelle steht oder deren Adress-Shop nicht existiert, werden nicht geliefert (Inner Joins).
- Die interne Prozedur kann ein Shop-Kürzel mit mehr als 3 Zeichen auflösen, dieser Call deklariert
ShopIdjedoch alsvarchar(3), daher ist nur die 3-stellige Shop-ID verwendbar. Companyenthält das vollständige c/o-Feld der Adresse,Name2dasselbe Feld auf 40 Zeichen gekürzt.ShortCodeist immer leer,Empty1immer ein Leerstring.- Lieferantenzeilen ohne passenden Ländereintrag erhalten als Vorgabe
Country=D,CountryISO3=DEU,CountryISO2=DEundCountryKFZ=D; sobald nachCountrygefiltert wird, fallen solche Zeilen jedoch heraus.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
DateFrom
Pflicht
|
datetime dateTime |
– |
Beginn des Zeitraums (einschließlich) für Rechnungs- und Auftragsdatum zur Auswahl der Kunden. Beispiel: |
DateTo
Pflicht
|
datetime dateTime |
– |
Ende des Zeitraums (ausschließlich) für Rechnungs- und Auftragsdatum. Beispiel: |
ShopId
|
varchar(3) string |
NULL |
Optionale Shop-ID; nur Kunden, deren Adresse zu diesem Shop gehört. Gilt nicht für Lieferanten. Beispiel: |
Country
|
varchar(3) string |
NULL |
Optionaler Pixi-Ländercode der Adresse (Kundenadresse bzw. Lieferantenland). Beispiel: |
Email
|
varchar(60) string |
NULL |
Optionale exakte E-Mail-Adresse der Kundenadresse bzw. des Lieferanten. Beispiel: |
DatevUserAccount
|
varchar(10) string |
NULL |
Optionale DATEV-Kontonummer: DATEV-Kontonummer des Kunden bzw. Kundennummer beim Lieferanten (erste 10 Zeichen). Beispiel: |
CostCenter
|
varchar(8) string |
NULL |
Optionale Kostenstelle des Shops; ein Leerstring gilt als kein Filter. Gilt nicht für Lieferanten. Beispiel: |
Antwort
Result-Set 1 · Wenn Einstellung BookExportDatevActive = 1
Adresszeilen für den DATEV-Export (Kunden, optional Lieferanten), sortiert nach CustomerNr.
| Spalte | Typ | Beschreibung |
|---|---|---|
CustomerNr
Kann leer sein |
varchar(10) string |
DATEV-Kontonummer des Kunden bzw. Kundennummer beim Lieferanten. |
Name
Kann leer sein |
varchar(40) string |
Name der Adresse bzw. Lieferantenname, max. 40 Zeichen. |
Name2
Kann leer sein |
varchar(40) string |
c/o-Feld der Adresse bzw. zweiter Lieferantenname, max. 40 Zeichen. |
Company
Kann leer sein |
varchar(60) string |
c/o-Feld der Adresse; leer bei Lieferanten. |
FirstName
Kann leer sein |
varchar(40) string |
Vorname; leer bei Lieferanten. |
LastName
Kann leer sein |
varchar(40) string |
Nachname; leer bei Lieferanten. |
ShortCode
Kann leer sein |
int |
Platzhalterspalte, immer NULL. |
VatId
Kann leer sein |
varchar(20) string |
USt-IdNr. der Adresse; leer bei Lieferanten. |
Street
Kann leer sein |
varchar(30) string |
Straße, max. 30 Zeichen. |
Empty1
|
varchar(1) string |
Platzhalterspalte, immer Leerstring. |
ZipOld
Kann leer sein |
varchar(20) string |
PLZ mit Länderpräfix (z. B. |
Zip
Kann leer sein |
varchar(10) string |
Postleitzahl. |
Country
Kann leer sein |
varchar(3) string |
Pixi-Ländercode. |
CountryISO3
Kann leer sein |
varchar(3) string |
ISO-3166-Alpha-3-Ländercode. |
CountryISO2
Kann leer sein |
varchar(2) string |
ISO-3166-Alpha-2-Ländercode. |
CountryKFZ
Kann leer sein |
varchar(60) string |
Kfz-Länderkennzeichen / Ländername aus der Ländertabelle ( |
City
Kann leer sein |
varchar(30) string |
Ort, max. 30 Zeichen. |
Phone
Kann leer sein |
varchar(60) string |
Telefonnummer. |
Fax
Kann leer sein |
varchar(60) string |
Faxnummer. |
eMail
Kann leer sein |
varchar(60) string |
E-Mail-Adresse. |
CostCenter
Kann leer sein |
varchar(8) string |
Kostenstelle des Shops; NULL bei Lieferanten. |
Result-Set 2 · Wenn Einstellung BookExportDatevActive nicht 1 ist
Einzelne Fehlerzeile.
| Spalte | Typ | Beschreibung |
|---|---|---|
Status
|
varchar(5) string |
Immer |
StatusMessage
|
varchar(65) string |
Fehlertext. |
Beispielantwort
<SqlRowSet1>
<row>
<CustomerNr>10001</CustomerNr>
<Name>Max Mustermann</Name>
<Name2/>
<Company/>
<FirstName>Max</FirstName>
<LastName>Mustermann</LastName>
<VatId/>
<Street>Musterstr. 1</Street>
<Empty1/>
<ZipOld>D-12345</ZipOld>
<Zip>12345</Zip>
<Country>D</Country>
<CountryISO3>DEU</CountryISO3>
<CountryISO2>DE</CountryISO2>
<CountryKFZ>D</CountryKFZ>
<City>Berlin</City>
<Phone>030 123456</Phone>
<Fax/>
<eMail>max.mustermann@example.com</eMail>
<CostCenter>1000</CostCenter>
</row>
</SqlRowSet1>
Fehlermeldungen
| Status | Meldung | Ursache |
|---|---|---|
| ERROR | Setting "DATEV API Calls" (BookExportDatevActive) is not enabled. | Die Einstellung `BookExportDatevActive` fehlt oder ist nicht auf 1 gesetzt. "DATEV API Calls" in den Pixi-Einstellungen aktivieren. |
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:pixiGetDatevExportAddresses>
<DateFrom>2024-01-01T00:00:00</DateFrom>
<DateTo>2024-02-01T00:00:00</DateTo>
<!-- <ShopId>001</ShopId> -->
<!-- <Country>D</Country> -->
<!-- <Email>max.mustermann@example.com</Email> -->
<!-- <DatevUserAccount>10001</DatevUserAccount> -->
<!-- <CostCenter>1000</CostCenter> -->
</ns1:pixiGetDatevExportAddresses>
</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:pixiGetDatevExportAddresses>
<DateFrom>2024-01-01T00:00:00</DateFrom>
<DateTo>2024-02-01T00:00:00</DateTo>
<!-- <ShopId>001</ShopId> -->
<!-- <Country>D</Country> -->
<!-- <Email>max.mustermann@example.com</Email> -->
<!-- <DatevUserAccount>10001</DatevUserAccount> -->
<!-- <CostCenter>1000</CostCenter> -->
</ns1:pixiGetDatevExportAddresses>
</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 = [
'DateFrom' => '2024-01-01T00:00:00',
'DateTo' => '2024-02-01T00:00:00',
// 'ShopId' => '001',
// 'Country' => 'D',
// 'Email' => 'max.mustermann@example.com',
// 'DatevUserAccount' => '10001',
// 'CostCenter' => '1000',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetDatevExportAddresses', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetDatevExportAddresses