Postman-Collection
Customers Lesen

pixiGetCustomersToRefund

Liefert Kunden mit positivem Rückerstattungsvorschlag aus dem Kundenkonto inklusive Saldo, offenen Aufträgen und Abgleichstatus, optional gefiltert nach Shop und Betrag.

Ermittelt, welche Kunden eine Rückerstattung aus ihrem Kundenkonto (CustomerAccount) erhalten sollten.

  1. Ein leerer ShopId wird als NULL behandelt. NULL für AmountFrom / AmountTo wird durch 0 / 1000000 ersetzt.
  2. Als Kandidaten werden alle Kunden gewählt, deren Kundenkontobuchungen in Summe positiv sind.
  3. Für diese Kandidaten berechnet die interne Prozedur Pixi_CA_GetSummaryList je Kunde:
    • FinancialBalance: Summe aller Kundenkontobeträge.
    • OpenOrders: Wert der Auftragspositionen in offenem Status (OrderStates.CA_IsOpenOrder = 1), die noch nicht in einer Rechnung stehen, abzüglich nicht eingelöster Gutscheine und zuzüglich Versandkosten. Berücksichtigt werden nur Aufträge, deren Zahlungsart CA_SubstractFromopenOrdersWhenRefund = 0 hat; negative Werte je Währung werden auf 0 gesetzt.
    • SuggestedRefund: erstattungsfähiger Kontobetrag (Buchungen ohne DoNotRefund sowie der abgeglichene Teil von Buchungen mit DoNotRefund) abzüglich OpenOrders.
    • OpenToMatch: noch nicht abgeglichener Betrag.
    • IsMatched: Abgleichkennzeichen, abgeleitet aus den offenen Abgleichsummen je Währung.
    • CurrencyId: Währung der Werte.
  4. Zurückgegeben werden nur Kunden mit SuggestedRefund > 0 und SuggestedRefund zwischen AmountFrom und AmountTo (inklusive). Ist ShopId angegeben, nur Kunden dieses Shops (Customers.CustomerOf); ist IsAccountMatched angegeben, nur Kunden mit passendem IsMatched-Wert.

Eine Sortierung ist nicht definiert; Paging gibt es nicht.

Hinweise

  • Nur lesend; alle Tabellen werden mit NOLOCK gelesen, Werte können daher nicht festgeschriebene Daten enthalten.
  • Das Verhalten hängt von den Einstellungen DoNOTChargeShipCostOnSecondDelivery (ob Versandkosten bei bereits teilweise berechneten Aufträgen zu den offenen Aufträgen addiert werden), MultiCurrencyEnabled und HomeCurrency ab.
  • Bei MultiCurrencyEnabled = 1 und Buchungen bzw. offenen Aufträgen eines Kunden in mehreren Währungen werden die Beträge mit dem Wechselkurs des aktuellen Tages (pixi.ExchRate) in die Basiswährung des Shops umgerechnet. Fehlt ein Kurs für heute, fallen die Beträge dieser Währung aus den Summen heraus. Ohne Mehrwährung ist CurrencyId die Hauswährung.
  • Die Berechnung läuft über alle Kunden mit positivem Kontosaldo, bevor die Filter greifen; der Aufruf kann daher bei großen Datenbanken auch mit einschränkendem ShopId aufwendig sein.

Parameter

Parameter Typ Standardwert Beschreibung
ShopId
varchar(3)
string
NULL

Shop der Kunden (Customers.CustomerOf). NULL oder leer liefert Kunden aller Shops.

Beispiel: SHP

AmountFrom
money
decimal
0

Mindestbetrag des Rückerstattungsvorschlags (inklusive). NULL wird als 0 behandelt.

Beispiel: 10.00

AmountTo
money
decimal
1000000

Höchstbetrag des Rückerstattungsvorschlags (inklusive). NULL wird als 1000000 behandelt.

Beispiel: 500.00

IsAccountMatched
bit
boolean
NULL

Filter auf das Abgleichkennzeichen IsMatched. NULL liefert beide.

Erlaubte Werte

  • 1 – Nur Kunden mit `IsMatched = 1`.
  • 0 – Nur Kunden mit `IsMatched = 0`.

Beispiel: 1

Antwort

Result-Set 1 · Immer (kann leer sein).

Eine Zeile je Kunde mit positivem Rückerstattungsvorschlag, der den Filtern entspricht.

Spalte Typ Beschreibung
CustKey int

Kundenschlüssel. ex

ShopId
Kann leer sein
varchar(3)
string

Shop, zu dem der Kunde gehört (Customers.CustomerOf).

IsMatched
Kann leer sein
bit
boolean

Abgleichkennzeichen des Kundenkontos, abgeleitet aus den offenen Abgleichsummen je Währung.

SuggestedRefund money
decimal

Vorgeschlagener Rückerstattungsbetrag: erstattungsfähiger Kontobetrag abzüglich offener Aufträge.

FinancialBalance
Kann leer sein
money
decimal

Gesamtsaldo des Kundenkontos.

OpenOrders
Kann leer sein
money
decimal

Wert offener, noch nicht berechneter Aufträge (inkl. Versandkosten, abzüglich nicht eingelöster Gutscheine).

OpenToMatch
Kann leer sein
money
decimal

Noch nicht abgeglichener Betrag des Kundenkontos.

CurrencyId
Kann leer sein
int

Währung der Beträge (Shop-Basiswährung, Kontowährung oder Hauswährung je nach Mehrwährungseinstellung).

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:pixiGetCustomersToRefund>
      <!-- <ShopId>SHP</ShopId> -->
      <!-- <AmountFrom>10.00</AmountFrom> -->
      <!-- <AmountTo>500.00</AmountTo> -->
      <!-- <IsAccountMatched>1</IsAccountMatched> -->
    </ns1:pixiGetCustomersToRefund>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

CustomerAccount · Lesen Customers · Lesen Settings · Lesen Orderlines · Lesen OrderStates · Lesen Invlines · Lesen OrderHeader · Lesen Voucher · Lesen Addresses · Lesen Payments · Lesen Shops · Lesen Currency · Lesen ExchRate · Lesen
SQL-Objekt:
dbo.pipiGetCustomersToRefund
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben