Postman-Collection
Payments Lesen

pixiGetPendingPayments

Liefert zu einem Stichtag nicht vollständig zugeordnete Zahlungen auf Kundenkonten, summiert je Zahlungsart oder als Einzelposten.

Listet Zahlungen auf Kundenkonten (CustomerAccount), die zu einem Stichtag noch offen, also nicht vollständig zugeordnet, waren.

Parameterbehandlung

  • Date: Bei NULL oder einem Wert vor dem 01.01.1990 wird das aktuelle Datum mit Uhrzeit (GETDATE()) verwendet.
  • Details: NULL wird als 0 behandelt.
  • ShopID: Ein Leerstring wird als NULL behandelt, also ohne Shop-Filter.

Auswahl

  1. Für jeden Kundenkontoposten wird aus CustomerAccountLog der letzte Log-Eintrag mit Ereignis PAY ermittelt, dessen EventDate echt vor Date liegt.
  2. Der Posten wird nur berücksichtigt, wenn Amount - Matched dieses PAY-Eintrags mindestens 0,01 beträgt.
  3. OpenAmount ist der Betrag des Kundenkontopostens abzüglich des Matched-Werts des letzten Log-Eintrags beliebigen Ereignistyps vor Date. Gibt es keinen solchen Eintrag, wird 0 abgezogen.
  4. Die Zahlungsart stammt aus der Zahlungsart des Auftrags (Lieferadresse, APayment) oder der Rechnung (Payment), die über BankMatch mit der Bankzeile verknüpft ist. Wird keine Zahlungsart gefunden, wird ZZZ unbekannt verwendet.
  5. Ist ShopID gesetzt, werden nur Kunden geliefert, deren CustomerOf gleich ShopID ist.

Währung

  • Ist die Einstellung MultiCurrencyEnabled nicht 1, werden die Beträge in der Originalwährung des Postens geliefert und dbCurrency ist NULL.
  • Ist MultiCurrencyEnabled = 1, werden Amount und OpenAmount durch Division mit dem Wechselkurs in die Datenbankwährung (Hauswährung) umgerechnet. dbCurrency enthält dann den Code der Datenbankwährung.

Ausgabe

  • Details = 1: eine Zeile je Kundenkontoposten, sortiert nach PaymentType, CustRef und CustomerAccountKey.
  • Details = 0 (Standard): eine Zeile je PaymentType und dbCurrency mit summiertem OpenAmount und dem verwendeten Stichtag, sortiert nach PaymentType.

Hinweise

  • Alle Lesezugriffe erfolgen mit NOLOCK, daher können die Ergebnisse nicht festgeschriebene Daten enthalten.
  • Der Filter verwendet den letzten PAY-Log-Eintrag, OpenAmount dagegen den letzten Log-Eintrag beliebigen Ereignistyps. Beide Werte können daher voneinander abweichen.
  • Bei aktivierter Mehrwährung fallen Posten ohne passenden Wechselkurs zur Datenbankwährung durch Inner Joins weg (über pixi.ExchRate, Quelle aus Einstellung DatabaseCurrencyExchRateSourceId, Basiswährung aus Einstellung HomeCurrency).
  • Im Mehrwährungszweig filtert die Unterabfrage für den zugeordneten Betrag die Kursquelle über den äußeren Alias statt über ihren eigenen. Bei mehreren Kursquellen ist nicht deterministisch, welcher Kurs per TOP 1 verwendet wird.
  • Der Join auf Payments verknüpft die Zahlungsart von Auftrag und Rechnung per ODER. Sind beide verknüpft und verschieden, kann ein Posten doppelt erscheinen und wird dann in der Summe doppelt gezählt.
  • Im Einwährungsmodus ist dbCurrency NULL, daher werden in der Summe Beträge unterschiedlicher Originalwährungen innerhalb einer Zahlungsart vermischt.
  • Der Stichtagsvergleich ist echt kleiner (EventDate < Date). Bei Übergabe nur eines Datums ist die Uhrzeit Mitternacht, Ereignisse dieses Tages sind also ausgeschlossen.

Parameter

Parameter Typ Standardwert Beschreibung
Date
datetime
dateTime
NULL

Stichtag. Berücksichtigt werden nur Log-Einträge echt vor diesem Zeitpunkt. NULL oder Werte vor dem 01.01.1990 werden durch das aktuelle Datum mit Uhrzeit ersetzt.

Beispiel: 2024-04-01T00:00:00

Details
bit
boolean
0

Wählt Einzelzeilen oder eine Summe je Zahlungsart. NULL wird als 0 behandelt.

Erlaubte Werte

  • 0 – Zusammenfassung: offener Betrag summiert je Zahlungsart und Währung.
  • 1 – Details: eine Zeile je Kundenkontoposten.

Beispiel: 0

ShopID
varchar(3)
string
NULL

Optionaler Shop-Filter auf CustomerOf des Kunden. Leer oder NULL liefert alle Shops.

Beispiel: SH1

Antwort

Result-Set 1 · Wenn Details = 1

Eine Zeile je offenem Zahlungsposten auf einem Kundenkonto.

Spalte Typ Beschreibung
CustRef
Kann leer sein
int

Kundenschlüssel.

CustomerAccountKey
Kann leer sein
int

Schlüssel des Kundenkontopostens.

Comment
Kann leer sein
varchar(512)
string

Kommentar des Kundenkontopostens.

Reference
Kann leer sein
varchar(512)
string

Referenz des Kundenkontopostens.

Amount
Kann leer sein
money
decimal

Betrag des Postens, in Originalwährung oder bei aktivierter Mehrwährung in Datenbankwährung umgerechnet.

OpenAmount
Kann leer sein
money
decimal

Zum Stichtag noch nicht zugeordneter Betrag.

PaymentType
Kann leer sein
varchar(120)
string

Text der Zahlungsart des verknüpften Auftrags oder der Rechnung, sonst ZZZ unbekannt.

PaymentDate
Kann leer sein
datetime
dateTime

Ereignisdatum des Kundenkontopostens.

ShopID
Kann leer sein
varchar(3)
string

Shop des Kunden (CustomerOf).

dbCurrency
Kann leer sein
varchar(3)
string

Code der Datenbankwährung bei aktivierter Mehrwährung, sonst NULL.

Result-Set 2 · Wenn Details = 0 (Standard)

Offene Beträge summiert je Zahlungsart und Währung.

Spalte Typ Beschreibung
PaymentType
Kann leer sein
varchar(120)
string

Text der Zahlungsart oder ZZZ unbekannt.

OpenAmount
Kann leer sein
money
decimal

Summe der offenen Beträge dieser Zahlungsart.

Date datetime
dateTime

Tatsächlich verwendeter Stichtag.

dbCurrency
Kann leer sein
varchar(3)
string

Code der Datenbankwährung bei aktivierter Mehrwährung, sonst NULL.

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:pixiGetPendingPayments>
      <!-- <Date>2024-04-01T00:00:00</Date> -->
      <!-- <Details>0</Details> -->
      <!-- <ShopID>SH1</ShopID> -->
    </ns1:pixiGetPendingPayments>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Settings · Lesen Currency · Lesen CustomerAccountLog · Lesen CustomerAccount · Lesen ExchRate · Lesen OrderHeader · Lesen BankMatch · Lesen Addresses · Lesen Invoices · Lesen Payments · Lesen Customers · Lesen
SQL-Objekt:
dbo.pipiGetPendingPayments
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben