ConvertFrom-EInvoice #
ÜBERSICHT #
Liest eine E-Rechnung (CII, ZUGFeRD 1, UBL/XRechnung) vollständig mit Positionen in eine einheitliche Struktur.
SYNTAX #
ConvertFrom-EInvoice [-Path] <string> [-Xml] <string> [[-Bytes] <byte[]>]
BESCHREIBUNG #
Für den Rechnungseingang (Roadmap I2, CN 27.09.2026): Kopf, Verkäufer und Käufer, Zahlungsangaben, Steueraufteilung, Summen und Positionen aus der XML, gleich welcher Syntax. Unterstützt werden UN/CEFACT CII (ZUGFeRD 2, Factur-X, XRechnung in CII), der Vorgänger ZUGFeRD 1.0 (CrossIndustryDocument) und UBL 2.1 Invoice und CreditNote (XRechnung in UBL, Peppol). Gelesen wird über lokale Elementnamen, damit Namensraum-Varianten (ram:12 gegen ram:100) keine Rolle spielen.
Dazu prüft die Funktion die Summen in sich: Netto plus Steuer gleich Brutto, Summe der Positionen gleich Positionssumme, Steuer je Satz. Was nicht aufgeht, steht in Issues (je ein deutscher Satz); die Rechnung wird trotzdem geliefert.
Rückgabe: PSCustomObject mit Syntax (CII, ZF1, UBL), Profile, DocumentType (380 Rechnung, 381 Gutschrift …), Number, IssueDate, DueDate, DeliveryDate, Currency, BuyerReference, OrderReference, Notes, Seller und Buyer (Name, VatId, TaxNo, Street, Zip, City, Country, Email, Id), Payment (Iban, Bic, Terms), Taxes (Rate, Category, Basis, Amount), Totals (LineTotal, Allowances, Charges, Net, Tax, Gross, Prepaid, Payable), Lines (No, ArticleNo, Name, Description, Quantity, Unit, UnitPrice, Net, TaxRate) und Issues. Beträge sind [decimal], Daten [datetime] oder $null.
PARAMETER #
-Path #
Type: string
Pfad zur XML (oder zu einer ZUGFeRD-PDF: dann wird die eingebettete XML gelesen).
-Xml #
Type: string
Die XML als Text.
-Bytes #
Type: byte[]
Die XML (oder PDF) als Bytes.
BEISPIELE #
$r = ConvertFrom-EInvoice -Path .\xrechnung.xml
$r.Totals.Gross; $r.Seller.VatId; $r.Lines | Format-Table No, Name, Quantity, Net