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
VERWANDTE LINKS #
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
.…