Die DAC7-Meldedatei: DPI-XML v1.1 erklärt
Die Meldung an das BZSt ist eine XML-Datei im amtlichen Format DPI v1.1, übermittelt über die Schnittstelle „Digitale Plattformen" (DIP). Die Datei besteht im Kern aus drei Ebenen: den Nachrichten-Kopfdaten (Absender, Meldezeitraum), den Angaben zum Plattformbetreiber und je einem Block pro meldepflichtigem Verkäufer mit Identifikation, Tätigkeit und quartalsweise aggregierten Vergütungen.
Beispiel-Ausschnitt
So sieht ein Verkäufer-Block in der erzeugten Datei aus (gekürzt, Beispieldaten):
<dpi:ReportableSeller>
<dpi:Identity>
<dpi:EntitySeller>
<dpi:Standard>
<dpi:EntSellerID>
<dpi:ResCountryCode>DE</dpi:ResCountryCode>
<dpi:TIN issuedBy="DE">86095742719</dpi:TIN>
<dpi:IN INType="BRN" issuedBy="DE">HRB 98765</dpi:IN>
<dpi:VAT>DE123456789</dpi:VAT>
<dpi:Name>Beispiel Handel GmbH</dpi:Name>
<dpi:Address legalAddressType="OECD304">
<dpi:CountryCode>DE</dpi:CountryCode>
<dpi:AddressFix>
<dpi:Street>Musterstraße</dpi:Street>
<dpi:BuildingIdentifier>12</dpi:BuildingIdentifier>
<dpi:PostCode>50667</dpi:PostCode>
<dpi:City>Köln</dpi:City>
</dpi:AddressFix>
</dpi:Address>
</dpi:EntSellerID>
</dpi:Standard>
</dpi:EntitySeller>
</dpi:Identity>
<dpi:RelevantActivities>
<dpi:SaleOfGoods>
<dpi:Consideration>
<dpi:ConsQ1 currCode="EUR">15400</dpi:ConsQ1>
<dpi:ConsQ2 currCode="EUR">18250</dpi:ConsQ2>
<dpi:ConsQ3 currCode="EUR">21100</dpi:ConsQ3>
<dpi:ConsQ4 currCode="EUR">26900</dpi:ConsQ4>
</dpi:Consideration>
<dpi:NumberOfActivities>
<dpi:NumbQ1>142</dpi:NumbQ1>
<dpi:NumbQ2>167</dpi:NumbQ2>
<dpi:NumbQ3>198</dpi:NumbQ3>
<dpi:NumbQ4>251</dpi:NumbQ4>
</dpi:NumberOfActivities>
<dpi:Fees>
<dpi:FeesQ1 currCode="EUR">1540</dpi:FeesQ1>
<dpi:FeesQ2 currCode="EUR">1825</dpi:FeesQ2>
<dpi:FeesQ3 currCode="EUR">2110</dpi:FeesQ3>
<dpi:FeesQ4 currCode="EUR">2690</dpi:FeesQ4>
</dpi:Fees>
<dpi:Taxes>
<dpi:TaxQ1 currCode="EUR">0</dpi:TaxQ1>
<dpi:TaxQ2 currCode="EUR">0</dpi:TaxQ2>
<dpi:TaxQ3 currCode="EUR">0</dpi:TaxQ3>
<dpi:TaxQ4 currCode="EUR">0</dpi:TaxQ4>
</dpi:Taxes>
</dpi:SaleOfGoods>
</dpi:RelevantActivities>
<dpi:DocSpec>
<stf:DocTypeIndic>OECD1</stf:DocTypeIndic>
<stf:DocRefId>DE2026-…</stf:DocRefId>
</dpi:DocSpec>
</dpi:ReportableSeller>Aus CSV wird XML
Sie pflegen die Verkäuferdaten als CSV-Tabelle (UTF-8, Komma oder Semikolon); das Tool prüft die Daten und erzeugt daraus die vollständige Meldedatei. Die Vorlage enthält alle benötigten Spalten:
| Spalte(n) | Bedeutung |
|---|---|
| seller_type | ENTITY oder INDIVIDUAL. |
| res_country | Ansässigkeitsland des Verkäufers (ISO-3166, 2 Buchstaben). |
| tin | Steuer-Identifikationsnummer bzw. Steuernummer des Verkäufers — Pflichtfeld. |
| tin_issued_by | Land, das die TIN ausgestellt hat (ISO-3166). |
| vat | USt-IdNr. des Verkäufers — optional. |
| brn | Handelsregisternummer — nur bei ENTITY zulässig. |
| entity_name | Firmenname — Pflicht bei ENTITY. |
| first_name, last_name | Vor- und Nachname — Pflicht bei INDIVIDUAL. |
| birth_date | Geburtsdatum (JJJJ-MM-TT) — Pflicht bei INDIVIDUAL (§ 14 Abs. 2 Nr. 5 PStTG). |
| birth_place_city, birth_place_country | Geburtsort — optional, aber Land ist Pflicht, sobald ein Ort angegeben wird. |
| street, building_no, post_code | Anschrift des Verkäufers — optional. |
| city | Ort der Anschrift — Pflichtfeld. |
| address_country | Land der Anschrift (ISO-3166). |
| activity | Tätigkeitsart: SALE_OF_GOODS, PERSONAL_SERVICES oder TRANSPORTATION_RENTAL. |
| currency | Währungscode (ISO-4217), Standard EUR. |
| cons_q1 … cons_q4 | Vergütung je Quartal — in vollen Einheiten ohne Dezimalstellen. |
| num_q1 … num_q4 | Anzahl der Tätigkeiten je Quartal. |
| fees_q1 … fees_q4 | Einbehaltene Gebühren/Provisionen je Quartal. |
| tax_q1 … tax_q4 | Einbehaltene Steuern je Quartal. |
Die häufigsten Validierungsfehler
- Beträge mit Dezimalstellen. Das amtliche Schema verlangt MonAmnt_Type als Ganzzahl — runden Sie auf volle Währungseinheiten, statt Centbeträge einzutragen.
- Fehlende oder ungültige Steuer-Identifikationsnummer (TIN). Die TIN ist je Verkäufer Pflicht; bei deutschen IdNrn. prüft das Tool zusätzlich die amtliche Prüfziffer.
- Fehlendes oder falsch formatiertes Geburtsdatum bei natürlichen Personen. birth_date ist bei INDIVIDUAL Pflicht (§ 14 Abs. 2 Nr. 5 PStTG) und muss im Format JJJJ-MM-TT stehen.
- Ungültiges USt-IdNr-Format. Wenn eine USt-IdNr. angegeben wird, muss sie dem Format ihres Landes entsprechen (z. B. DE + 9 Ziffern).
- Fehlende Pflichtspalten in der CSV-Kopfzeile. Laden Sie die aktuelle Vorlage über „CSV-Vorlage herunterladen" und ergänzen Sie nur Datenzeilen, keine Spalten.
Erst prüfen, dann zahlen
Das Prüfprotokoll — Schemavalidierung, Plausibilitätschecks, optional VIES-Abgleich der USt-IdNrn. — ist kostenlos. Bezahlt wird erst der Download der fertigen Meldedatei. Ihre Verkäuferdaten verlassen dabei zu keinem Zeitpunkt Ihren Browser: Jetzt Meldedatei erstellen. Termine im Blick behalten: DAC7-Frist 31. Januar 2027.