Export-GobdZ3 #
ÜBERSICHT #
Exportiert steuerrelevante Daten als GoBD Z3-Datenträgerüberlassung.
SYNTAX #
Export-GobdZ3 [-Conn] <__ComObject> [-FromDate] <datetime> [-ToDate] <datetime> [-OutputPath]
<string> [-IncludeAccounting] [[-Tables] <string[]>] [[-Progress] <scriptblock>]
[<CommonParameters>]
BESCHREIBUNG #
Erstellt einen vollständigen GoBD-konformen Z3-Export gemäß dem GDPdU-Beschreibungsstandard (§ 147 Abs. 6 AO). Alle steuerrelevanten Belege, Stammdaten und optional FIBU-Daten werden als CSV-Dateien mit zugehöriger index.xml und DTD exportiert.
Der Export umfasst:
- Rechnungen und Rechnungspositionen
- Aufträge und Auftragspositionen
- Angebote und Angebotspositionen (nur von Aufträgen referenzierte)
- Lieferscheine und Lieferscheinpositionen
- Artikel (nur referenzierte)
- Adressen (nur referenzierte)
- Firmenstamm
- Optional: FIBU-Erlösdaten
PARAMETER #
-Conn #
Type: __ComObject
Eine aktive ADODB-Verbindung zur EULANDA-Datenbank.
-FromDate #
Type: datetime
Beginn des Prüfungszeitraums.
-ToDate #
Type: datetime
Ende des Prüfungszeitraums.
-OutputPath #
Type: string
Zielverzeichnis für den Z3-Export.
-IncludeAccounting #
Type: switch
Wenn gesetzt, werden FIBU-Erlösdaten (RechnungFibu.csv) mit exportiert.
-Tables #
Type: string[]
Schränkt das Paket auf einzelne Entitäten ein: invoices, orders, quotes, deliveryNotes, articles, addresses, company. Nicht angegeben oder leer heisst alles - Vollständigkeit ist der Normalfall, die Auswahl ist ein Werkzeug für Nachlieferungen.
Positionen sind nicht einzeln wählbar; Kopf und Positionen gehören fachlich zusammen. Artikel und Adressen brauchen mindestens eine Belegtabelle, sonst beschreibt die index.xml Stammdaten, auf die nichts verweist - eine solche Auswahl wird abgewiesen.
Die index.xml beschreibt immer genau das, was tatsächlich im Paket liegt.
-Progress #
Type: scriptblock
Rückkanal für eine Fortschrittsanzeige. Der ScriptBlock wird je Entität am Anfang, alle 1.000 Zeilen und am Ende mit einer Hashtable aufgerufen:
@{ Table = ‘invoices’; Rows = 1234; Completed = $false; Cancel = $false }
Abbruch: Setzt der ScriptBlock Cancel auf $true, bricht der Export an der nächsten Prüfstelle mit einem Fehler ab. Die Hashtable ist ein Referenztyp, das Setzen wirkt also nach aussen. Bewusst so und nicht über den Rückgabewert des ScriptBlocks: ein Aufruf, der zufällig etwas zurückgibt, soll keinen Abbruch auslösen.
Ein Fehler im ScriptBlock bricht den Export NICHT ab - eine kaputte Anzeige darf einen stundenlangen Lauf nicht kosten.
AUSGABEN #
string
Pfad zum Ausgabeverzeichnis.
BEISPIELE #
$conn = Get-ConnByUdl -Udl "C:\cfg\eulanda.udl"
Export-GobdZ3 -Conn $conn -FromDate '2024-01-01' -ToDate '2024-12-31' `
-OutputPath 'C:\Temp\GoBD-2024'
Export-GobdZ3 -Conn $conn -FromDate '2024-01-01' -ToDate '2024-12-31' `
-OutputPath 'C:\Temp\GoBD-2024' -IncludeAccounting
HINWEISE #
Rechtlicher Hintergrund (ohne Gewähr):
Die Finanzverwaltung kann bei einer Außenprüfung gemäß § 147 Abs. 6 AO drei Formen des Datenzugriffs wählen: Z1 (unmittelbarer Lesezugriff des Prüfers auf das DV-System), Z2 (mittelbarer Zugriff, bei dem ein Mitarbeiter maschinelle Auswertungen nach Vorgabe des Prüfers erstellt) und Z3 (Datenträgerüberlassung bzw. seit 2024 “Datenüberlassung”, bei der steuerlich relevante Daten in maschinenlesbarer Form bereitgestellt werden). Die Bereitstellung im GDPdU-Beschreibungsstandard (index.xml + CSV) zur Auswertung mit der Prüfsoftware IDEA ist nicht gesetzlich vorgeschrieben, wird aber von der Finanzverwaltung empfohlen und erleichtert die Prüfung erheblich.
Angebote gelten als Handelsbriefe im Sinne von § 257 Abs. 1 Nr. 2 i.V.m. Abs. 2 HGB, soweit sie ein Handelsgeschäft betreffen – also dessen Vorbereitung, Abschluss oder Durchführung zum Gegenstand haben. Für den Z3-Export sind sie daher nur steuerlich relevant, wenn sie tatsächlich zu einem Geschäftsvorfall geführt haben. Diese Funktion exportiert deshalb ausschließlich Angebote, die über die Verknüpfung Auftrag.an_id von einem Auftrag im Prüfungszeitraum referenziert werden.
Technische Hinweise:
- CSV-Format: Semikolon-getrennt, Dezimalkomma, CRLF, UTF-8, ohne Header-Zeile.
- Artikel und Adressen werden nur exportiert, wenn sie in Belegen referenziert werden.
- Die index.xml entspricht dem GDPdU-Standard (gdpdu-01-08-2002.dtd).
- Die Zeilen werden beim Durchlaufen der Recordsets direkt geschrieben. Der Speicherbedarf hängt daher nicht am angeforderten Zeitraum: ein Jahr und neun Jahre kosten gleich viel.
- Die Ausgabe maskiert nichts und ist ein Prüfungsgegenstand. Sie darf sich nicht ändern, sonst wäre eine frühere Lieferung nicht mehr reproduzierbar.