pixiGetPaymentDetailsForInvoice
Liefert den Kundenkontoeintrag einer Rechnung samt aller zugeordneten Kontoeinträge und deren Bankzeilen- und Bankimportdaten.
Ermittelt die Zahlungssituation einer einzelnen Rechnung über das Kundenkonto (CustomerAccount).
- Die Rechnung wird über
InvoiceNrinInvoicesgesucht. Anschließend wird der Kundenkontoeintrag ermittelt, dessenInvoiceRefauf diese Rechnung verweist (Rechnungseintrag). - Alle Kundenkontoeinträge, die in
CustomerAccountMatchmit diesem Rechnungseintrag ausgeglichen wurden, werden gesammelt. Die Zuordnung wird in beide Richtungen ausgewertet (CARef1undCARef2), sodass Zahlungen, Gutschriften oder andere verknüpfte Einträge unabhängig von der Speicherrichtung gefunden werden. - Für den Rechnungseintrag und alle zugeordneten Einträge wird je eine Zeile mit den Kontodaten geliefert. Stammt ein Eintrag aus einer Bankzeile (
BanklineRef), werden die Daten der Bankzeile (BankLines) und der Bankimportdatei (BankHeader) ergänzt; andernfalls bleiben diese Spalten leer.
Sortierung: Zuerst der Rechnungseintrag selbst, danach die zugeordneten Einträge aufsteigend nach CustomerAccountKey.
Existiert keine Rechnung mit der angegebenen Nummer oder hat sie keinen Kundenkontoeintrag, wird eine leere Ergebnismenge geliefert.
Hinweise
- Alle Tabellen werden mit
NOLOCKgelesen, es können daher nicht festgeschriebene Daten geliefert werden. - Es werden nur direkte Zuordnungen des Rechnungseintrags geliefert; Einträge, die nur indirekt (über einen anderen zugeordneten Eintrag) verknüpft sind, fehlen.
- Teilen sich mehrere Rechnungen dieselbe
InvoiceNr, liefert die Unterabfrage mehrere Werte und SQL Server meldet Fehler 512 (alsSqlMessage). - Verweisen mehrere Kundenkontoeinträge auf die Rechnung, wird nur einer davon (nicht deterministisch) als Rechnungseintrag verwendet.
- Die Spaltentypen sind im Code nicht sichtbar; die hier angegebenen Typen sind aus Spaltennamen und Verwendung abgeleitet.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
InvoiceNr
Pflicht
|
varchar(20) string |
– |
Nummer der Rechnung ( Beispiel: |
Antwort
Result-Set 1 · Immer; leer, wenn die Rechnung oder ihr Kundenkontoeintrag nicht existiert.
Rechnungseintrag und alle zugeordneten Kundenkontoeinträge mit Bankzeilen- und Bankimportdaten; Rechnungseintrag zuerst, danach aufsteigend nach CustomerAccountKey.
| Spalte | Typ | Beschreibung |
|---|---|---|
CustRef
Kann leer sein |
int |
Verweis auf den Kunden des Kontoeintrags. |
CustomerAccountKey
|
int |
Schlüssel des Kundenkontoeintrags. |
EventID
Kann leer sein |
string |
Ereignisart des Kontoeintrags (z. B. Rechnung, Zahlung). |
EventDate
Kann leer sein |
dateTime |
Datum des Kontoeintrags. |
Reference
Kann leer sein |
string |
Referenztext des Kontoeintrags. |
Amount
Kann leer sein |
decimal |
Betrag des Kontoeintrags. |
Matched
Kann leer sein |
boolean |
Kennzeichen, ob der Eintrag ausgeglichen ist. |
InvoiceRef
Kann leer sein |
int |
Verweis auf die Rechnung ( |
BanklineRef
Kann leer sein |
int |
Verweis auf die Bankzeile, aus der der Eintrag stammt. |
DoNotRefund
Kann leer sein |
boolean |
Kennzeichen, dass der Betrag nicht erstattet werden soll. |
BankDate
Kann leer sein |
dateTime |
Valutadatum der Bankzeile; leer ohne Bankzeile. |
BookDate
Kann leer sein |
dateTime |
Buchungsdatum der Bankzeile. |
BankAmount
Kann leer sein |
decimal |
Betrag der Bankzeile. |
BankText01
Kann leer sein |
string |
Banktext Zeile 1 (Verwendungszweck). |
BankText02
Kann leer sein |
string |
Banktext Zeile 2. |
BankText03
Kann leer sein |
string |
Banktext Zeile 3. |
CurrencyCode
Kann leer sein |
string |
Währung der Bankzeile. |
BankCode
Kann leer sein |
string |
Bankleitzahl des Auftraggeberkontos. |
AccountNr
Kann leer sein |
string |
Kontonummer des Auftraggebers. |
CustomerName
Kann leer sein |
string |
Name des Auftraggebers aus der Bankzeile. |
ParsedBIC
Kann leer sein |
string |
Aus der Bankzeile ermittelte BIC. |
ParsedIBAN
Kann leer sein |
string |
Aus der Bankzeile ermittelte IBAN. |
SourceText
Kann leer sein |
string |
Originaltext der Bankzeile aus dem Import. |
SourceType
Kann leer sein |
string |
Art/Format der Bankimportquelle. |
BankFileName
Kann leer sein |
string |
Dateiname der importierten Bankdatei. |
BankImportDate
Kann leer sein |
dateTime |
Datum des Bankimports. |
Beispielantwort
<SqlRowSet1>
<row>
<CustRef>10452</CustRef>
<CustomerAccountKey>88120</CustomerAccountKey>
<EventID>INV</EventID>
<EventDate>2024-03-04T10:15:00</EventDate>
<Reference>RE2024-001234</Reference>
<Amount>-119.00</Amount>
<Matched>1</Matched>
<InvoiceRef>50311</InvoiceRef>
<DoNotRefund>0</DoNotRefund>
</row>
<row>
<CustRef>10452</CustRef>
<CustomerAccountKey>88257</CustomerAccountKey>
<EventID>PAY</EventID>
<EventDate>2024-03-07T00:00:00</EventDate>
<Reference>Zahlung RE2024-001234</Reference>
<Amount>119.00</Amount>
<Matched>1</Matched>
<BanklineRef>7731</BanklineRef>
<DoNotRefund>0</DoNotRefund>
<BankDate>2024-03-07T00:00:00</BankDate>
<BookDate>2024-03-07T00:00:00</BookDate>
<BankAmount>119.00</BankAmount>
<BankText01>RE2024-001234</BankText01>
<CurrencyCode>EUR</CurrencyCode>
<CustomerName>Max Mustermann</CustomerName>
<ParsedBIC>COBADEFFXXX</ParsedBIC>
<ParsedIBAN>DE89370400440532013000</ParsedIBAN>
<SourceType>CAMT</SourceType>
<BankFileName>camt053_20240307.xml</BankFileName>
<BankImportDate>2024-03-08T06:00:00</BankImportDate>
</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:pixiGetPaymentDetailsForInvoice>
<InvoiceNr>RE2024-001234</InvoiceNr>
</ns1:pixiGetPaymentDetailsForInvoice>
</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:pixiGetPaymentDetailsForInvoice>
<InvoiceNr>RE2024-001234</InvoiceNr>
</ns1:pixiGetPaymentDetailsForInvoice>
</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 = [
'InvoiceNr' => 'RE2024-001234',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetPaymentDetailsForInvoice', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetPaymentDetailsForInvoice