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.