Invoke Peppol Invoice Export
Zuletzt geändert: 14.03.2026 05:56

Invoke-PeppolInvoiceExport #

ÜBERSICHT #

Erzeugt aus einer EULANDA-Rechnung eine PEPPOL BIS Billing 3.0 (UBL 2.1) Rechnung und lädt bzw. sendet diese optional über den Peppol-Gateway von B2Brouter.

SYNTAX #

Invoke-PeppolInvoiceExport [-Conn] <object> [-WorkFolder] <string> [-XsltFile] <string>
    [-InvoiceNo] <int> [-InvoiceId] <int> [[-ApiKey] <string>] [[-AccountId] <int>] [-IncludePdf]
    [-Upload] [-Transmit] [-PassThru]

BESCHREIBUNG #

Diese Funktion ist headless ausgelegt und benötigt eine vorbereitete Datenbankverbindung sowie die erforderlichen Pfade als Parameter.

Sie führt folgende Schritte aus:

  • Export der Rechnung aus EULANDA in ein META-XML
  • Prüfung der PEPPOL-IDs im Rechnungskontext
  • Erzeugung einer HTML-Sichtkopie und Rendering als PDF (optional, abhängig vom Renderer)
  • Transformation von META-XML nach UBL mittels XSLT
  • Einbettung des PDF als Attachment in die UBL (wenn PDF vorhanden)
  • Optional: Upload der UBL zu B2Brouter
  • Optional: Direktversand an den Empfänger (nur zusammen mit Upload)

Die Funktion fragt keine Werte interaktiv ab und verwendet keine globalen Script-Variablen.

PARAMETER #

-Conn #

Type: object

Offene EULANDA-Datenbankverbindung (z.B. aus Get-ConnByUdl). Die Verbindung wird nicht von der Funktion geöffnet oder geschlossen.

-WorkFolder #

Type: string

Arbeitsverzeichnis für Zwischen- und Ergebnisdateien (META-XML, UBL, HTML, PDF).

-XsltFile #

Type: string

Pfad zur XSLT-Datei für die Transformation von EULANDA-META-XML nach UBL.

-InvoiceNo #

Type: int

Rechnungsnummer in EULANDA.

-InvoiceId #

Type: int

Interne Rechnungs-ID. Die Rechnungsnummer wird darüber ermittelt. Alternativ zu InvoiceNo.

-IncludePdf #

Type: switch

Wenn gesetzt, wird in die UBL-Xml auch eine PDF-Invoice-Vorschau als Attachment zugefügt.

-Upload #

Type: switch

Wenn gesetzt, wird die erzeugte UBL-Rechnung zu B2Brouter hochgeladen.

-Transmit #

Type: switch

Wenn gesetzt, wird nach dem Upload der Versand an den PEPPOL-Empfänger ausgelöst. Nur in Kombination mit -Upload zulässig.

-ApiKey #

Type: string

API-Key für B2Brouter. Erforderlich, wenn -Upload verwendet wird.

-AccountId #

Type: int

AccountId für B2Brouter. Erforderlich, wenn -Upload verwendet wird.

-PassThru #

Type: switch

Wenn gesetzt, gibt die Funktion ein Ergebnisobjekt zurück (Dateipfade und Statusinformationen).

AUSGABEN #

Ohne -PassThru: keine Ausgabe.

Mit -PassThru: PSCustomObject mit Informationen zu erzeugten Dateien und Upload-/Sende-Status.

BEISPIELE #

# Rechnung erzeugen (ohne Upload) und Ergebnisobjekt zurückgeben
$result = Invoke-PeppolInvoiceExport -Conn $conn -InvoiceNo 4711 -WorkFolder 'C:\Temp\EulandaPeppol' -XsltFile $xslt -PassThru
# Rechnung erzeugen und zu B2Brouter hochladen
Invoke-PeppolInvoiceExport -Conn $conn -InvoiceNo 4711 -WorkFolder 'C:\Temp\EulandaPeppol' -XsltFile $xslt -Upload -ApiKey $apiKey -AccountId 273488
# Rechnung hochladen und sofort senden (Transmit)
Invoke-PeppolInvoiceExport -Conn $conn -InvoiceNo 4711 -WorkFolder 'C:\Temp\EulandaPeppol' -XsltFile $xslt -Upload -Transmit -ApiKey $apiKey -AccountId 273488
# Verarbeitung über InvoiceId (Rechnungsnummer wird intern ermittelt)
Invoke-PeppolInvoiceExport -Conn $conn -InvoiceId 123456 -WorkFolder 'C:\Temp\EulandaPeppol' -XsltFile $xslt -PassThru

HINWEISE #

Typische Verwendung:

  • Verbindung, WorkFolder, XSLT und Gateway-Zugangsdaten werden außerhalb der Funktion vorbereitet (z.B. per Initialize-Environment).
  • Interaktive Abfragen (Read-Host) gehören in den Wrapper, nicht in diese Funktion.