Postman-Collection
Customers Lesen

pixiGetCustomerAccountBalance

Liefert den Kundenkontosaldo (Summe aller Kontobuchungen bis zu einem optionalen Stichtag) eines Kunden, ermittelt über den internen Schlüssel oder die externe Kundennummer.

Berechnet den Saldo des Kundenkontos (CustomerAccount) für einen oder mehrere Kunden.

Kundensuche

  • CustKey wird mit der externen Kundennummer (CustomerNrExternal) und, sofern der Wert in eine Ganzzahl umgewandelt werden kann, mit dem internen Kundenschlüssel (CustKey) verglichen. Ein Kunde wird gefunden, wenn einer der beiden Vergleiche zutrifft.
  • Ist ShopId angegeben (nicht leer), werden nur Kunden berücksichtigt, deren CustomerOf diesem Shop entspricht.

Stichtag

  • Ist DateTo angegeben, wird der Wert auf das Tagesende (23:59:59.997) erweitert. Summiert werden nur Kontobuchungen mit EventDate bis zu diesem Zeitpunkt oder ohne EventDate.
  • Ohne DateTo werden alle Buchungen summiert.

Währungsbehandlung

  • Die Einstellung MultiCurrencyEnabled wird zur Laufzeit gelesen.
  • Bei 1 wird jeder Buchungsbetrag durch den Wechselkurs der Buchung (ExchRateId) geteilt und das Ergebnis nach der Basiswährung dieses Wechselkurses (BaseCurrency) gruppiert.
  • Andernfalls werden die Beträge unverändert summiert und BaseCurrency ist die Datenbank-(Haus-)Währung aus der Einstellung HomeCurrency.

Ergebnis Eine Zeile je gefundenem Kunden (im Mehrwährungsmodus je Basiswährung) mit dem Saldo CAbalance (als money) und dem Datum der letzten einbezogenen Kontobuchung LastEventDate. Kunden ohne Kontobuchungen werden mit Saldo 0 und LastEventDate = NULL geliefert. Wird kein Kunde gefunden, wird keine Zeile geliefert.

Hinweise

  • Alle Tabellen werden mit NOLOCK gelesen; der Saldo kann nicht festgeschriebene Daten enthalten.
  • Da CustKey sowohl mit der externen Nummer als auch mit dem internen Schlüssel verglichen wird, können mehrere Kunden geliefert werden (z. B. ein Kunde mit internem Schlüssel 123 und ein anderer mit externer Nummer 123). ShopId verwenden oder CustomerId im Ergebnis prüfen.
  • Stolperfalle bei DateTo: Der Datumsfilter wirkt nach dem Outer Join. Ein Kunde, dessen Kontobuchungen alle nach DateTo liegen, wird gar nicht geliefert (keine Zeile statt einer Zeile mit Saldo 0).
  • Mehrwährungsmodus: Buchungen ohne Wechselkurs ergeben bei der Division NULL und fließen nicht in die Summe ein; sie bilden zudem eine eigene Gruppe mit BaseCurrency = NULL. Buchungen mit unterschiedlichen Basiswährungen ergeben getrennte Zeilen für denselben Kunden.
  • Eine leere ShopId wird wie NULL behandelt (kein Shop-Filter).

Parameter

Parameter Typ Standardwert Beschreibung
CustKey
Pflicht
varchar(200)
string
–

Kundenkennung: entweder die externe Kundennummer (CustomerNrExternal) oder der interne Kundenschlüssel (CustKey, sofern numerisch).

Beispiel: 10045

DateTo
datetime
dateTime
NULL

Optionaler Stichtag. Nur Kontobuchungen bis zum Ende dieses Tages werden einbezogen. NULL bedeutet alle Buchungen.

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

ShopId
varchar(3)
string
NULL

Optionaler Shop-Filter auf CustomerOf des Kunden. NULL oder leer bedeutet alle Shops.

Beispiel: SH1

Antwort

Result-Set 1 · Immer; eine Zeile je gefundenem Kunden (im Mehrwährungsmodus je Basiswährung), leer, wenn kein Kunde gefunden wird.

Kundenkontosaldo je Kunde.

Spalte Typ Beschreibung
CustomerId int

Interner Kundenschlüssel (Customers.CustKey).

CustomerNrExternal
Kann leer sein
string

Externe Kundennummer.

ShopId
Kann leer sein
string

Shop, dem der Kunde zugeordnet ist (Customers.CustomerOf).

CAbalance
Kann leer sein
money
decimal

Summe der einbezogenen Buchungsbeträge; im Mehrwährungsmodus mit dem Wechselkurs der jeweiligen Buchung umgerechnet.

BaseCurrency
Kann leer sein
varchar(3)
string

Währung des Saldos: Basiswährung des Wechselkurses (Mehrwährungsmodus) oder die Datenbank-Hauswährung.

LastEventDate
Kann leer sein
datetime
dateTime

Spätestes EventDate der einbezogenen Kontobuchungen; NULL, wenn keine vorhanden sind.

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:pixiGetCustomerAccountBalance>
      <CustKey>10045</CustKey>
      <!-- <DateTo>2024-03-31T00:00:00</DateTo> -->
      <!-- <ShopId>SH1</ShopId> -->
    </ns1:pixiGetCustomerAccountBalance>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Customers · Lesen CustomerAccount · Lesen ExchRate · Lesen Currency · Lesen Settings · Lesen
SQL-Objekt:
dbo.pipiGetCustomerAccountBalance
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben