Postman-Collection
Customers Lesen

pixiGetCAEventsAndReminders

Liefert Kundenkonto-Ereignisse (Rechnungen, Ausgleiche/Zahlungen, Mahnungen und virtuelle Vollzahlungs-Ereignisse) eines Shops in einem Zeitraum inkl. Saldo und Mahnstufen.

Sammelt alle Kundenkonto-Ereignisse der Kunden des Shops ShopId in einem Zeitraum und liefert sie als gemeinsame Ereignisliste. Mahnungsversand und vollständige Bezahlung von Rechnungen werden als zusätzliche Ereignisse behandelt.

Zeitraum

  • Ist StartDate NULL, beginnt der Zeitraum am Ersten des aktuellen Monats. Andernfalls beginnt er um 00:00 Uhr von StartDate.
  • Ist EndDate NULL, endet der Zeitraum am Ende des heutigen Tages. Andernfalls endet er um 23:59:59.997 von EndDate.

Erfasste Ereignisarten

  1. Rechnungsereignisse: Einträge in CustomerAccount mit EventID = 'INV', deren EventDate im Zeitraum liegt. EventKey = CAE_<CustomerAccountKey>.
  2. Mahnungsereignisse: Mahnungen (Reminders verknüpft mit ReminderLines), deren ReminderSentDate im Zeitraum liegt. Sie werden mit EventID = 'REM' geliefert. Der Betrag ist der negative Wert aus Mahnsumme minus Mahnkosten, ReminderLevel stammt aus der Mahnposition. EventKey = REM_<ReminderKey>.
  3. Ausgleichsereignisse: Datensätze in CustomerAccountMatch, die im Zeitraum angelegt wurden und einen Rechnungseintrag (EventID = 'INV') mit einem anderen Kundenkontoeintrag verknüpfen. Beide Verknüpfungsrichtungen werden berücksichtigt. Die Zeile trägt EventID und EventDate des Gegeneintrags (z. B. einer Zahlung). Der Betrag ist der absolute Ausgleichsbetrag, EventUpdateDate das Anlagedatum des Ausgleichs. EventKey = CAM_<CustomerAccountMatchKey>.
  4. Virtuelle Vollzahlungsereignisse: Für eine Rechnung eines gelieferten Kunden, deren Ausgleiche bis EndDate genau die Rechnungssumme ergeben, wird ein virtuelles Ereignis mit EventID = 'REM' und Betrag 0 erzeugt. Sein Datum ist das letzte Ausgleichsdatum plus 1 ms. Der Kunde muss zusätzlich mindestens ein Ausgleichsereignis im Zeitraum haben, und das Ereignis entfällt, wenn sein Datum vor dem Zeitraumbeginn liegt. EventKey = FPY_<CustomerAccountKey>.

Kundenfilter

  • Es werden nur Kunden geliefert, deren CustomerOf gleich ShopId ist.
  • Bei CustomerNumberIsNumeric = 1 werden nur Kunden geliefert, deren CustomerNrExternal ausschließlich aus Ziffern besteht. Bei 0 (Standard oder NULL) werden alle Kunden des Shops geliefert.

Mahnstufen

  • Für jede Rechnung ohne virtuelles Vollzahlungsereignis wird der höchste HighestReminderLevel aller Mahnungen ermittelt, die die Rechnung enthalten (Rechnungsdatum vor EndDate).
  • Dieser Wert wird in ReminderLevel aller Nicht-REM-Ereignisse der Rechnung geschrieben.
  • CustomerReminderLevel ist das Maximum dieser Stufen über alle offenen Rechnungen des Kunden. Es wird bei allen Ereignissen des Kunden gesetzt.

Beträge und Währungen

  • Balance_ShopCurr ist die Summe aller Kundenkontobeträge mit EventDate vor EndDate.
  • Ist die Einstellung MultiCurrencyEnabled gleich 1, werden diese Beträge mit dem Wechselkurs des aktuellen Tages umgerechnet.
  • Amount_ShopCurr ist der auf dieselbe Weise umgerechnete Ereignisbetrag. Ein fehlender Kurs zählt als 1.

Ausgabe

  • Jede Ereigniszeile enthält die externe Kundennummer, die Rechnungsnummer und die externe Auftragsnummer.
  • Geliefert werden nur Ereignisse, die einer Rechnung in Invoices zugeordnet werden können.
  • Das Ergebnis ist DISTINCT und nach EventUpdateDate, dann EventDate sortiert.

Hinweise

  • Alle Lesezugriffe verwenden NOLOCK; das Ergebnis kann nicht festgeschriebene Daten enthalten.
  • Wechselkurse werden immer zum aktuellen Datum (ExchDate = heute) gelesen, nicht zum Ereignisdatum. Bei MultiCurrencyEnabled = 1 und fehlendem Tageskurs fallen Einträge in Fremdwährung aus Balance_ShopCurr heraus (Division durch NULL). Amount_ShopCurr verwendet in diesem Fall den Kurs 1.
  • Die Einstellung DoNOTChargeShipCostOnSecondDelivery wird gelesen, aber nicht verwendet.
  • Eine Rechnung mit Positionen aus mehreren externen Aufträgen erzeugt je OrderNrExternal eine Zeile.
  • Mahnungszeilen entstehen durch doppelte Verknüpfung der Mahnpositionen. Eine Mahnung mit mehreren Positionen kann daher mehrere Zeilen mit unterschiedlichen Kombinationen aus InvoiceNr und ReminderLevel liefern.
  • Virtuelle FPY_-Ereignisse entstehen je Kundenkontoeintrag der Rechnung, daher sind mehrere FPY_-Zeilen pro Rechnung möglich.
  • Eine unbekannte ShopId liefert ein leeres Ergebnis, keinen Fehler.
  • Temporäre Tabellen werden am Ende über util.TempTableDrop (nicht beigefügt) gelöscht.

Parameter

Parameter Typ Standardwert Beschreibung
StartDate
datetime
dateTime
NULL

Beginn des Zeitraums (Uhrzeit wird ignoriert, es gilt 00:00 Uhr). NULL bedeutet der Erste des aktuellen Monats.

Beispiel: 2024-03-01T00:00:00

EndDate
datetime
dateTime
NULL

Ende des Zeitraums (es gilt das Ende des angegebenen Tages). NULL bedeutet das Ende des heutigen Tages.

Beispiel: 2024-03-31T00:00:00

ShopId
Pflicht
varchar(3)
string
–

Shop, dessen Kunden geliefert werden (Vergleich mit Customers.CustomerOf). Darf nicht leer sein.

Beispiel: SHP

CustomerNumberIsNumeric
bit
boolean
0

Beschränkt das Ergebnis auf Kunden mit rein numerischer externer Kundennummer. NULL wird als 0 behandelt.

Erlaubte Werte

  • 0 – Alle Kunden des Shops
  • 1 – Nur Kunden, deren `CustomerNrExternal` nur Ziffern enthält

Beispiel: 0

Antwort

Result-Set 1 · Wenn ShopId NULL oder leer ist

Fehler-Statuszeile; es folgt kein weiteres Ergebnis.

Spalte Typ Beschreibung
Status varchar(5)
string

Immer Error.

Message varchar(66)
string

Fehlertext.

Result-Set 2 · Wenn ShopId angegeben ist

Liste der Kundenkonto-, Mahnungs- und virtuellen Vollzahlungsereignisse, sortiert nach EventUpdateDate, EventDate.

Spalte Typ Beschreibung
CustomerNrExternal
Kann leer sein
string

Externe Kundennummer (Customers.CustomerNrExternal).

InvoiceNr
Kann leer sein
string

Nummer der Rechnung, zu der das Ereignis gehört.

OrderNrExternal
Kann leer sein
string

Externe Auftragsnummer aus den Auftragspositionen der Rechnung; NULL, wenn keine gefunden wird.

EventID string

Ereignistyp: INV für Rechnungen, REM für Mahnungen und virtuelle Vollzahlungsereignisse, bei Ausgleichsereignissen der Ereignistyp des ausgeglichenen Gegeneintrags.

Amount
Kann leer sein
numeric(19,4)
decimal

Betrag in Ereigniswährung: Kontobetrag (CAE_), negativer Mahnbetrag ohne Kosten (REM_), absoluter Ausgleichsbetrag (CAM_) oder 0 (FPY_).

EventCurr
Kann leer sein
string

Währungscode des Ereignisses (pixi.Currency.CodeA).

EventDate
Kann leer sein
dateTime

Datum des Ereignisses (bei Ausgleichsereignissen: Datum des Gegeneintrags im Kundenkonto).

Amount_ShopCurr
Kann leer sein
numeric(19,4)
decimal

Betrag umgerechnet in die Basiswährung des Shops zum heutigen Kurs (nur bei aktivierter Mehrwährung, sonst gleich Amount).

ShopCurr
Kann leer sein
string

Basiswährungscode des Shops (Currencies.CurCode).

Balance_ShopCurr
Kann leer sein
money
decimal

Kundenkontosaldo bis EndDate in Shopwährung.

ReminderLevel
Kann leer sein
int

Bei REM_-Ereignissen die Stufe der Mahnposition; bei anderen Ereignissen die höchste Mahnstufe der offenen Rechnung, sonst 0.

CustomerReminderLevel
Kann leer sein
int

Höchste Mahnstufe über alle offenen Rechnungen des Kunden, sonst 0.

EventKey varchar(24)
string

Eindeutiger Ereignisschlüssel mit Präfix CAE_, REM_, CAM_ oder FPY_ gefolgt vom Schlüssel des Quelldatensatzes.

EventUpdateDate
Kann leer sein
dateTime

Datum, an dem das Ereignis wirksam wurde (Anlagedatum des Ausgleichs bei CAM_, sonst das Ereignisdatum); primärer Sortierschlüssel.

Fehlermeldungen

Status Meldung Ursache
Error Parameter @ShopId is mandatory parameter and needs to be provided. `ShopId` fehlt, ist NULL oder leer. Eine gültige Shop-ID angeben.

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:pixiGetCAEventsAndReminders>
      <!-- <StartDate>2024-03-01T00:00:00</StartDate> -->
      <!-- <EndDate>2024-03-31T00:00:00</EndDate> -->
      <ShopId>SHP</ShopId>
      <!-- <CustomerNumberIsNumeric>0</CustomerNumberIsNumeric> -->
    </ns1:pixiGetCAEventsAndReminders>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

CustomerAccount · Lesen Reminders · Lesen ReminderLines · Lesen CustomerAccountMatch · Lesen Customers · Lesen Shops · Lesen Invoices · Lesen Currencies · Lesen ExchRate · Lesen Currency · Lesen Invlines · Lesen Orderlines · Lesen Settings · Lesen
SQL-Objekt:
dbo.pipiGetCAEventsAndReminders
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben