Export Invoice
Zuletzt geändert: 02.11.2026 17:54

Übersicht

Export-Invoice #

ÜBERSICHT #

Exportiert eine EULANDA-Rechnung als XRechnung (CII-XML), UBL/Peppol (UBL-XML) oder ZUGFeRD-PDF gemäß EN16931.

SYNTAX #

Export-Invoice [[-Conn] <__ComObject>] [[-ConnStr] <string>] [[-Udl] <string>] [[-InvoiceNo]
    <nullable[int]>] [[-InvoiceId] <nullable[int]>] [-OutputXml] <string> -Ubl [-InputPdf] <string>
    [-OutputPdf] <string> [[-BankIBAN] <string>] [[-Attachment] <object[]>] [[-AttachmentFolder]
    <string>] [-ValidateXml] [[-ZugferdProfile] <string>] [[-ContentSettings] <hashtable>]

BESCHREIBUNG #

Die Funktion ‘Export-Invoice’ exportiert Rechnungen aus einer EULANDA-Datenbank entweder als XRechnung-konformes XML-Dokument oder als ZUGFeRD-konformes PDF mit eingebetteter XML-Datei. Dabei stehen drei Modi zur Verfügung:

  • XmlExport: erzeugt ein reines EN16931-konformes CII-XML (XRechnung).
  • UblExport: erzeugt ein UBL 2.1-konformes XML (Peppol BIS Billing 3.0).
  • PdfExport: bettet das XML in ein bestehendes PDF ein (z. B. mit Firmenbriefpapier).
  • DirectPdfExport: erstellt das PDF direkt über die EULANDA-OLE-Schnittstelle, erzeugt eine XRechnung-XML und bettet diese anschließend ein.

Die Verbindung erfolgt wahlweise über eine bereits geöffnete ADODB.Connection (-Conn), eine Verbindungszeichenfolge -ConnStr oder eine Udl-Datei -Udl. Die Rechnung selbst wird über -InvoiceId oder -InvoiceNo bestimmt.

PARAMETER #

-Conn #

Type: __ComObject

Eine bereits geöffnete ADODB.Connection-Instanz. Hat Vorrang vor -ConnStr und -Udl. Wird vom Aufrufer gehalten und am Ende NICHT geschlossen (Caller-owns-Connection). Spart pro Aufruf einen Connection-Open (~200 ms VPN, ~50 ms lokal) und ist der bevorzugte Weg, wenn mehrere Funktionen dieselbe Verbindung benutzen.

-ConnStr #

Type: string

Eine vollständige ADO-Verbindungszeichenfolge zur EULANDA-Datenbank. Alternativ kann -Udl oder -Conn verwendet werden.

-Udl #

Type: string

Pfad zu einer Udl-Datei, die die Verbindung zur EULANDA-Datenbank definiert. Alternativ kann -ConnStr oder -Conn verwendet werden.

-InvoiceId #

Type: nullable[int]

Interne Rechnungs-ID. Entweder -InvoiceId oder -InvoiceNo muss angegeben werden.

-InvoiceNo #

Type: nullable[int]

Rechnungsnummer laut EULANDA. Entweder -InvoiceId oder -InvoiceNo muss angegeben werden.

-OutputXml #

Type: string

Pfad zur Zieldatei für den XML-Export, in den ParameterSets XmlExport und UblExport.

-Ubl #

Type: switch

Schalter für den UBL/Peppol-Modus. Erzeugt ein UBL 2.1-konformes XML gemäß Peppol BIS Billing 3.0 statt des CII-Formats. Nur im ParameterSet UblExport verfügbar.

-InputPdf #

Type: string

Pfad zur bestehenden PDF-Datei, in die das XML eingebettet werden soll, nur im ParameterSet PdfExport möglich.

-OutputPdf #

Type: string

Pfad zur Zieldatei für das generierte oder modifizierte PDF, Pflicht in PdfExport und DirectPdfExport.

-Attachment #

Type: object[]

Dateien, die als Anlagen (BG-24) in die E-Rechnung eingebettet werden, in allen vier Modi. Erlaubt sind PDF, PNG, JPEG, CSV, XLSX und ODS mit zusammen höchstens 15 MB, sonst bricht der Export mit einer Klartextmeldung ab. Details in ‘Get-InvoiceAttachment’. Jeder Eintrag ist ein Pfad, ein FileInfo-Objekt oder eine Hashtable mit Path (Pflicht), FileName und Description; ohne Description gilt der Dateiname ohne Endung als Beschreibung (BT-123). So gibt die X-Suite Titel und Namen aus ihrer Ablage über dieselbe Schnittstelle mit.

-AttachmentFolder #

Type: string

Ein Ordner, dessen Dateien als Anlagen eingebettet werden (nicht rekursiv, nach Name sortiert, versteckte Dateien ausgenommen). Fehlt der Ordner oder ist er leer, wird ohne Anlagen exportiert. In der Klassik ist das der Unterordner ‘Annex’ im DMS-Ordner der Rechnung. Lässt sich mit ‘-Attachment’ kombinieren.

-ValidateXml #

Type: switch

Prüft die erzeugten Dateien gegen ihre Schemas. Die EULANDA-XML gegen ‘schema\EULANDA-invoice.xsd’ (Verstöße als Warnung, wie in Export-InvoiceXml) und die CII-Rechnung gegen die Factur-X-XSD ihres Profils (EN 16931 für XRechnung, EXTENDED für ZUGFeRD), dort als Fehler: eine schemaungültige Rechnung wird nicht als Ergebnis geliefert und nicht in das PDF eingebettet. Für UBL liegt kein Schema im Modul; dort bleibt die Prüfung einem Validator überlassen (Invoke-PortInvoiceValidation). Die XSD ist die Syntaxebene, Codes und Rechenregeln prüft nur ein Validator mit Schematron.

-ContentSettings #

Type: hashtable

Inhaltseinstellungen aus einem Empfängerprofil, unverändert an Export-InvoiceXml weitergereicht (siehe dort). Ohne den Parameter liest der Export Registry und Xfacture-Einstellungen der Adresse wie bisher.

-ZugferdProfile #

Type: string
Default: ''

Profil der eingebetteten ZUGFeRD-XML: ‘Extended’ (Standard, alle Felder der Norm und die Extended-Felder BT-X) oder ‘EN16931’ (nur die Norm, für Empfänger, deren Prüfprogramm nur EN 16931 und XRechnung kennt). Gilt für PdfExport und DirectPdfExport; XRechnung und UBL haben ihr eigenes Profil. Ohne den Parameter entscheidet der Schlüssel ‘ZugferdProfile’ in -ContentSettings, sonst Extended. Das Stylesheet, die Schemaprüfung und die XMP-Metadaten des PDF folgen dem gewählten Profil.

AUSGABEN #

string

Gibt den vollständigen Pfad zur erzeugten Zieldatei (XML oder PDF) zurück.

BEISPIELE #

# Exportiert die Rechnung 12345 als XRechnung-kompatibles CII-XML nach 'rechnung.xml'.
Export-Invoice -Udl 'C:\Daten\Eulanda.Udl' -InvoiceNo 12345 -OutputXml 'C:\Temp\rechnung.xml'
# Exportiert die Rechnung 12345 als Peppol-konformes UBL-XML nach 'rechnung-ubl.xml'.
Export-Invoice -Udl 'C:\Daten\Eulanda.Udl' -InvoiceNo 12345 -OutputXml 'C:\Temp\rechnung-ubl.xml' -Ubl
# Bettet die Rechnung mit ID 42 als ZUGFeRD-XML in die Datei 'briefpapier.pdf' ein und speichert sie als 'rechnung.pdf'.
Export-Invoice -Udl 'C:\Daten\Eulanda.Udl' -InvoiceId 42 -InputPdf 'briefpapier.pdf' -OutputPdf 'rechnung.pdf'
# Erstellt das PDF direkt über OLE, erzeugt automatisch das XML, bettet es ein und speichert alles als 'rechnung.pdf'.
Export-Invoice -ConnStr 'Provider=SQLOLEDB;Data Source=...' -InvoiceNo 9876 -OutputPdf 'rechnung.pdf'
# Conn-Reuse: bestehende Verbindung verwenden, kein Connection-Open-Overhead.
$conn = Get-ConnByUdl -Udl 'C:\Daten\Eulanda.Udl'
Export-Invoice -Conn $conn -InvoiceNo 12345 -OutputXml 'C:\Temp\rechnung.xml'
$conn.Close()
# XRechnung mit allen Dateien aus dem Annex-Ordner der Rechnung als Anlagen (BG-24).
Export-Invoice -Udl 'C:\Daten\Eulanda.Udl' -InvoiceNo 20260852 -OutputXml 'C:\Temp\rechnung.xml' `
  -AttachmentFolder 'C:\DMS\Adresse\13383\Rechnung\20260852\Annex'
# Mit Schemaprüfung: die CII-Rechnung muss die Factur-X-XSD bestehen, sonst bricht der Export ab.
Export-Invoice -Udl 'C:\Daten\Eulanda.Udl' -InvoiceNo 20260852 -OutputXml 'C:\Temp\rechnung.xml' -ValidateXml

HINWEISE #

  • Teil der EulandaXtools-Suite. Unterstützt den Export gemäß EN16931 als XRechnung (CII), UBL/Peppol (UBL 2.1) bzw. ZUGFeRD (PDF/A-3 mit CII-XML).
  • -ValidateXml prüft gegen die mitgelieferten Schemas (Factur-X 1.09.2 / ZUGFeRD 2.5.2 in schema\en16931 und schema\extended, Auswahl nach der Leitlinie BT-24). Seit Factur-X 1.0.7 enthalten die XSD keine Codelisten mehr, Belegcodes wie 875 bis 877 prüft nur das Schematron.