Postman-Collection
Invoices Lesen

pixiGetInvoice

Liefert Rechnungsköpfe mit Summen, MwSt., Zahlungsstatus, Bankdaten und verknüpften Auftragsnummern, gefiltert nach Rechnungsnummer, Shop, Datum, Auftrag oder Zahlstatus, mit schlüsselbasiertem Paging.

Wählt Rechnungen aus Invoices (verknüpft mit Customers) aus und liefert je Rechnung eine Zeile mit Beträgen, Zahlungs- und Versanddaten.

Normalisierung der Parameter

  • Leere Zeichenketten in InvoiceNr, ShopID, PaymentType, OrderNRExternal sowie OrderNR = 0 gelten als kein Filter.
  • RowCount NULL oder 0 wird zu 1000.
  • Datumsparameter vor dem 01.01.1990 werden ignoriert.

Filter (mit UND verknüpft, nur wenn gesetzt)

  • StartKey > 0: nur Rechnungen mit InvoiceKey größer als StartKey.
  • InvoiceNr: exakte Rechnungsnummer.
  • InvDateFrom/InvDateTo: Rechnungsdatum, ShipDateFrom/ShipDateTo: Scan-Out-(Versand-)Datum, UpdateDateFrom/UpdateDateTo: letzte Änderung. Alle Datumsvergleiche sind exklusiv (> und <).
  • ShopID: Shop des Kunden (Customers.CustomerOF).
  • PaymentType: Zahlungsart-Code der Rechnung.
  • OrderNR / OrderNRExternal: Die Rechnung muss mindestens eine Rechnungsposition zu einer Auftragsposition mit dieser Auftragsnummer bzw. externen Auftragsnummer enthalten.
  • OnlyUnpaidInvoices = 1: Bezahlter Betrag weicht von der gerundeten Summe ab, und es existiert kein offener Kundenkontoeintrag (ohne Bankzeile, DTAUS oder manuelle Buchung) mit DoNotRefund.

Paging Es werden die ersten RowCount passenden Rechnungen nach InvoiceKey ausgewählt. Für die nächste Seite wird der höchste InvoiceKey des vorigen Ergebnisses als StartKey übergeben.

Ergebnis

  • OrderNr/OrderNrExternal sind die höchsten Auftragsnummern der über die Rechnungspositionen verknüpften Aufträge (bei gesetztem Auftragsfilter nur passende Auftragspositionen).
  • CcpPayID wird nur bei AddCCPPayID = 1 gefüllt und enthält eine kommagetrennte Liste der Payment-IDs der verknüpften Aufträge.
  • PaymentDate ist das jüngste Datum aus dem Kundenkonto-Ausgleich.
  • Paid ist 1, wenn der bezahlte Betrag der auf 2 Stellen gerundeten Summe entspricht.
  • Discount_Invoice ist bei B2C-Rechnungen die Brutto-, sonst die Netto-Gutscheinsumme.
  • VATHigh/VATLow/VATSum enthalten auch die MwSt. auf Versand- und Rücksendekosten.

Sortierung nach InvoiceDate.

Hinweise

  • Alle Lesezugriffe verwenden NOLOCK; nicht festgeschriebene Daten können erscheinen.
  • Die Hauptselektion wird als dynamisches SQL (sp_executesql) mit Parametern ausgeführt.
  • TotalRows ist die Zeilenzahl des Selektionsschritts, der durch RowCount begrenzt ist; es ist nicht die Gesamtzahl der passenden Rechnungen.
  • Ein negativer StartKey liefert keine Zeilen.
  • Datumsfilter sind exklusiv: InvDateTo = 2024-03-31 schließt Rechnungen ab genau diesem Zeitpunkt aus.
  • Die Abschlussabfrage verwendet Inner Joins auf CustomerAccount, Payments, Addresses, pixi.Currency und pixi.ExchRate. Rechnungen ohne passenden Datensatz dort werden nicht geliefert (aber in TotalRows gezählt). Eine Rechnung mit mehreren Kundenkontoeinträgen oder verknüpften Aufträgen mit unterschiedlichen ccpPayID-Werten kann mehrfach erscheinen.
  • Temporäre Tabellen haben eindeutige Indizes auf dem Rechnungsschlüssel; bei mehreren Kundenkontoeinträgen oder mehrdeutigen Auftragsdaten kann der Aufruf mit einem Duplicate-Key-Fehler von SQL Server abbrechen.

Parameter

Parameter Typ Standardwert Beschreibung
InvoiceNr
varchar(20)
string
NULL

Exakte Rechnungsnummer. Leer = kein Filter.

Beispiel: RE2024001234

ShopID
varchar(3)
string
NULL

Shop-ID des Kunden (Customers.CustomerOF). Leer = alle Shops.

Beispiel: SHP

PaymentType
char(1)
string
NULL

Zahlungsart-Code der Rechnung (Invoices.Payment). Leer = alle.

Beispiel: V

OrderNR
int NULL

Nur Rechnungen mit Positionen dieser Auftragsnummer. 0 = kein Filter.

Beispiel: 100523

OrderNRExternal
varchar(50)
string
NULL

Nur Rechnungen mit Positionen dieser externen (Shop-)Auftragsnummer. Leer = kein Filter.

Beispiel: WEB-2024-55871

InvDateFrom
datetime
dateTime
NULL

Rechnungsdatum strikt nach diesem Wert. Werte vor 01.01.1990 werden ignoriert.

Beispiel: 2024-03-01T00:00:00

InvDateTo
datetime
dateTime
NULL

Rechnungsdatum strikt vor diesem Wert. Werte vor 01.01.1990 werden ignoriert.

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

UpdateDateFrom
datetime
dateTime
NULL

Letzte Änderung der Rechnung strikt nach diesem Wert. Werte vor 01.01.1990 werden ignoriert.

Beispiel: 2024-03-15T08:00:00

UpdateDateTo
datetime
dateTime
NULL

Letzte Änderung der Rechnung strikt vor diesem Wert. Werte vor 01.01.1990 werden ignoriert.

Beispiel: 2024-03-16T08:00:00

RowCount
int 1000

Maximale Anzahl ausgewählter Rechnungen (Seitengröße). NULL oder 0 = 1000.

Beispiel: 500

AddCCPPayID
bit
boolean
0

Bei 1 wird die Spalte CcpPayID mit den kommagetrennten Payment-IDs der verknüpften Aufträge gefüllt.

Erlaubte Werte

  • 0 – `CcpPayID` bleibt NULL
  • 1 – `CcpPayID` füllen

Beispiel: 1

OnlyUnpaidInvoices
bit
boolean
0

Bei 1 nur Rechnungen, deren bezahlter Betrag von der gerundeten Summe abweicht und die keinen offenen Kundenkontoeintrag mit DoNotRefund haben.

Erlaubte Werte

  • 0 – Alle Rechnungen
  • 1 – Nur unbezahlte Rechnungen

Beispiel: 0

StartKey
int 0

Paging-Schlüssel: nur Rechnungen mit InvoiceKey größer als dieser Wert. 0 = von Anfang an; negative Werte liefern nichts.

Beispiel: 0

ShipDateFrom
datetime
dateTime
NULL

Scan-Out-(Versand-)Datum strikt nach diesem Wert. Werte vor 01.01.1990 werden ignoriert.

Beispiel: 2024-03-01T00:00:00

ShipDateTo
datetime
dateTime
NULL

Scan-Out-(Versand-)Datum strikt vor diesem Wert. Werte vor 01.01.1990 werden ignoriert.

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

Antwort

Result-Set 1 · Immer (ggf. leer)

Eine Zeile je ausgewählter Rechnung (ggf. mehrere, siehe Hinweise), sortiert nach InvoiceDate.

Spalte Typ Beschreibung
TotalRows
Kann leer sein
int

Anzahl der in dieser Seite ausgewählten Rechnungen (begrenzt durch RowCount).

InvoiceNr
Kann leer sein
varchar(20)
string

Rechnungsnummer.

InvoiceDate
Kann leer sein
datetime
dateTime

Rechnungsdatum.

ShopID
Kann leer sein
varchar(50)
string

Shop des Kunden.

PaymentAddressId
Kann leer sein
int

Schlüssel der Rechnungsadresse (Invoices.AddrRef).

ShipmentAddressId
Kann leer sein
int

Schlüssel der Lieferadresse.

CustKey
Kann leer sein
int

Kundenschlüssel.

Total
Kann leer sein
decimal

Rechnungssumme (brutto).

VATSum
Kann leer sein
decimal

Gesamte MwSt. inkl. Versand- und Rücksendekosten.

VATHigh
Kann leer sein
decimal

MwSt. zum vollen Satz inkl. Versand- und Rücksendekosten.

VATLow
Kann leer sein
decimal

MwSt. zum ermäßigten Satz inkl. Versand- und Rücksendekosten.

TotalNoVAT
Kann leer sein
decimal

Nettosumme.

ShipCost
Kann leer sein
decimal

Versandkosten (brutto).

ShipCostNoVAT
Kann leer sein
numeric(17,2)
decimal

Versandkosten (netto).

Discount_Invoice
Kann leer sein
decimal

Gutscheinsumme: brutto bei B2C, sonst netto.

Discount_InvLines
Kann leer sein
decimal

Gesamtrabatt der Rechnungspositionen.

PaymentCode
Kann leer sein
char(1)
string

Zahlungsart-Code.

PaymentText
Kann leer sein
string

Text der Zahlungsart, ersatzweise der Code.

PaymentDate
Kann leer sein
smalldatetime
dateTime

Jüngstes Datum des Kundenkonto-Ausgleichs.

Paid bit
boolean

1, wenn der bezahlte Betrag der auf 2 Stellen gerundeten Summe entspricht.

TotalToPay
Kann leer sein
decimal

Zu zahlender Betrag (wie Total).

PaidSum
Kann leer sein
decimal

Bisher bezahlter Betrag.

CcCardType
Kann leer sein
string

Kreditkartentyp aus der Rechnungsadresse.

CcCardNr
Kann leer sein
string

Kreditkartennummer.

CcCardName
Kann leer sein
string

Name des Karteninhabers.

CcCardExp
Kann leer sein
string

Ablaufdatum der Karte.

Account
Kann leer sein
string

Kontonummer.

Blz
Kann leer sein
string

Bankleitzahl.

BankName
Kann leer sein
string

Name der Bank.

AccountName
Kann leer sein
string

Kontoinhaber.

TrackingID
Kann leer sein
string

Sendungsverfolgungsnummer.

ShipDate
Kann leer sein
dateTime

Scan-Out-(Versand-)Datum.

UpdateDate
Kann leer sein
dateTime

Letzte Änderung der Rechnung.

ReminderLevel
Kann leer sein
int

Mahnstufe.

OrderNr
Kann leer sein
int

Höchste verknüpfte Auftragsnummer.

OrderNrExternal
Kann leer sein
varchar(50)
string

Höchste verknüpfte externe Auftragsnummer.

Note
Kann leer sein
string

Notiz der Rechnung.

ShipVendor
Kann leer sein
string

Versanddienstleister.

CcpPayID
Kann leer sein
varchar(1024)
string

Kommagetrennte Payment-IDs der verknüpften Aufträge; nur bei AddCCPPayID = 1.

Currency
Kann leer sein
string

Währungscode.

OrderCurrency
Kann leer sein
string

Währungscode (wie Currency).

TotalToPay_OrderCurr
Kann leer sein
decimal

Rechnungssumme (wie Total).

ReturnReason
Kann leer sein
string

Rücksendegrund.

InvoiceKey int

Interner Rechnungsschlüssel; höchster Wert dient als nächster StartKey.

RefToInvoiceNr
Kann leer sein
string

Referenzierte Rechnungsnummer (z. B. bei Gutschriften).

RefToInvoiceKey
Kann leer sein
int

Referenzierter Rechnungsschlüssel.

ReturnCostsAmount
Kann leer sein
decimal

Betrag der Rücksendekosten.

CreateEmp
Kann leer sein
string

Mitarbeiter, der die Rechnung erstellt hat.

ExchangeRate
Kann leer sein
decimal

Wechselkurs der Rechnung.

ReturnTrackingId
Kann leer sein
string

Sendungsnummer der Rücksendung.

ReturnTrackingIdHistory
Kann leer sein
string

Historie der Rücksende-Sendungsnummern.

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:pixiGetInvoice>
      <!-- <InvoiceNr>RE2024001234</InvoiceNr> -->
      <!-- <ShopID>SHP</ShopID> -->
      <!-- <PaymentType>V</PaymentType> -->
      <!-- <OrderNR>100523</OrderNR> -->
      <!-- <OrderNRExternal>WEB-2024-55871</OrderNRExternal> -->
      <!-- <InvDateFrom>2024-03-01T00:00:00</InvDateFrom> -->
      <!-- <InvDateTo>2024-04-01T00:00:00</InvDateTo> -->
      <!-- <UpdateDateFrom>2024-03-15T08:00:00</UpdateDateFrom> -->
      <!-- <UpdateDateTo>2024-03-16T08:00:00</UpdateDateTo> -->
      <!-- <RowCount>500</RowCount> -->
      <!-- <AddCCPPayID>1</AddCCPPayID> -->
      <!-- <OnlyUnpaidInvoices>0</OnlyUnpaidInvoices> -->
      <!-- <StartKey>0</StartKey> -->
      <!-- <ShipDateFrom>2024-03-01T00:00:00</ShipDateFrom> -->
      <!-- <ShipDateTo>2024-04-01T00:00:00</ShipDateTo> -->
    </ns1:pixiGetInvoice>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

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