Export Invoice Xml
Zuletzt geändert: 14.03.2026 05:56

Export-InvoiceXml #

ÜBERSICHT #

Exportiert eine EULANDA-Rechnung als kommentiertes und strukturiertes XML gemäß EN16931 welches dann per XSLT Transformation in Xrechnung, ZUGFeRD oder EDIFACT INVOIC gewandelt werden kann.

SYNTAX #

Export-InvoiceXml [-Conn] <__ComObject> [[-WorkingDir] <string>] [[-OutputXml] <string>]
    [[-InvoiceId] <nullable[int]>] [[-InvoiceNo] <nullable[int]>] [[-XsdFile] <string>]
    [-ValidateXml] [-CommentXml] [-Xrechnung] [-IncludeAccounting] [[-BankIBAN] <string>]
    [<CommonParameters>]

BESCHREIBUNG #

Diese Funktion liest Rechnungsdaten aus einer EULANDA-Datenbankverbindung (UDL oder Connection-String), generiert daraus eine strukturierte XML-Datei mit Metadaten und optionalen Kommentaren gemäß dem mitgelieferten XSD-Schema. Sie unterstützt sowohl das ZUGFeRD- als auch das Xrechnung-Format (je nach Schalter) und validiert optional gegen das XSD.

Optional können FIBU-Kontierungsdaten (Erlöskonten, MwSt-Sätze) aus der SQL-Funktion cnf_FibuBruttoErlöseKopf geladen und im XML als FIBULISTE ergänzt werden.

PARAMETER #

-Conn #

Type: __ComObject

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

-WorkingDir #

Type: string
Default: $null

Das Arbeitsverzeichnis, von dem aus relative Pfade aufgelöst werden.

-OutputXml #

Type: string
Default: $null

Pfad zur Zieldatei, in die das XML geschrieben wird. Wird relativ zum Skriptpfad aufgelöst.

-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.

-XsdFile #

Type: string
Default: $null

Pfad zur XSD-Datei, gegen die das erzeugte XML optional validiert wird. Aus der XSD wird aber auch die Feldbeschreibung aus den Kommentaren extrahiert.

-ValidateXml #

Type: switch

Wenn gesetzt, wird das erzeugte XML gegen das angegebene XSD validiert.

-CommentXml #

Type: switch

Wenn gesetzt, werden XML-Kommentare aus der XSD-Datei in das erzeugte XML eingefügt.

-Xrechnung #

Type: switch

Wenn gesetzt, wird der ‘ConformanceLevel’ auf Xrechnung gesetzt. Diese XML kann dann in einem weiteren Schritt in eine Xrechnung CII transformiert werden, ansonsten wäre sie ZUGFeRD kompatibel.

-IncludeAccounting #

Type: switch

Wenn gesetzt, werden zusätzlich FIBU-Kontierungsdaten (Erlöskonten, MwSt-Sätze) aus der SQL-Funktion cnf_FibuBruttoErlöseKopf geladen und als FIBULISTE im XML ergänzt. Dies ist nützlich für Datev-Exports oder andere Buchhaltungsintegrationen.

AUSGABEN #

string

Der erzeugte XML-Dateiname inkl. Pfad.

BEISPIELE #

# Exportiert die Rechnung Nr. 12345 als XML im Format Xrechnung und validiert sie gegen das Schema.
$udl = "C:\cfg\eulanda.udl"
$conn = Get-ConnByUdl -Udl $udl
Export-InvoiceXml -Conn $conn -OutputXml ".\output\invoice.xml" -InvoiceNo 12345 `
  -XsdFile ".\schema\eulanda-invoice.xsd" -ValidateXml -Xrechnung
# Exportiert Rechnung mit FIBU-Kontierungsdaten für Datev-Export.
$conn = Get-ConnByUdl -Udl "C:\cfg\eulanda.udl"
Export-InvoiceXml -Conn $conn -OutputXml "C:\Temp\invoice.xml" -InvoiceNo 20250006 `
  -IncludeAccounting -CommentXml

HINWEISE #

  • Das XML enthält strukturierte Kommentare, basierend auf dem XSD.
  • Die Daten werden aus EULANDA per ADODB gelesen und vollständig in eine Hashtable überführt.
  • Unterstützt UTF-8 ohne BOM und XML-Deklaration mit Encoding=“UTF-8”.
  • Nutzt ‘Get-CommentMapFromXsd’ und ‘Convert-HashtableToXml’ zur Erzeugung eines dokumentierten XMLs.
  • Die XML-Datei enthält zusätzlich einen Kopfkommentar mit Zeitstempel und Dateiname.
  • FIBU-Daten erscheinen im XML als .