Export-DatevInvoice #
ÜBERSICHT #
TEST-STAGE: Erzeugt Datev-Belegtransfer-Dateien (XML + PDF) für Unternehmen Online.
SYNTAX #
Export-DatevInvoice [[-PdfPath] <string>] [[-MetaXmlPath] <string>] [-OutputFolder] <string>
[[-AccountingEntries] <array>] [[-InvoiceNo] <string>] [[-InvoiceDate] <datetime>]
[[-DeliveryDate] <datetime>] [[-CustomerNo] <string>] [[-DueDate] <datetime>] [[-InvoiceFolder]
<string>] [[-RepositoryCategory] <string>] [[-RepositoryFolder] <string>] [[-GeneratingSystem]
<string>] [[-CostCategory1] <string>] [[-CostCategory2] <string>] [[-AdditionalPdfFiles]
<string[]>] [<CommonParameters>]
BESCHREIBUNG #
Diese Funktion erstellt aus einer EULANDA-Rechnung oder ZUGFeRD-PDF die notwendigen Dateien für den Datev-Belegtransfer:
- Belegsatzdatendatei (Rechnungsdaten_*.xml)
- Verwaltungsdatendatei (document.xml)
- PDF-Rechnung(en)
Die Funktion unterstützt mehrere Steuersätze mit individuellen Kontierungen.
PARAMETER #
-PdfPath #
Type: string
Pfad zur ZUGFeRD-PDF-Datei (optional, wenn MetaXmlPath angegeben).
-MetaXmlPath #
Type: string
Pfad zur EULANDA-META-XML-Datei (optional, wenn PdfPath angegeben).
-OutputFolder #
Type: string
Mandatory: True
Zielordner für die erzeugten Datev-Dateien.
-AccountingEntries #
Type: array
Array mit Kontierungsinformationen pro Steuersatz. Jeder Eintrag benötigt: TaxRate, NetAmount, TaxAmount, RevenueAccount, TaxAccount
-InvoiceNo #
Type: string
Optionale Rechnungsnummer (wird aus XML extrahiert, wenn nicht angegeben).
-InvoiceDate #
Type: datetime
Optionales Rechnungsdatum (wird aus XML extrahiert, wenn nicht angegeben).
-DeliveryDate #
Type: datetime
Optionales Lieferdatum (wird aus XML extrahiert, wenn nicht angegeben).
-CustomerNo #
Type: string
Optionale Kundennummer/Debitorennummer (wird aus XML extrahiert, wenn nicht angegeben).
-DueDate #
Type: datetime
Optionales Fälligkeitsdatum (wird berechnet, wenn nicht angegeben).
-InvoiceFolder #
Type: string
Default: 'Ausgangsrechnungen'
Name des Rechnungsordners in Datev (Standard: “Ausgangsrechnungen”).
-RepositoryCategory #
Type: string
Default: 'EULANDA'
Kategorie-Name im Datev-Ablagesystem (Level 1, Standard: “EULANDA”).
-RepositoryFolder #
Type: string
Default: 'Belege'
Ordner-Name im Datev-Ablagesystem (Level 2, Standard: “Belege”).
-GeneratingSystem #
Type: string
Default: 'EULANDA-ERP'
Name des erzeugenden Systems (Standard: “EULANDA-ERP”).
-CostCategory1 #
Type: string
Kostenstelle 1 (KOST1, optional).
-CostCategory2 #
Type: string
Kostenstelle 2 (KOST2, optional).
-AdditionalPdfFiles #
Type: string[]
Optionale zusätzliche PDF-Dateien (Anhänge).
AUSGABEN #
System.Management.Automation.PSCustomObject
Gibt ein Objekt mit folgenden Properties zurück: - Success (bool) - OutputFolder (string) - DocumentXmlPath (string) - LedgerXmlPath (string) - PdfFiles (string[]) - InvoiceNo (string) - TotalAmount (decimal) - ErrorMessage (string)
BEISPIELE #
# Einfaches Beispiel mit einer Rechnung (ein Steuersatz)
$accounting = @(
@{
TaxRate = 19.00
NetAmount = 1000.00
TaxAmount = 190.00
RevenueAccount = '8400'
TaxAccount = $null # Optional: MwSt-Konto kann weggelassen werden
}
)
Export-DatevInvoice -PdfPath 'C:\Invoices\R-2023-101.pdf' `
-OutputFolder 'C:\DatevExport' `
-AccountingEntries $accounting
# Rechnung mit mehreren Steuersätzen
$accounting = @(
@{
TaxRate = 19.00
NetAmount = 2000.00
TaxAmount = 380.00
RevenueAccount = '8400'
TaxAccount = $null
},
@{
TaxRate = 7.00
NetAmount = 100.00
TaxAmount = 7.00
RevenueAccount = '8300'
TaxAccount = $null
},
@{
TaxRate = 0.00
NetAmount = 100.00
TaxAmount = 0.00
RevenueAccount = '8100'
TaxAccount = $null
}
)
Export-DatevInvoice -MetaXmlPath 'C:\Temp\invoice-4711-meta.xml' `
-PdfPath 'C:\Temp\invoice-4711.pdf' `
-OutputFolder 'C:\DatevExport' `
-AccountingEntries $accounting `
-CostCategory1 '10' `
-CostCategory2 '20'
# Mit zusätzlichen Anhängen
$attachments = @('C:\Temp\Anhang1.pdf', 'C:\Temp\Anhang2.pdf')
Export-DatevInvoice -PdfPath 'C:\Invoices\R-2023-204.pdf' `
-OutputFolder 'C:\DatevExport' `
-AccountingEntries $accounting `
-AdditionalPdfFiles $attachments
HINWEISE #
Autor: Claude Version: 1.0 Erstellt: 2026-02-07
Voraussetzungen:
- PowerShell 5.1 oder höher
- .NET Framework für XML-Verarbeitung
Hinweise:
- Die Summe aller NetAmount + TaxAmount muss dem Gesamtrechnungsbetrag entsprechen
- Debitorennummer (CustomerNo) wird aus ZUGFeRD/META-XML extrahiert
- Unterstützt ZUGFeRD-PDFs mit embedded CII-XML