pixiGetRemindersCA
Liefert Rechnungen mit Mahnhistorie, Mahnkosten, offenem Betrag, Kundenkontostatus und Rechnungsadresse, optional gefiltert nach Mahnstufe, Shop, Zahlungsart und Datum.
Liefert eine Zeile je Rechnung, die den Filtern entspricht, ergänzt um Mahndaten, Kennzahlen des Kundenkontos (CA) und die Rechnungsadresse.
Normalisierung der Parameter
ReminderLevel= 0,ShopID= '' undPaymentType= '' werden als NULL (kein Filter) behandelt.ReminderDays= 0 wird als NULL behandelt. IstReminderDays> 0, werdenInvoiceFromundInvoiceToüberschrieben mit dem Zeitraum von jetzt minusReminderDaysTagen bis jetzt.- Ist
InvoiceFromgesetzt undInvoiceToleer, wirdInvoiceToauf das aktuelle Datum mit Uhrzeit gesetzt.
Filter (alle mit UND verknüpft)
ReminderLevel: nur Rechnungen mit mindestens einer Mahnposition genau dieser Mahnstufe. Bei NULL sind alle Rechnungen Kandidaten, auch Rechnungen ohne Mahnung.InvoiceFrom/InvoiceTo: Rechnungsdatum zwischen beiden Werten (inklusive). Wird nur angewendet, wennInvoiceFromgesetzt ist.PaymentType: Zahlungsart der Rechnung entspricht dem Wert.ShopID: der Kunde gehört zu diesem Shop (CustomerOf).OnlyUnmatched= 1: nur Rechnungen, deren bezahlter Betrag vom Rechnungsbetrag abweicht.OnlyWhenCAUnbalanced: siehe Hinweise – der wirksame Wert wird ausOnlyUnmatchedübernommen; wenn aktiv, nur Rechnungen von Kunden, deren Kundenkontosaldo ungleich 0 ist.
Es werden nur Rechnungen geliefert, deren Kunde existiert, einem vorhandenen Shop zugeordnet ist und deren Rechnungsadresse existiert.
Gelieferte Daten
- Rechnungsdaten: Schlüssel, Rechnungsnummer, Kunden- und Adressschlüssel, Shop, höchste Auftragsnummer und die externe Auftragsnummer dieses Auftrags, Datum und Rechnungsbetrag.
- Mahndaten: höchste Mahnstufe, frühestes Mahndatum je Stufe 1–6 (
ReminderDate1…ReminderDate6), Kosten der letzten Mahnung (höchster Mahnungsschlüssel) und Summe der Kosten aller Mahnungen der Rechnung. OpenInvoiceAmount= Rechnungsbetrag minus bezahlter Betrag.- Kundenkonto:
CAMatched(1, wenn alle positiven oder alle negativen Kontobuchungen vollständig ausgeglichen sind, sonst 0) undCAFinancialBalance(Saldo des Kundenkontos; bei mehreren Währungen mit dem heutigen Wechselkurs umgerechnet, falls Mehrwährung aktiviert ist). - Kunden- und Adressdaten (externe Kundennummer, Firma, Name, Straße, PLZ, Ort, Land, Telefon, Fax, E-Mail).
Die Zeilen sind nach Kundenschlüssel sortiert; innerhalb eines Kunden gibt es keine weitere Sortierung und kein Paging.
Hinweise
- Fallstrick: Der Code setzt
OnlyWhenCAUnbalancedauf den Wert vonOnlyUnmatched. Der fürOnlyWhenCAUnbalancedübergebene Wert wird daher ignoriert;OnlyUnmatched= 1 aktiviert sowohl den Filter auf den bezahlten Betrag als auch den Filter auf den Kundenkontosaldo. - Ohne
ReminderLevelist der Aufruf nicht auf gemahnte oder offene Rechnungen beschränkt. Ohne weitere Filter werden alle Rechnungen der Datenbank geliefert, was sehr langsam sein kann. Zur EingrenzungOnlyUnmatched, einen Datumsbereich oderReminderLevelverwenden. ReminderDays> 0 hat Vorrang vor explizit übergebenen Werten fürInvoiceFrom/InvoiceTo.InvoiceToallein (ohneInvoiceFrom) hat keine Wirkung.CAMatchedwird in einer temporärenmoney-Spalte zwischengespeichert und daher als Dezimalwert (1.00 / 0.00) statt als Boolean geliefert.- Die Kundenkonto-Kennzahlen werden über
fPixi_CA_IsMatchedundfPixi_CA_FinancialBalancefür alle Kunden berechnet. Die Währungsumrechnung hängt von der EinstellungMultiCurrencyEnabledund dem heutigen Wechselkurs ab; existiert für heute kein Kurs, wird der umgerechnete Betrag NULL. - Alle Lesezugriffe verwenden
NOLOCK, daher können nicht festgeschriebene Daten geliefert werden. - Nur die Mahnstufen 1 bis 6 haben eine eigene Datumsspalte.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
ReminderLevel
|
int | NULL |
Nur Rechnungen mit mindestens einer Mahnposition dieser Mahnstufe. NULL oder 0: kein Filter (auch Rechnungen ohne Mahnung). Beispiel: |
PaymentType
|
char(1) string |
NULL |
Zahlungsart-Kürzel der Rechnung. NULL oder leer: kein Filter. Beispiel: |
ShopID
|
char(3) string |
NULL |
Shop, zu dem der Kunde gehört ( Beispiel: |
ReminderDays
|
int | 0 |
Wenn > 0, wird das Rechnungsdatum auf die letzten N Tage bis jetzt beschränkt; Beispiel: |
InvoiceFrom
|
datetime dateTime |
NULL |
Beginn des Rechnungsdatumsbereichs (inklusive). NULL: kein Datumsfilter. Beispiel: |
InvoiceTo
|
datetime dateTime |
NULL |
Ende des Rechnungsdatumsbereichs (inklusive). Standard ist jetzt, wenn Beispiel: |
OnlyUnmatched
|
bit boolean |
0 |
1: nur Rechnungen, deren bezahlter Betrag vom Rechnungsbetrag abweicht. Aktiviert zusätzlich den Filter auf den Kundenkontosaldo (siehe Hinweise). Erlaubte Werte
Beispiel: |
OnlyWhenCAUnbalanced
|
bit boolean |
0 |
Gedacht, um nur Kunden mit Kundenkontosaldo <> 0 zu liefern. Der übergebene Wert wird ignoriert; der Code verwendet stattdessen den Wert von Beispiel: |
Antwort
Result-Set 1 · Immer (ggf. leer)
Eine Zeile je passender Rechnung mit Mahn-, Kundenkonto- und Adressdaten, sortiert nach Kundenschlüssel.
| Spalte | Typ | Beschreibung |
|---|---|---|
InvoiceKey
|
int |
Interner Rechnungsschlüssel |
InvoiceNr
Kann leer sein |
string |
Rechnungsnummer |
CustKey
|
int |
Kundenschlüssel der Rechnung |
AddrKey
|
int |
Schlüssel der Rechnungsadresse |
ShopID
Kann leer sein |
char(3) string |
Shop, zu dem der Kunde gehört |
LastOrderNr
Kann leer sein |
int |
Höchste Auftragsnummer der Auftragspositionen auf der Rechnung |
LastOrderNrExternal
Kann leer sein |
string |
Externe Auftragsnummer des Auftrags mit der höchsten Auftragsnummer |
InvoiceDate
Kann leer sein |
datetime dateTime |
Rechnungsdatum |
InvoiceTotal
Kann leer sein |
money decimal |
Rechnungsbetrag |
CurrentReminderLevel
Kann leer sein |
int |
Höchste Mahnstufe der Rechnung; NULL, wenn nicht gemahnt |
ReminderDate1
Kann leer sein |
datetime dateTime |
Frühestes Mahndatum der Stufe 1 |
ReminderDate2
Kann leer sein |
datetime dateTime |
Frühestes Mahndatum der Stufe 2 |
ReminderDate3
Kann leer sein |
datetime dateTime |
Frühestes Mahndatum der Stufe 3 |
ReminderDate4
Kann leer sein |
datetime dateTime |
Frühestes Mahndatum der Stufe 4 |
ReminderDate5
Kann leer sein |
datetime dateTime |
Frühestes Mahndatum der Stufe 5 |
ReminderDate6
Kann leer sein |
datetime dateTime |
Frühestes Mahndatum der Stufe 6 |
LastReminderCosts
Kann leer sein |
money decimal |
Kosten der letzten Mahnung (höchster Mahnungsschlüssel) der Rechnung |
AllReminderCosts
Kann leer sein |
money decimal |
Summe der Kosten aller Mahnungen der Rechnung |
OpenInvoiceAmount
Kann leer sein |
money decimal |
Rechnungsbetrag minus bezahlter Betrag |
CAMatched
Kann leer sein |
money decimal |
1.00, wenn das Kundenkonto vollständig ausgeglichen ist, sonst 0.00 |
CAFinancialBalance
Kann leer sein |
money decimal |
Saldo des Kundenkontos (bei aktivierter Mehrwährung in die Basiswährung umgerechnet) |
CustomerNrExternal
Kann leer sein |
string |
Externe Kundennummer |
Company
Kann leer sein |
string |
Firma (CareOf) der Rechnungsadresse |
FirstName
Kann leer sein |
string |
Vorname |
LastName
Kann leer sein |
string |
Nachname |
FullName
Kann leer sein |
string |
Vollständiger Name |
Street
Kann leer sein |
string |
Straße |
HouseNr
Kann leer sein |
string |
Hausnummer |
AddressLine
Kann leer sein |
string |
Adresszeile |
ZIP
Kann leer sein |
string |
Postleitzahl |
City
Kann leer sein |
string |
Ort |
State
Kann leer sein |
string |
Bundesland / Region |
Country
Kann leer sein |
string |
Land |
Phone
Kann leer sein |
string |
Telefonnummer |
Fax
Kann leer sein |
string |
Faxnummer |
Email
Kann leer sein |
string |
E-Mail-Adresse |
Beispielantwort
<SqlRowSet1>
<row>
<InvoiceKey>48211</InvoiceKey>
<InvoiceNr>2024010532</InvoiceNr>
<CustKey>10233</CustKey>
<AddrKey>55120</AddrKey>
<ShopID>SHP</ShopID>
<LastOrderNr>300512</LastOrderNr>
<LastOrderNrExternal>WEB-100245</LastOrderNrExternal>
<InvoiceDate>2024-02-03T10:15:00</InvoiceDate>
<InvoiceTotal>149.9000</InvoiceTotal>
<CurrentReminderLevel>2</CurrentReminderLevel>
<ReminderDate1>2024-02-20T08:00:00</ReminderDate1>
<ReminderDate2>2024-03-05T08:00:00</ReminderDate2>
<LastReminderCosts>5.0000</LastReminderCosts>
<AllReminderCosts>7.5000</AllReminderCosts>
<OpenInvoiceAmount>149.9000</OpenInvoiceAmount>
<CAMatched>0.0000</CAMatched>
<CAFinancialBalance>-149.9000</CAFinancialBalance>
<CustomerNrExternal>K-4711</CustomerNrExternal>
<FirstName>Anna</FirstName>
<LastName>Muster</LastName>
<FullName>Anna Muster</FullName>
<Street>Hauptstraße</Street>
<HouseNr>12</HouseNr>
<ZIP>80331</ZIP>
<City>München</City>
<Country>DE</Country>
<Email>anna.muster@example.com</Email>
</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:pixiGetRemindersCA>
<!-- <ReminderLevel>2</ReminderLevel> -->
<!-- <PaymentType>R</PaymentType> -->
<!-- <ShopID>SHP</ShopID> -->
<!-- <ReminderDays>30</ReminderDays> -->
<!-- <InvoiceFrom>2024-01-01T00:00:00</InvoiceFrom> -->
<!-- <InvoiceTo>2024-03-31T23:59:59</InvoiceTo> -->
<!-- <OnlyUnmatched>1</OnlyUnmatched> -->
<!-- <OnlyWhenCAUnbalanced>0</OnlyWhenCAUnbalanced> -->
</ns1:pixiGetRemindersCA>
</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:pixiGetRemindersCA>
<!-- <ReminderLevel>2</ReminderLevel> -->
<!-- <PaymentType>R</PaymentType> -->
<!-- <ShopID>SHP</ShopID> -->
<!-- <ReminderDays>30</ReminderDays> -->
<!-- <InvoiceFrom>2024-01-01T00:00:00</InvoiceFrom> -->
<!-- <InvoiceTo>2024-03-31T23:59:59</InvoiceTo> -->
<!-- <OnlyUnmatched>1</OnlyUnmatched> -->
<!-- <OnlyWhenCAUnbalanced>0</OnlyWhenCAUnbalanced> -->
</ns1:pixiGetRemindersCA>
</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 = [
// 'ReminderLevel' => '2',
// 'PaymentType' => 'R',
// 'ShopID' => 'SHP',
// 'ReminderDays' => '30',
// 'InvoiceFrom' => '2024-01-01T00:00:00',
// 'InvoiceTo' => '2024-03-31T23:59:59',
// 'OnlyUnmatched' => '1',
// 'OnlyWhenCAUnbalanced' => '0',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetRemindersCA', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetRemindersCA