pixiGetCustomerEvents
Liefert die Kundenkontobuchungen (Rechnungen, Zahlungen, Lastschriften, manuelle Buchungen), gefiltert nach Kunde, Ereignistyp und Zeitraum.
Liest Einträge aus dem Kundenkonto (CustomerAccount) und ergänzt sie um Anzeige- und Statusinformationen.
Filter (alle optional, UND-verknüpft; ein weggelassener oder NULL-Parameter filtert nicht):
CustKey: nur Einträge, derenCustRefdiesem Kundenschlüssel entspricht.EventID: nur Einträge dieses Ereignistyps.DateFrom/DateTo: nur Einträge mitEventDateim Zeitraum (beide Grenzen inklusive).
Ohne Parameter werden alle Kundenkontoeinträge geliefert.
Ergänzungen je Eintrag:
EventName: Bezeichnung des Ereignistyps ausCustomerAccountEvents, übersetzt über die Übersetzungstabelle (Sprach-ID 2, Rückfall auf den unübersetzten Text). Bei Einträgen mit Bezug auf eine Lastschrift (DTAUSrefgesetzt) wird der übersetzte Lastschriftstatus in eckigen Klammern angehängt, z. B.Lastschrift [Exportiert].Number: lesbare Referenz je nach verknüpftem Objekt, in dieser Reihenfolge geprüft: Rechnungsnummer (InvoiceRef), BankzeilentextBankText01(BanklineRef), Kontonummer der Lastschrift (DTAUSref), Referenz der manuellen Buchung (ManualBookingRef), sonst eine leere Zeichenkette.OpenTOMatch:Amountabzüglich des bereits ausgeglichenen Betrags (NULL zählt als 0).AllowToDelete: 1, wenn der Eintrag gelöscht werden darf, sonst 0. Löschbar ist ein Eintrag nur, wenn er mit keinem anderen Eintrag ausgeglichen ist und entweder Ereignistyp und Lastschriftstatus das Löschen erlauben oder er zu einer Rechnung gehört, die nicht bezahlt ist, nicht per Kreditkarte bezahlt wurde (CCPPaymentDoneungleichY), keine Mahnzeilen hat und deren Positionen alle im StatusEINoder alle im StatusRETsind (oder keine Positionen hat).CCPTranLogKey: ein Kreditkarten-Transaktionsprotokolleintrag desselben Kunden, dessen Rechnungsnummer der Rechnungsnummer oder der Bezugsrechnungsnummer der verknüpften Rechnung entspricht.OrderCurrency: Währungscode (CodeA) des Eintrags.IsDeleted: immer 0.
Das Ergebnis hat keine definierte Sortierung.
Hinweise
- Alle Lesezugriffe verwenden
NOLOCK, daher können nicht festgeschriebene Daten erscheinen. - Die Einstellung
CaEnabledändert die Prüfung auf "bezahlt" fürAllowToDelete: Ist sie0oder nicht vorhanden, wirdInvoices.Payedverwendet, sonst das jüngste Anlagedatum inCustomerAccountMatchfür den Eintrag. - Die Löschregel ist eine Inline-Kopie von
fPixi_CA_canIdeleteEvent, jedoch ohne die zusätzliche Prüfung des Scan-Out-Datums der Rechnung (ScanOutDate). Ergebnisse können daher von der Funktion abweichen. - Einträge, deren
CurrencyIdkeinen Datensatz inpixi.Currencyhat, werden nicht geliefert (Inner Join). - Hat der Ereignistyp keinen Datensatz in
CustomerAccountEvents, sindEventNameundAllowToDeleteNULL. DateTowird mit<=verglichen; ein reines Datum wie2024-03-31bedeutet Mitternacht, spätere Einträge dieses Tages fehlen.- Verweisen mehrere gelieferte Einträge auf dieselbe Lastschrift (
DTAUSref), kann das Anlegen eines eindeutigen Index auf einer internen temporären Tabelle mit einem SQL-Fehler scheitern; ein Filter auf den Kunden vermeidet dies in der Regel. - Die View
PV_CustomerAccountMatchGroupbasiert aufPV_CustomerAccountBond, deren Definition nicht vorliegt.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
CustKey
|
int | NULL |
Kundenschlüssel ( Beispiel: |
EventID
|
varchar(3) string |
NULL |
Ereignistyp-ID aus Beispiel: |
DateFrom
|
datetime dateTime |
NULL |
Untergrenze für Beispiel: |
DateTo
|
datetime dateTime |
NULL |
Obergrenze für Beispiel: |
Antwort
Result-Set 1 · Immer (kann leer sein)
Eine Zeile je passendem Kundenkontoeintrag.
| Spalte | Typ | Beschreibung |
|---|---|---|
CustomerAccountKey
|
int |
Schlüssel des Kundenkontoeintrags. |
CustRef
Kann leer sein |
int |
Kundenschlüssel. |
EventDate
Kann leer sein |
dateTime |
Datum des Ereignisses. |
EventID
Kann leer sein |
string |
Ereignistyp-ID. |
EventName
Kann leer sein |
varchar(200) string |
Übersetzte Bezeichnung des Ereignistyps; bei Lastschrifteinträgen gefolgt vom übersetzten Lastschriftstatus in eckigen Klammern. |
Number
Kann leer sein |
string |
Rechnungsnummer, Bankzeilentext, Kontonummer der Lastschrift oder Referenz der manuellen Buchung, je nach verknüpftem Objekt; leere Zeichenkette, wenn keines. |
Reference
Kann leer sein |
string |
Referenztext des Eintrags. |
Amount
Kann leer sein |
decimal |
Betrag des Eintrags. |
OpenTOMatch
Kann leer sein |
decimal |
Noch auszugleichender Betrag ( |
DoNotRefund
Kann leer sein |
boolean |
Kennzeichen, dass der Betrag nicht erstattet werden darf. |
InvoiceRef
Kann leer sein |
int |
Schlüssel der verknüpften Rechnung. |
BanklineRef
Kann leer sein |
int |
Schlüssel der verknüpften Bankzeile. |
DTAUSref
Kann leer sein |
int |
Schlüssel der verknüpften Lastschrift ( |
ManualBookingRef
Kann leer sein |
int |
Schlüssel der verknüpften manuellen Buchung. |
AllowToDelete
Kann leer sein |
int |
1 = Eintrag darf gelöscht werden, 0 = nicht; NULL bei unbekanntem Ereignistyp. |
IsDeleted
|
bit boolean |
Immer 0. |
CCPTranLogKey
Kann leer sein |
int |
Schlüssel eines passenden Kreditkarten-Transaktionsprotokolleintrags, falls vorhanden. |
OrderCurrency
Kann leer sein |
string |
Währungscode ( |
Beispielantwort
<SqlRowSet1>
<row>
<CustomerAccountKey>88231</CustomerAccountKey>
<CustRef>10452</CustRef>
<EventDate>2024-02-14T10:22:00</EventDate>
<EventID>INV</EventID>
<EventName>Rechnung</EventName>
<Number>RE2024-004711</Number>
<Reference>Auftrag 500123</Reference>
<Amount>-59.90</Amount>
<OpenTOMatch>-59.90</OpenTOMatch>
<DoNotRefund>false</DoNotRefund>
<InvoiceRef>45871</InvoiceRef>
<AllowToDelete>0</AllowToDelete>
<IsDeleted>false</IsDeleted>
<OrderCurrency>EUR</OrderCurrency>
</row>
<row>
<CustomerAccountKey>88240</CustomerAccountKey>
<CustRef>10452</CustRef>
<EventDate>2024-02-16T08:05:00</EventDate>
<EventID>BNK</EventID>
<EventName>Zahlungseingang</EventName>
<Number>RE2024-004711 Mustermann</Number>
<Reference/>
<Amount>59.90</Amount>
<OpenTOMatch>0.00</OpenTOMatch>
<DoNotRefund>false</DoNotRefund>
<BanklineRef>3321</BanklineRef>
<AllowToDelete>0</AllowToDelete>
<IsDeleted>false</IsDeleted>
<OrderCurrency>EUR</OrderCurrency>
</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:pixiGetCustomerEvents>
<!-- <CustKey>10452</CustKey> -->
<!-- <EventID>INV</EventID> -->
<!-- <DateFrom>2024-01-01T00:00:00</DateFrom> -->
<!-- <DateTo>2024-03-31T23:59:59</DateTo> -->
</ns1:pixiGetCustomerEvents>
</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:pixiGetCustomerEvents>
<!-- <CustKey>10452</CustKey> -->
<!-- <EventID>INV</EventID> -->
<!-- <DateFrom>2024-01-01T00:00:00</DateFrom> -->
<!-- <DateTo>2024-03-31T23:59:59</DateTo> -->
</ns1:pixiGetCustomerEvents>
</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 = [
// 'CustKey' => '10452',
// 'EventID' => 'INV',
// 'DateFrom' => '2024-01-01T00:00:00',
// 'DateTo' => '2024-03-31T23:59:59',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetCustomerEvents', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetCustomerEvents