Postman-Collection
Invoices Lesen

pixiDatevExportPosInvoices

Liefert POS-Verkäufe und POS-Zahlungen eines Zeitraums als DATEV-Buchungszeilen (Erlöse je Steuersatz und Zahlungen) für den Export in die Buchhaltung.

Wrapper für die interne Prozedur Pixi_DatevExportPOSInvoices. Sie erzeugt DATEV-Buchungszeilen aus Kassenbelegen (POSheader2/POSitem2) und POS-Zahlungen (POSPayment).

Zeitraum: DateFrom wird auf den Tagesbeginn und DateTo auf das Tagesende gesetzt. Verglichen wird jeweils mit dem Belegdatum PHdate.

Erlöszeilen (Source = INV)

  • Eine Zeile je Kassenbeleg und Steuersatz, Vorzeichen, Artikel-Buchungskonto und weiteren Gruppierungsmerkmalen. Die Positionsbeträge sind PIQty * PIEndPrice. Ein Kopfrabatt (Betrag oder Prozent) wird anteilig auf die Positionen verteilt.
  • MwstSatz ist der Steuersatz des Artikels (1 = voll, 2 = ermäßigt, 3 = null). Bei Adressen mit AddrNoChargeVAT wird er auf 3 gesetzt.
  • BookKeepingAccount hängt vom Steuersatz ab und stammt aus den Einstellungen AccountNumberPOSInvoice, AccountNumberPOSInvoiceVatLow und AccountNumberPOSInvoiceVatZero.
  • VatCode und BookKeepingAccount können danach durch DatevVatCodeOverrideHigh/Low und DatevAccountOverrideHigh/Low aus der Tabelle VATs übersteuert werden. Ein zum Belegdatum gültiger länderspezifischer Eintrag hat Vorrang vor einem allgemeinen. Konten, die als Wert von Einstellungen mit Namen wie book%accounteucompanies% vorkommen, werden nicht übersteuert.
  • Gruppen mit Summe 0 entfallen.

Zahlungszeilen (Source = PAY)

  • Eine Zeile je POS-Zahlungsbetrag, ausgenommen die Zahlungsarten B und -. Der Betrag ist POSPayment.Amount.
  • BookKeepingAccount ist das BookkeepingAccountPos der Zahlungsart, ersatzweise die Einstellung AccountNumberPOSPayment.
  • Gegenkonto stammt aus dem Shop (Shops.Gegenkonto) des Kunden (Customers.CustomerOf), der über die Rechnung mit gleicher Nummer verknüpft ist.

Filter (jeweils ohne Wirkung bei NULL):

  • ShopId: Shop der Adresse. Bei INV-Zeilen ist das die Kundenadresse des Kassenbelegs, bei PAY-Zeilen die Adresse der Rechnung mit gleicher Nummer.
  • Country: Land der Kundenadresse des Kassenbelegs.
  • InvoiceNr: Belegnummer (PHdocNr).
  • OrderNrExternal: externe Auftragsnummer der Auftragsposition (INV) bzw. des Auftragskopfs (PAY).
  • BookKeepingAccount: wirkt als Alles-oder-nichts-Schalter, nicht als Zeilenfilter. INV-Zeilen erscheinen nur, wenn der Wert einer der drei POS-Erlöskonto-Einstellungen entspricht. PAY-Zeilen erscheinen nur, wenn er AccountNumberPOSPayment entspricht.

Ausgabe

  • Mit ShowOnlySums = 0 werden alle Zeilen geliefert. Enthalten sind nur Zeilen, deren Land in Countries existiert.
  • Price und PriceInCents sind Absolutwerte; die Richtung steht in Sign.
  • CustomerNr wird ersatzweise mit der Einstellung DefaultCustomerAccountNumber gefüllt.
  • Sortierung: InvoiceNr, Source, InvText, Price.

Mit ShowOnlySums = 1 wird nur eine Platzhalterzeile mit ReportName = DATEVExportInvoices geliefert. Alle Summenspalten dieser Zeile sind NULL.

Hinweise

  • Nur lesend. Alle Tabellen werden mit NOLOCK gelesen, außer POSheader2 und Addresses im Zahlungsteil. Nicht festgeschriebene Daten können daher erscheinen.
  • Zahlreiche Einstellungen verändern die Ausgabe:
    • BookExportDatevPro: Vorzeichen s/h statt +/-.
    • BookExportDatevHomeCountry: Heimatland, Standard D.
    • BookExportDatevUseOrderNrExternal: kommagetrennte Liste von Zahlungsarten, bei denen InvoiceNr die externe Auftragsnummer statt der Belegnummer enthält.
    • BookExportBookAccountAsKostenStelle: schreibt das Artikel-Buchungskonto in Empty2.
    • ExportPaymentTypeAsKostenStelle2: Empty3 erhält die Zahlungsart (1). Bei 2 erhält es NULL für INV-Zeilen und das Shop-Gegenkonto für PAY-Zeilen.
    • Steuerschlüssel-Einstellungen BookEu*VatCode, BookGer*VatCode und BookNonEuVatCode.
  • Die Steuerschlüssel-Einstellungen werden nach int konvertiert. Ein nicht numerischer Wert führt zu einem Konvertierungsfehler.
  • Country fällt auf das Land des Kassenstandorts (Location.LocCountry) zurück. VatCode und AccountNrItems werden dagegen nur aus dem Land der Kundenadresse ermittelt und können bei anonymen Kassenverkäufen NULL sein.
  • Zahlungszeilen werden mit den Kassenpositionen verknüpft. Eine Zahlung kann daher in mehrere Zeilen aufgeteilt werden, wenn die Artikel unterschiedliche Steuerschlüssel oder Artikelkonten haben.
  • Die Währung ist immer die Hauswährung der Datenbank (pixi.GetDatabaseCurrency).
  • OrderNrExternal wird auf 12 Zeichen und InvText auf 60 Zeichen gekürzt.
  • Der Modus ShowOnlySums liefert derzeit keine echten Summen, nur NULL-Werte.

Parameter

Parameter Typ Standardwert Beschreibung
DateFrom
Pflicht
datetime
dateTime
–

Beginn des Zeitraums (Belegdatum). Die Uhrzeit wird auf den Tagesbeginn gesetzt.

Beispiel: 2024-05-01T00:00:00

DateTo
Pflicht
datetime
dateTime
–

Ende des Zeitraums (Belegdatum). Wird auf das Tagesende erweitert.

Beispiel: 2024-05-31T00:00:00

ShopId
varchar(3)
string
NULL

Optionaler Filter auf den Shop der Kundenadresse. Verkäufe ohne Adresse entfallen, wenn gesetzt.

Beispiel: ABC

ShowOnlySums
bit
boolean
0

Wählt den Ausgabemodus: Buchungszeilen oder Platzhalter-Summenzeile.

Erlaubte Werte

  • 0 – Alle DATEV-Buchungszeilen liefern.
  • 1 – Nur eine Zeile `DATEVExportInvoices` mit NULL-Summen liefern.

Beispiel: 0

Country
varchar(3)
string
NULL

Optionaler Filter auf den Pixi-Ländercode der Kundenadresse des Kassenbelegs.

Beispiel: D

InvoiceNr
varchar(20)
string
NULL

Optionaler Filter auf die Kassenbelegnummer (PHdocNr).

Beispiel: K2024000123

OrderNrExternal
varchar(50)
string
NULL

Optionaler Filter auf die externe Auftragsnummer des Kassenverkaufs.

Beispiel: WEB-100045

BookKeepingAccount
varchar(255)
string
NULL

Optionaler Kontoschalter. INV-Zeilen erscheinen nur, wenn der Wert einer POS-Erlöskonto-Einstellung entspricht. PAY-Zeilen erscheinen nur, wenn er AccountNumberPOSPayment entspricht.

Beispiel: 8400

Antwort

Result-Set 1 · Wenn ShowOnlySums = 1

Einzelne Platzhalterzeile; alle Summenspalten sind NULL.

Spalte Typ Beschreibung
ReportName varchar(19)
string

Immer DATEVExportInvoices.

SumQtyItems
Kann leer sein
int

Immer NULL.

Sum_VK
Kann leer sein
int

Immer NULL.

Sum_VK_Netto
Kann leer sein
int

Immer NULL.

Sum_ShipCost_Netto
Kann leer sein
int

Immer NULL.

Sum_ShipCost
Kann leer sein
int

Immer NULL.

Sum_VAT
Kann leer sein
int

Immer NULL.

Sum_NettoBruttoControl
Kann leer sein
int

Immer NULL.

Result-Set 2 · Wenn ShowOnlySums = 0 (Standard)

DATEV-Buchungszeilen für POS-Erlöse (INV) und POS-Zahlungen (PAY), sortiert nach InvoiceNr, Source, InvText, Price.

Spalte Typ Beschreibung
Source varchar(5)
string

INV für Erlöszeilen, PAY für Zahlungszeilen.

OrderCurrency varchar(3)
string

Hauswährung der Datenbank.

PHDate datetime
dateTime

Datum des Kassenbelegs.

Country
Kann leer sein
varchar(3)
string

Land der Kundenadresse, sonst des Kassenstandorts.

MwstSatz
Kann leer sein
smallint
int

Steuersatzschlüssel (1 voll, 2 ermäßigt, 3 null); NULL bei Zahlungszeilen.

Sign varchar(1)
string

Buchungsrichtung: +/- bzw. s/h bei gesetztem BookExportDatevPro.

Price
Kann leer sein
money
decimal

Absoluter Betrag, bei Erlöszeilen auf 2 Nachkommastellen gerundet.

PriceInCents
Kann leer sein
bigint
long

Absoluter Betrag in Cent.

VatCode
Kann leer sein
int

DATEV-Steuerschlüssel aus Einstellungen oder VATs-Übersteuerung.

BookKeepingAccount
Kann leer sein
varchar(255)
string

Erlöskonto (je Steuersatz) bzw. Zahlungskonto.

AccountNrItems
Kann leer sein
varchar(20)
string

Artikel-Buchungskonto (EU, EU-Firmen oder Nicht-EU).

InvoiceNr
Kann leer sein
varchar(50)
string

Kassenbelegnummer bzw. externe Auftragsnummer für Zahlungsarten aus BookExportDatevUseOrderNrExternal.

Empty1 varchar(1)
string

Immer leer.

InvoiceDate datetime
dateTime

Datum des Kassenbelegs.

CustomerNr
Kann leer sein
varchar(60)
string

Externe Kundennummer der Adresse, sonst Einstellung DefaultCustomerAccountNumber.

Empty2
Kann leer sein
varchar(20)
string

Artikel-Buchungskonto als Kostenstelle bei gesetztem BookExportBookAccountAsKostenStelle, sonst leer.

Empty3
Kann leer sein
varchar(50)
string

Abhängig von ExportPaymentTypeAsKostenStelle2: Zahlungsart, Shop-Gegenkonto (PAY) oder NULL, sonst leer.

Empty4 varchar(1)
string

Immer leer.

Skonto
Kann leer sein
int

Immer NULL.

InvText
Kann leer sein
varchar(60)
string

Buchungstext: externe Auftragsnummer, Ref. rechn.-Bezugsbeleg und (INV) Rechnungskommentar, max. 60 Zeichen.

OrderNrExternal
Kann leer sein
varchar(12)
string

Externe Auftragsnummer, getrimmt und auf 12 Zeichen gekürzt.

CustomerName
Kann leer sein
varchar(60)
string

Adressname bzw. Kundenname des Kassenbelegs.

Firstname
Kann leer sein
varchar(60)
string

Namensteil vor dem ersten Leerzeichen.

Lastname
Kann leer sein
varchar(60)
string

Namensteil nach dem ersten Leerzeichen.

VatID
Kann leer sein
varchar(50)
string

USt-IdNr. des Kassenbelegs (INV) bzw. des Kunden (PAY).

Gegenkonto
Kann leer sein
varchar(50)
string

Gegenkonto des Kunden-Shops; NULL bei Erlöszeilen.

IsEU
Kann leer sein
boolean

EU-Kennzeichen des Landes aus Countries.

CntCodeISO2
Kann leer sein
string

ISO-2-Code des Landes.

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:pixiDatevExportPosInvoices>
      <DateFrom>2024-05-01T00:00:00</DateFrom>
      <DateTo>2024-05-31T00:00:00</DateTo>
      <!-- <ShopId>ABC</ShopId> -->
      <!-- <ShowOnlySums>0</ShowOnlySums> -->
      <!-- <Country>D</Country> -->
      <!-- <InvoiceNr>K2024000123</InvoiceNr> -->
      <!-- <OrderNrExternal>WEB-100045</OrderNrExternal> -->
      <!-- <BookKeepingAccount>8400</BookKeepingAccount> -->
    </ns1:pixiDatevExportPosInvoices>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

POSheader2 · Lesen POSitem2 · Lesen POSPayment · Lesen Payments · Lesen items · Lesen Addresses · Lesen Countries · Lesen Orderlines · Lesen OrderHeader · Lesen Invoices · Lesen Customers · Lesen Location · Lesen Shops · Lesen VATs · Lesen Settings · Lesen
SQL-Objekt:
dbo.pipiDatevExportPosInvoices
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben