pixiGetInvoicesUnpaid
Liefert alle unbezahlten Rechnungen oder mit `PaidInvoices` = 1 alle bezahlten Rechnungen mit Zahlungs-, Bank-, Adress- und Währungsdaten, sortiert nach Rechnungsdatum.
Liest Rechnungen aus Invoices zusammen mit dem Kunden, der Zahlungsart, der Rechnungsadresse, deren Land und der Rechnungswährung.
Der Parameter PaidInvoices wählt einen von zwei Modi:
0(Standard): unbezahlte Rechnungen. Eine Rechnung wird geliefert, wenn die bezahlte Summe (PayedSum, NULL zählt als 0) nicht exakt dem auf 2 Nachkommastellen gerundeten Rechnungsbetrag entspricht und inCustomerAccountkein Eintrag für diesen Kunden und diese Rechnung mitDoNotRefund = 1ohne Bankzeilen-, DTAUS- oder manuelle Buchungsreferenz existiert.1: bezahlte Rechnungen. Eine Rechnung wird geliefert, wenn die bezahlte Summe um weniger als 0,01 vom gerundeten Rechnungsbetrag abweicht oder ein solcherDoNotRefund-Eintrag inCustomerAccountexistiert.
Es werden nur Rechnungen geliefert, zu denen Währung, Kunde, Zahlungsart (Payments.Code = Zahlungscode der Rechnung) und Rechnungsadresse existieren (Inner Joins). Das Land ist optional.
Die Sortierung erfolgt aufsteigend nach Rechnungsdatum. Es gibt kein Paging; alle passenden Rechnungen werden geliefert.
Spaltenlogik:
Paidist nur 1, wenn die bezahlte Summe exakt dem gerundeten Rechnungsbetrag entspricht, sonst 0.PaymentDateist das Zahlungsdatum der Rechnung, wennPaid= 1, sonst NULL.PaymentTextist der Text der Zahlungsart, ersatzweise der Zahlungscode.CurrencyundOrderCurrencyenthalten beide den Währungscode der Rechnung;total,TotalToPayundTotalToPay_OrderCurrenthalten alle den Rechnungsbetrag.
Hinweise
- Alle Tabellen werden
WITH (NOLOCK)gelesen; das Ergebnis kann nicht festgeschriebene Daten enthalten. - Im Modus
1verwendet der Filter eine Toleranz von 0,01,PaidundPaymentDatejedoch einen exakten Vergleich. Rechnungen mit minimaler Differenz oder Rechnungen, die nur wegen einesDoNotRefund-Eintrags geliefert werden, erscheinen daher mitPaid= 0 undPaymentDate= NULL. - Wird NULL für
PaidInvoicesübergeben, werden keine Zeilen geliefert. - Rechnungen, deren Zahlungscode keinen Eintrag in
Paymentshat oder deren Kunde, Adresse oder Währung fehlt, werden ohne Hinweis ausgeschlossen. - Das Ergebnis enthält sensible Zahlungsdaten (Kreditkartennummer, -inhaber und -ablauf, Bankkonto, BLZ).
- Ohne Paging kann das Ergebnis bei vielen Rechnungen sehr groß werden.
- Laut Code-Kommentar ist die Währungslogik (
Currency= Rechnungswährung) vorläufig, bis Mehrwährung vollständig unterstützt wird.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
PaidInvoices
|
bit boolean |
0 |
Wählt den Modus: 0 liefert unbezahlte Rechnungen, 1 liefert bezahlte Rechnungen. Erlaubte Werte
Beispiel: |
Antwort
Result-Set 1 · Immer (kann leer sein)
Eine Zeile pro passender Rechnung, aufsteigend sortiert nach Rechnungsdatum.
| Spalte | Typ | Beschreibung |
|---|---|---|
InvoiceNr
Kann leer sein |
string |
Rechnungsnummer. |
InvoiceDate
Kann leer sein |
dateTime |
Rechnungsdatum ( |
ShopID
Kann leer sein |
string |
Shop, zu dem die Rechnung gehört ( |
PaymentAddressId
|
int |
Schlüssel der Rechnungsadresse ( |
ShipmentAddressId
Kann leer sein |
int |
Schlüssel der Lieferadresse ( |
CustKey
|
int |
Kundenschlüssel ( |
total
Kann leer sein |
decimal |
Rechnungsbetrag. |
PaymentCode
|
string |
Code der Zahlungsart der Rechnung. |
PaymentText
Kann leer sein |
string |
Text der Zahlungsart oder der Zahlungscode, falls kein Text hinterlegt ist. |
PaymentDate
Kann leer sein |
dateTime |
Zahlungsdatum der Rechnung, wenn sie exakt vollständig bezahlt ist, sonst NULL. |
Paid
|
bit boolean |
1, wenn die bezahlte Summe dem auf 2 Stellen gerundeten Betrag entspricht, sonst 0. |
TotalToPay
Kann leer sein |
decimal |
Rechnungsbetrag (identisch mit |
PaidSum
Kann leer sein |
decimal |
Bisher bezahlter Betrag ( |
CcCardType
Kann leer sein |
string |
Kreditkartentyp. |
CcCardNr
Kann leer sein |
string |
Kreditkartennummer. |
CcCardName
Kann leer sein |
string |
Name des Kreditkarteninhabers. |
CcCardExp
Kann leer sein |
string |
Ablaufdatum der Kreditkarte. |
Account
Kann leer sein |
string |
Kontonummer. |
Blz
Kann leer sein |
string |
Bankleitzahl (BLZ). |
BankName
Kann leer sein |
string |
Name der Bank. |
AccountName
Kann leer sein |
string |
Name des Kontoinhabers. |
TrackingID
Kann leer sein |
string |
Sendungsverfolgungsnummer. |
ShipDate
Kann leer sein |
dateTime |
Ausscan- bzw. Versanddatum. |
UpdateDate
Kann leer sein |
dateTime |
Letzte Änderung der Rechnung. |
ReminderLevel
Kann leer sein |
int |
Aktuelle Mahnstufe. |
Note
Kann leer sein |
string |
Notiz zur Rechnung. |
ShipVendor
Kann leer sein |
string |
Versanddienstleister. |
Currency
Kann leer sein |
string |
Währungscode der Rechnung ( |
OrderCurrency
Kann leer sein |
string |
Währungscode der Rechnung (identisch mit |
TotalToPay_OrderCurr
Kann leer sein |
decimal |
Rechnungsbetrag (identisch mit |
ReturnReason
Kann leer sein |
string |
Retourengrund der Rechnung. |
InvoiceKey
|
int |
Interner Schlüssel der Rechnung. |
RefToInvoiceNr
Kann leer sein |
string |
Nummer der referenzierten Rechnung (z. B. bei Gutschriften). |
RefToInvoiceKey
Kann leer sein |
int |
Schlüssel der referenzierten Rechnung. |
CustomerNrExternal
Kann leer sein |
string |
Externe Kundennummer. |
InvZIP
Kann leer sein |
string |
PLZ der Rechnungsadresse. |
InvCity
Kann leer sein |
string |
Ort der Rechnungsadresse. |
InvCountryCodeISO3
Kann leer sein |
string |
ISO3-Ländercode der Rechnungsadresse; NULL, wenn das Land nicht gefunden wird. |
InvName
Kann leer sein |
string |
Name der Rechnungsadresse. |
InvName2
Kann leer sein |
string |
Zweite Namenszeile der Rechnungsadresse. |
InvFirstName
Kann leer sein |
string |
Vorname der Rechnungsadresse. |
InvLastName
Kann leer sein |
string |
Nachname der Rechnungsadresse. |
InvCompany
Kann leer sein |
string |
Firma / c/o der Rechnungsadresse ( |
InvStreet
Kann leer sein |
string |
Straße der Rechnungsadresse. |
InvHouseNr
Kann leer sein |
string |
Hausnummer der Rechnungsadresse. |
DueDate
Kann leer sein |
dateTime |
Fälligkeitsdatum der Rechnung. |
DatevUserAccount
Kann leer sein |
varchar(10) string |
DATEV-Kontonummer des Kunden. |
Beispielantwort
<SqlRowSet1>
<row>
<InvoiceNr>RE100234</InvoiceNr>
<InvoiceDate>2024-03-04T10:15:00</InvoiceDate>
<ShopID>SHOP1</ShopID>
<PaymentAddressId>55012</PaymentAddressId>
<ShipmentAddressId>55013</ShipmentAddressId>
<CustKey>20871</CustKey>
<total>89.90</total>
<PaymentCode>RE</PaymentCode>
<PaymentText>Rechnung</PaymentText>
<Paid>false</Paid>
<TotalToPay>89.90</TotalToPay>
<PaidSum>0.00</PaidSum>
<TrackingID>00340434161234567890</TrackingID>
<ShipDate>2024-03-04T15:42:00</ShipDate>
<UpdateDate>2024-03-04T15:42:00</UpdateDate>
<ReminderLevel>0</ReminderLevel>
<ShipVendor>DHL</ShipVendor>
<Currency>EUR</Currency>
<OrderCurrency>EUR</OrderCurrency>
<TotalToPay_OrderCurr>89.90</TotalToPay_OrderCurr>
<InvoiceKey>100234</InvoiceKey>
<CustomerNrExternal>K-4711</CustomerNrExternal>
<InvZIP>80331</InvZIP>
<InvCity>München</InvCity>
<InvCountryCodeISO3>DEU</InvCountryCodeISO3>
<InvName>Max Mustermann</InvName>
<InvFirstName>Max</InvFirstName>
<InvLastName>Mustermann</InvLastName>
<InvStreet>Marienplatz</InvStreet>
<InvHouseNr>1</InvHouseNr>
<DueDate>2024-03-18T00:00:00</DueDate>
<DatevUserAccount>10871</DatevUserAccount>
</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:pixiGetInvoicesUnpaid>
<!-- <PaidInvoices>0</PaidInvoices> -->
</ns1:pixiGetInvoicesUnpaid>
</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:pixiGetInvoicesUnpaid>
<!-- <PaidInvoices>0</PaidInvoices> -->
</ns1:pixiGetInvoicesUnpaid>
</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 = [
// 'PaidInvoices' => '0',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetInvoicesUnpaid', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetInvoicesUnpaid