Get Invoice Line Item Data
Zuletzt geändert: 30.10.2026 17:49

Übersicht

Get-InvoiceLineItemData #

ÜBERSICHT #

Lädt strukturierte Rechnungspositionen aus der EULANDA-Datenbank.

SYNTAX #

Get-InvoiceLineItemData [[-Conn] <__ComObject>] [[-InvoiceId] <nullable[int]>] [[-InvoiceNo]
    <nullable[int]>] [[-PznMixedMode] <string>] [<CommonParameters>]

BESCHREIBUNG #

Diese Funktion liest alle Positionsdaten einer Rechnung aus der Tabelle ‘RechnungPos’ und verknüpften Tabellen. Die Ausgabe ist ein Array von Hashtables unter dem Schlüssel ‘RechnungPos’.

Die Positionsdaten werden dabei aufbereitet: #

  • Preise werden auf Einzelstückbasis normalisiert ‘PreisEh = 1.0.
  • Rabatte werden getrennt als Wert und Prozentsatz ausgewiesen.
  • Sprachabhängige ‘Langtexte’ werden extrahiert und bereinigt.
  • Die Felder ‘VkVRab’, ‘VkRab’, ‘RabattBetrag’ und ‘RabattBetragGes’ berücksichtigen die Preiseinheit.
  • Die Mengeneinheit ‘MengenEh’ wird auf den UN/ECE-Code normalisiert.
  • Die Steuerkategorie wird nach EN16931 Steuerschema (z.B.. „S“, „E“, „Z“) bestimmt.
  • Das Barcodefeld wird zu ‘GTIN’ oder ‘PZN’ aufgelöst.
  • Intrastat-Felder (seit 1.0.399): ‘WarenNr’, ‘UrsprungsLand’ und ‘UrsprungsRegion’ aus dem Artikel sowie ‘Gewicht’ und ‘GewichtGes’ der Position kommen nur mit Wert in die Hashtable (Resolve-IntrastatPositionField); ein Land braucht zwei Großbuchstaben, ein Gewicht muss ungleich null sein. Die XSD der EULANDA-XML kennt die Elemente, die E-Rechnung (BT-158, BT-159) nutzt sie noch nicht.
  • ‘BestellPos’ (seit 1.0.401) ist das Feld „Erweiterte Pos“ der Position (BT-132, Referenz zur Bestellposition des Käufers), nur mit Wert. UBL und CII schreiben es nur, wenn die Rechnung eine Bestellnummer (BT-13) hat.

PZN im Barcodefeld #

EULANDA kennt kein eigenes Feld für die PZN (Pharmazentralnummer). Betriebe aus dem Pharmaumfeld tragen sie deshalb im Barcodefeld des Artikels ein. Wie das Feld zu lesen ist, sagt der SQL-Registry-Wert ‘\Modules\Grundwerte\Xfacture\PznMixedMode’:

  • leer, ‘Standard’ oder ‘0’: GTIN, außer der Artikel trägt das Merkmal „PZN im Barcodefeld“ (Merkmalbaum der Artikel, beliebige Stelle).
  • ‘Barcode’: immer GTIN.
  • ‘PZN’ oder ‘1’: PZN und GTIN gemischt, achtstellige Werte mit gültiger PZN-Prüfziffer werden PZN.

Die Entscheidung trifft ‘Resolve-ArticleIdentifier’.

Optional nicht gesetzte Rabattfelder und Aufschlagskennungen werden entfernt. XML-Felder werden geprüft und führen im Fehlerfall zu einem Abbruch mit Fehlermeldung.

PARAMETER #

-Conn #

Type: __ComObject

Eine aktive ADODB-Verbindung zur EULANDA-Datenbank. Das Connection-Objekt kann über ‘Get-ConnByUdl’ erstellt werden.

-InvoiceId #

Type: nullable[int]
Default: $null

Gibt die ID der Rechnung an. Dies ist der Primärschlüssel in ‘Rechnung’. Hat Vorrang, sollte auch ‘-InvoiceNo’ gesetzt sein.

-InvoiceNo #

Type: nullable[int]
Default: $null

Gibt die Rechnungsnummer des Datenbankfeldes ‘KopfNummer’ an. Wird auch ‘-InvoiceId’ übergeben, hat die Id Vorrang.

-PznMixedMode #

Type: string

Lesart des Barcodefelds aus einem Empfängerprofil: leer (Standard), ‘pzn’ oder ‘barcode’, Werte wie in der Registry. Übergeben ersetzt er den Systemwert ‘\Modules\Grundwerte\Xfacture\PznMixedMode’; Export-InvoiceXml reicht ihn aus -ContentSettings durch.

AUSGABEN #

hashtable

Ein Dictionary mit einem Schlüssel ‘RechnungPos’, der ein Array strukturierter Positionsdaten enthält.

BEISPIELE #

# Lädt alle Positionen der Rechnung mit Kopf-ID 12345.
Get-InvoiceLineItemData -Conn $db -InvoiceId 12345
# Lädt die Positionsdaten der Rechnung mit KopfNummer 20231234.
Get-InvoiceLineItemData -Conn $db -InvoiceNo 20231234

HINWEISE #

  • Die Funktion berechnet Rabatte und Preise stets auf Einzelbasis.
  • Die Positionsbeschreibung ‘Langtext’ wird sprachsensitiv extrahiert.
  • Felder wie GTIN, Kundenartikelnummer, Ursprung, Warennummer können bei Bedarf ergänzt werden.
  • Seriennummern und Chargen (Idents) kommen je Position als Schlüssel ‘IdentNummer’ (Liste aus Typ, Nummer, Menge, AblaufDatum), nur wenn die Position welche hat (Get-InvoiceLineIdent).
  • Diese Funktion ist für den Export in strukturierte XML/XRechnung geeignet.