Send Invoice to Datev
Zuletzt geändert: 21.03.2026 08:03

Übersicht

Send-InvoiceToDatev #

ÜBERSICHT #

Exportiert eine EULANDA-Rechnung als DATEV-Belegtransfer-ZIP mit konfigurierbarem Dateinamen.

SYNTAX #

Send-InvoiceToDatev [-Conn] <__ComObject> [[-InvoiceId] <nullable[int]>] [[-InvoiceNo]
    <nullable[int]>] [-PdfPath] <string> [-OutputPath] <string> [-OutputFolder] <string>
    [[-ZipNameMask] <string>] [-CreateZugferd] [[-XsltPath] <string>]

BESCHREIBUNG #

DB-verbundener Orchestrator für den DATEV-Export einer Einzelrechnung. Erzeugt aus einer EULANDA-Rechnung ein DATEV-konformes ZIP-Archiv mit Rechnungsbild, Kontierungsdaten (Erlöskonten) und Verwaltungsdatei.

Der ZIP-Dateiname kann über eine Platzhalter-Maske (-ZipNameMask) konfiguriert werden. Verfügbare Variablen: KopfNummer, Datum, GesamtVorzeichen, Adresse.Land, VorgangKurz (RE/GS). Die Maske wird nach der META-XML-Erzeugung aufgelöst, sodass keine zusätzliche DB-Abfrage nötig ist.

Ablauf:

  1. EULANDA-META-XML mit Buchhaltungsdaten erzeugen (Export-InvoiceXml -IncludeAccounting) Enthält FIBULISTE mit Erlöskonten, MwSt-Sätzen und Debitorenkonto
  2. ZIP-Dateiname aus META-XML und Maske auflösen (nur im ByMask-Modus)
  3. XSLT-Transformation der META-XML zu DATEV LedgerImport-Format (EULANDA-invoice-eul-datev.xslt: ERLOESKONTO -> accountNo, MWSTSATZ -> tax)
  4. Optional: Rechnungs-PDF in ZUGFeRD/PDF-A3 umwandeln (-CreateZugferd)
  5. ZIP-Paket über Export-DatevInvoice erstellen
  6. Temporäre Zwischendateien aufräumen

Das erzeugte ZIP enthält:

  • document.xml Verwaltungsdatei
  • Rechnungsdaten_RA_.xml Kontierung mit Erlöskonten
  • Rechnungsbild_RA_.pdf Rechnungsbild

PARAMETER #

-Conn #

Type: __ComObject

Offene ADODB-Verbindung zur EULANDA-Datenbank.

-InvoiceId #

Type: nullable[int]
Default: $null

Interne Rechnungs-ID (Primärschlüssel). Hat Vorrang vor InvoiceNo.

-InvoiceNo #

Type: nullable[int]
Default: $null

Rechnungsnummer (KopfNummer).

-PdfPath #

Type: string

Pfad zur Rechnungs-PDF-Datei (Eingabe).

-OutputPath #

Type: string

Vollständiger Pfad zur ZIP-Datei die erzeugt werden soll (Ausgabe). Alternativ können -OutputFolder und -ZipNameMask verwendet werden.

-OutputFolder #

Type: string

Ausgabeordner für die ZIP-Datei. Wird zusammen mit -ZipNameMask verwendet. Die Maske wird nach der META-XML-Erzeugung anhand der Rechnungsdaten aufgelöst.

-ZipNameMask #

Type: string

Platzhalter-Maske für den ZIP-Dateinamen (ohne .zip-Endung). Verwendet die Expand-PlaceholderString-Syntax mit Prozent-Platzhaltern. Verfügbare Variablen: KopfNummer, Datum, GesamtVorzeichen, Adresse.Land, VorgangKurz (RE/GS) sowie alle SYSTEM.*-Variablen. Standard: %FF0000000:KopfNummer%-%VorgangKurz%-%Adresse.Land%-%FDyyyy-MM-dd:Datum% Ergibt z.B.: 0004711-RE-DE-2026-03-01.zip

-CreateZugferd #

Type: switch

Wandelt das Rechnungs-PDF in ein ZUGFeRD/PDF-A3 um (via ConvertTo-ZugferdPdf). Dazu wird zusätzlich eine CII-XML aus der META-XML erzeugt und ins PDF eingebettet.

-XsltPath #

Type: string
Default: $null

Pfad zum XSLT-Stylesheet für die DATEV-Transformation. Standard: EULANDA-invoice-eul-datev.xslt aus dem Modulverzeichnis.

AUSGABEN #

System.Management.Automation.PSCustomObject

Ergebnis von Export-DatevInvoice (Success, OutputPath, InvoiceCount, Files). Im ByMask-Modus enthält OutputPath den aus der Maske aufgelösten Pfad.

BEISPIELE #

# Rechnung mit Erlöskonten als DATEV-ZIP exportieren (fester Pfad)
$conn = Get-ConnByUdl -Udl 'C:\Eulanda\EULANDA_1 EulandaGmbH.udl'
Send-InvoiceToDatev -Conn $conn -InvoiceNo 20260270 `
  -PdfPath 'C:\Temp\20260270.pdf' `
  -OutputPath 'C:\Temp\datev-20260270.zip'
# Mit Namensmaske (Standard-Default)
Send-InvoiceToDatev -Conn $conn -InvoiceNo 20260270 `
  -PdfPath 'C:\Temp\20260270.pdf' `
  -OutputFolder 'C:\Datev\Belegtransfer'
# Erzeugt z.B.: C:\Datev\Belegtransfer\0020260270-RE-DE-2026-03-01.zip
# Mit eigener Namensmaske
Send-InvoiceToDatev -Conn $conn -InvoiceNo 20260270 `
  -PdfPath 'C:\Temp\20260270.pdf' `
  -OutputFolder 'C:\Datev\Belegtransfer' `
  -ZipNameMask '%KopfNummer%-%Adresse.Land%'
# Erzeugt z.B.: C:\Datev\Belegtransfer\20260270-DE.zip
# Mit ZUGFeRD-PDF-Erzeugung
Send-InvoiceToDatev -Conn $conn -InvoiceId 57 `
  -PdfPath 'C:\Temp\invoice.pdf' `
  -OutputPath 'C:\Temp\datev.zip' `
  -CreateZugferd

HINWEISE #

Benötigt: Export-InvoiceXml, ConvertFrom-Xml, Export-DatevInvoice, Expand-PlaceholderString (für -ZipNameMask) Optional: ConvertTo-ZugferdPdf (für -CreateZugferd) XSLT: EULANDA-invoice-eul-datev.xslt (XSLT 1.0) DATEV-Schema: LedgerImport v6.0, Document v6.0