pixiDatevExportPosWires
Liefert POS-Barzahlungen und optional Kassensitzungs-Ereignisse eines Zeitraums als Buchungszeilen für einen DATEV-Export.
Der Aufruf gibt alle Parameter unverändert an die interne Prozedur Pixi_DatevExportPOSWires weiter und liefert deren Ergebnis. Jede Zeile ist eine Buchungszeile für einen DATEV-Export.
Zeitraum
DateFromwird auf den Tagesbeginn gesetzt.DateTowird auf das Tagesende gesetzt.- Berücksichtigt werden Datensätze, deren Datum zwischen
DateFromund einer Sekunde vor dem angepasstenDateToliegt.
Teil 1 – POS-Zahlungen (POSPayment, verknüpft mit Kassenbon-Kopf und Kundenadresse)
- Ist die Einstellung
ConsiderAllPosEvents0(Standard), werden nur Zahlungen mit ZahlungscodeBexportiert. Ist sie1, werden Zahlungen mit allen Zahlungscodes exportiert. ShopIdfiltert auf den Shop der Kundenadresse (AddrShopID).Countryfiltert auf die SpalteCountry.AmoutFrom/AmoutTofiltern auf den Absolutbetrag; beide Grenzen sind inklusiv.Signist das Minuszeichen bei Zahlungscode-(Wechselgeld) oder negativem Betrag, sonst das Pluszeichen.CustomerNrsind die ersten 10 Zeichen der externen Kundennummer. Ist diese leer, wird die EinstellungDefaultCustomerAccountNumberverwendet, sonst0.InvoiceNrist die Belegnummer des Kassenbons.WireTextistChangebei Zahlungscode-, sonst leer.
Teil 2 – Sitzungsereignisse (POSSession_event)
- Nur enthalten, wenn
ConsiderAllPosEvents1ist. - Umfasst die Ereignistypen
D(Drawer Open),E(Session Stop) undS(Session Start) im Zeitraum. ShopId,Countryund die Betragsfilter gelten für diesen Teil nicht.Amountist der Absolutwert aus Einnahme minus Ausgabe.Signist Plus, wenn die Differenz ≥ 0 ist, sonst Minus.CustomerNrist das Standard-Kundenkonto.InvoiceNrist leer.WireTextist der Ereignisname, gefolgt von-und dem Ereigniskommentar, falls vorhanden.
Vorzeichen
Ist die Einstellung BookExportDatevPro gesetzt (nicht 0), lauten die Vorzeichen s (Soll) und h (Haben). Andernfalls lauten sie + und -.
Gemeinsame Spalten
Currencyist immerEUR.BankAccountNrist die EinstellungAccountNumberPOSPayment, oder0, falls sie nicht gesetzt ist.- Die Spalten
Empty1–Empty6sind leere Platzhalter für das DATEV-Dateiformat.
Sortierung: BankAccountNr, dann BankDate, dann Sign absteigend.
Hinweise
- Die Parameternamen
AmoutFromundAmoutTosind im Code falsch geschrieben (fehlendesn). Sie müssen genau so übergeben werden. - Das Verhalten hängt von den Einstellungen
BookExportDatevPro,AccountNumberPOSPayment,DefaultCustomerAccountNumberundConsiderAllPosEventsab. Diese werden zur Laufzeit überdbo.SettingGetgelesen. - Die genauen Tagesgrenzen stammen aus
fPixi_GetDateStartOfDay/fPixi_GetDateEndOfDay, die nicht beiliegen. Laut Code-Kommentar wird vom Ende eine Sekunde abgezogen, damit Zeilen mit 00:00:00 nicht doppelt exportiert werden. - Beide Teile werden mit
UNIONstattUNION ALLzusammengeführt. Vollständig identische Zeilen erscheinen daher nur einmal. Das kann zum Beispiel bei zwei gleichen Zahlungen auf demselben Bon zur selben Zeit vorkommen. - Alle Tabellen werden mit
NOLOCKgelesen; nicht festgeschriebene Daten können enthalten sein. - Der Filter
ShopIdtrifft nur Zahlungen mit verknüpfter Kundenadresse. - Die Währung wird immer als
EURausgegeben, unabhängig von der tatsächlichen Zahlungswährung. - Nur lesend; es werden keine Daten geändert.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
DateFrom
Pflicht
|
datetime dateTime |
– |
Beginn des Zeitraums. Wird auf den Tagesbeginn gesetzt. Beispiel: |
DateTo
Pflicht
|
datetime dateTime |
– |
Ende des Zeitraums. Wird auf das Tagesende gesetzt, der angegebene Tag ist also enthalten. Beispiel: |
ShopId
|
varchar(3) string |
NULL |
Optionaler Shop-Filter auf den Shop der Kundenadresse ( Beispiel: |
Country
|
varchar(3) string |
NULL |
Optionaler Filter auf die Spalte Beispiel: |
AmoutFrom
|
money decimal |
NULL |
Optionaler Mindest-Absolutbetrag der Zahlung (inklusiv). Gilt nur für POS-Zahlungen. Schreibweise beachten. Beispiel: |
AmoutTo
|
money decimal |
NULL |
Optionaler Höchst-Absolutbetrag der Zahlung (inklusiv). Gilt nur für POS-Zahlungen. Schreibweise beachten. Beispiel: |
Antwort
Result-Set 1 · Immer (ggf. leer).
DATEV-Buchungszeilen für POS-Zahlungen und, abhängig von ConsiderAllPosEvents, Sitzungsereignisse. Sortiert nach BankAccountNr, BankDate, Sign absteigend.
| Spalte | Typ | Beschreibung |
|---|---|---|
Currency
|
varchar(3) string |
Immer |
Sign
|
char(1) string |
|
Amount
Kann leer sein |
money decimal |
Absolutbetrag der Zahlung bzw. Einnahme minus Ausgabe bei Sitzungsereignissen. |
Empty1
|
varchar(1) string |
Leerer Platzhalter. |
CustomerNr
|
varchar(255) string |
Externe Kundennummer (max. 10 Zeichen), sonst Standard-Kundenkonto oder |
InvoiceNr
Kann leer sein |
string |
Belegnummer des Kassenbons; leer bei Sitzungsereignissen. |
Empty2
|
varchar(1) string |
Leerer Platzhalter. |
BankDate
|
datetime dateTime |
Bondatum bzw. Ereigniszeitpunkt. |
BankAccountNr
|
varchar(255) string |
Wert der Einstellung |
Empty3
|
varchar(1) string |
Leerer Platzhalter. |
Empty4
|
varchar(1) string |
Leerer Platzhalter. |
Empty5
|
varchar(1) string |
Leerer Platzhalter. |
Empty6
|
varchar(1) string |
Leerer Platzhalter. |
WireText
|
varchar string |
|
Beispielantwort
<SqlRowSet1>
<row>
<Currency>EUR</Currency>
<Sign>+</Sign>
<Amount>49.9000</Amount>
<Empty1/>
<CustomerNr>10000</CustomerNr>
<InvoiceNr>POS-2024-001234</InvoiceNr>
<Empty2/>
<BankDate>2024-03-05T14:22:10</BankDate>
<BankAccountNr>1000</BankAccountNr>
<Empty3/>
<Empty4/>
<Empty5/>
<Empty6/>
<WireText/>
</row>
<row>
<Currency>EUR</Currency>
<Sign>-</Sign>
<Amount>0.1000</Amount>
<Empty1/>
<CustomerNr>10000</CustomerNr>
<InvoiceNr>POS-2024-001234</InvoiceNr>
<Empty2/>
<BankDate>2024-03-05T14:22:10</BankDate>
<BankAccountNr>1000</BankAccountNr>
<Empty3/>
<Empty4/>
<Empty5/>
<Empty6/>
<WireText>Change</WireText>
</row>
</SqlRowSet1>
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:pixiDatevExportPosWires>
<DateFrom>2024-03-01T00:00:00</DateFrom>
<DateTo>2024-03-31T00:00:00</DateTo>
<!-- <ShopId>001</ShopId> -->
<!-- <Country>DE</Country> -->
<!-- <AmoutFrom>0.01</AmoutFrom> -->
<!-- <AmoutTo>10000.00</AmoutTo> -->
</ns1:pixiDatevExportPosWires>
</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:pixiDatevExportPosWires>
<DateFrom>2024-03-01T00:00:00</DateFrom>
<DateTo>2024-03-31T00:00:00</DateTo>
<!-- <ShopId>001</ShopId> -->
<!-- <Country>DE</Country> -->
<!-- <AmoutFrom>0.01</AmoutFrom> -->
<!-- <AmoutTo>10000.00</AmoutTo> -->
</ns1:pixiDatevExportPosWires>
</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-03-01T00:00:00',
'DateTo' => '2024-03-31T00:00:00',
// 'ShopId' => '001',
// 'Country' => 'DE',
// 'AmoutFrom' => '0.01',
// 'AmoutTo' => '10000.00',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiDatevExportPosWires', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiDatevExportPosWires