Allgemein
Die Dokumentenverwaltungsdatei muss in jedem Document-Package genau einmal vorkommen und exakt die Bezeichnung "document.xml" haben. Sie verwaltet hauptsächlich die Zuordnung von XML-Datei zu Beleg innerhalb des Document-Packages. Die dazugehörigen XSD-Spezifikationen sind wie folgt bezeichnet:
- "Document_v060.xsd" für die Datenelemente
- "Document_types_v060.xsd" für die Datentyp-Definition (Länge, Wertebereich, etc.)
Beispiel
Das nachfolgende Beispiel zeigt eine valide Verwaltungsdatendatei für zwei Ausgangsrechnungen aus Februar 2023.
document.xml
<?xml version="1.0" encoding="utf-8"?>
<archive xmlns="http://xml.datev.de/bedi/tps/document/v06.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xml.datev.de/bedi/tps/document/v06.0 Document_v060.xsd" version="6.0"
generatingSystem="DATEV-Musterdaten">
<header>
<date>2023-02-02T22:22:22</date>
</header>
<content>
<document>
<extension xsi:type="accountsReceivableLedger" datafile="Rechnungsdaten_RA_R-2023-101.xml">
<property value="2023-01" key="1" />
<property value="Ausgangsrechnungen" key="3" />
</extension>
<extension xsi:type="File" name="Rechnungsbild_RA_R-2023-101.pdf"/>
</document>
<document>
<extension xsi:type="accountsReceivableLedger" datafile="Rechnungsdaten_RA_R-2023-204.xml">
<property value="2020-02" key="1" />
<property value="Ausgangsrechnungen" key="3" />
</extension>
<extension xsi:type="File" name="Rechnungsbild_RA_R-2023-204.pdf"/>
<extension xsi:type="File" name="Rechnungsbild_RA_R-2023-204_Anhang1.pdf"/>
<extension xsi:type="File" name="Rechnungsbild_RA_R-2023-204_Anhang2.pdf"/>
<repository> <!--optional-->
<level id="1" name="Softwarename"/>
<level id="2" name="Belege"/>
<level id="3" name="2023/02"/>
</repository>
</document>
</content>
</archive>
Aufbau
Element <archive>
Das Rootelement Archive enthält folgende Bestandteile:
Bezeichnung |
Typ |
Beschreibung |
Kardinalität |
---|---|---|---|
header | Element | diverse Metainformationen | 1...1 |
content | Element | Entität für ein Dokument, z.B. eine Rechnung | 1...1 |
xmlns | Attribut | korrespondierend zur verwendeten Version der XSD, aktuell: "http://xml.datev.de/bedi/tps/ document/v06.0" |
1...1 |
xmlns:xsi | Attribut | fester Inhalt "http://www.w3.org/2001/ XMLSchema-instance" |
1...1 |
xsi:schemaLocation | Attribut | korrespondierend zur verwendeten Version der XSD, aktuell: "http://xml.datev.de/bedi/tps/ document/v06.0 Document_v060.xsd" |
1...1 |
version | Attribut | verwendete Version der Schnittstelle (aktuell 6.0) | 1...1 |
generatingSystem | Attribut | Name der Software, welche die XML-Datei erzeugt hat | 0...1 |
Element archive/<header>
Dieses Element enthält allgemeine Metainformationen.
Bezeichnung |
Typ |
Beschreibung |
Kardinalität |
---|---|---|---|
date | Element | Erstellungsdatum der Datei | 1...1 |
description | Element | Freitext 255 | 0...1 |
consultantNumber | Element | Beraternummer | Verwendung nicht empfehlenswert | 0...1 |
clientNumber | Element | Mandantennummer | Verwendung nicht empfehlenswert | 0...1 |
clientName | Element | Mandantenname | Verwendung nicht empfehlenswert | 0...1 |
Die Verwendung des Elements "date" ist hier ausreichend. Die Elemente zur Definition von Beraternummer/Mandantennummer/Name werden spätestens bei der Übertragung der Daten ins DATEV Rechenzentrum explizit abgefragt. Werden dann abweichende Angaben bei der Übertragung gemacht, ist der Eintrag in der XML-Datei nur hinderlich. Da die Angaben auch an keiner anderen Stelle des Prozesses einen Mehrwert schaffen, raten wir von der Verwendung dieser Elemente ab.
Element archive/<content>
Dieses Element ist das Kernstück der document.xml und enthält die Auflistung der zu übertragenen Dateien (XML-& Beleg-Dateien).
Bezeichnung |
Typ |
Beschreibung |
Kardinalität |
---|---|---|---|
document | Element | Die Entität für ein Dokument (z.B. eine Rechnung). | 1...5000 |
Element archive/content/<document>
Dieses Element enthält die logische Zuordnung von XML-Datei zu Beleg-Datei und entspricht bspw. einer Rechnung.
Bezeichnung |
Typ |
Beschreibung |
Kardinalität |
---|---|---|---|
extension | Element | Definiert den Typ der Datei | 1...50 |
repository | Element | Definiert ein Ablageverzeichnis für die Dateien des Elements | 0...1 |
guid | Attribut | GUID/UUID gem. RFC 4122 | GUID wird verwendet um den Beleg mit dieser ID im DATEV Rechenzentrum abzulegen | Kann dazu verwendet werden, um Belegverlinkungen über DATEV Rechnungswesen aufzubauen | extension vom Typ "File" erforderlich | 0...1 |
type | Attribut | Belegkreis Eingangsrechnung/Ausgangsrechnung | 0...1 |
processID | Attribut | Verarbeitungskennzeichen | 1 = Belege im Posteingang ablegen, Repository wird ignoriert, nur möglich wenn keine Daten-XML enthalten ist | 2 = Belege in Ablageverzeichnis/Repository einsteuern | 0...1 |
description | Element | Beschreibung des Dokuments | 0...1 |
keywords | Element | Schlüsselwörter zum Dokument | Notiz | 0...1 |
Element archive/content/document/<extension>
Über dieses Element wird die konkrete Datei benannt und festgelegt, welchen Dateityp sie hat.
Bezeichnung |
Typ |
Beschreibung |
Kardinalität |
---|---|---|---|
xsi:type | Attribut | Definiert den Dateityp | 1...1 |
datafile oder name |
Attribut | Abhängig vom xsi:type. Referenziert über den Dateinamen auf die Datei | 1...1 |
property | Element | Abhängig vom xsi:type | 0...2 |
Der Attribut xsi:type kann verschiedene Ausprägungen annehmen. Abhängig davon muss entweder das Attribut datafile oder name übergeben werden. Desweiteren unterschieden sich auch die Inhalte des Elements property.
Ausprägung |
Beschreibung |
Attribut |
---|---|---|
accountsPayableLedger | XML-Datei für Daten einer Eingangsrechnung | datafile |
accountsReceivableLedger | XML-Datei für Daten einer Ausgangsrechnung | datafile |
cashLedger | XML-Datei für Daten einer Kasse | datafile |
File | Datei, z.B. der Beleg Zulässige Dateitypen: PDF, TIF, TIFF, BMP, CSV, DOC, DOCX, GIF, JPEG, JPG, ODS, ODT, PKCS7, PNG, RTF, TXT, XLS, XLSX |
name |
Invoice | Eingangs-/Ausgangsrechnug | datafile |
SEPAFile | SEPA/DTAUS-Dateien | name |
Element archive/content/document/extension/<property>
Die Propertys enthalten zusätzliche Metainformationen in Abhängigkeit vom xsi:type.
Bezeichnung |
Typ |
Beschreibung |
Kardinalität |
---|---|---|---|
key | Enum | Definiert eine bestimmte Inhaltsart | 1...1 |
value | Attribut | Der konkrete Inhalt korrespondierend zum Attribut key | 1...1 |
In der nachfolgenden Tabelle ist aufgelistet, welcher Wert im Attribut value für den jeweiligen key (1-3) in Abhängigkeit vom xsi:type erwartet wird.
Ausprägung |
key="1" |
key="2" |
key="3" |
---|---|---|---|
accounts Payable Ledger |
Rechnungsmonat Format "JJJJ-MM" z.B. "2020-02" |
nicht verfügbar | Bezeichnung des Rechnungsordners Default: Eingangsrechnungen1 |
accounts Receivable Ledger |
Rechnungsmonat Format "JJJJ-MM" z.B. "2020-02" |
nicht verfügbar | Bezeichnung des Rechnungsordners Default: Ausgangsrechnungen1. |
cash Ledger2 |
Transaktionsmonat Format "JJJJ-MM" z.B. "2020-02" |
Kassenkontonummer z. B. „1000“1 |
Kassenbezeichnung z. B. „Kasse Nürnberg Goho“ Default: Kasse1 |
1Rechnungsordner, Kassenkontonummer und Kassenbezeichnung sind Werte, die der Kunde jeweils individuell in der jeweiligen DATEV App (Belege online/Kassenbuch online) konfigurieren kann. Bieten sie dem Kunden hier möglichst ein Eingabeparameter bei den Schnittstelleneinstellungen an.
2Beim cashLedger darf nur key="2" oder key="3" verwendet werden.
Element archive/content/document/<repository>
Dieses Element definiert ein 3-stufiges Ablageverzeichnis und wird für Dateien vom Typ "File"/"SEPAFile" angewendet. Wird das Repository nicht explizit angegeben, dann werden die Dateien automatisch gemäß einer Default-Ablagestruktur abgelegt. Wird das Repository angegeben, werden die entsprechenden Verzeichnisse - sofern nicht schon vorhanden - zur Laufzeit in Belege online erzeugt.
Bezeichnung |
Typ |
Beschreibung |
Kardinalität |
---|---|---|---|
id | Attribut | Ebene im Ablageverzeichnis | 3...3 |
name | Attribut | Bezeichnung des Verzeichnisses | 3...3 |
Das Attribut "id" lässt folgende Eingaben zu:
- "1" = entspricht dem Level "Kategorie" in Belege online
- "2" = entspricht dem Level "Ordner" in Belege online
- "3" = entspricht dem Level "Register" in Belege online
Die Bezeichnung für das Attribut "name" ist frei wählbar. Wir empfehlen auf Level 1 nur eine konstante Bezeichnung pro generatingSystem (Softwarename) zu verwenden. Bei Level 2 und 3 können durchaus mehrere Begriffe verwendet werden. Die Default-Ablagestruktur sieht wie folgt aus:
Ausprägung |
Kategorie |
Ordner |
Register |
---|---|---|---|
accountsPayableLedger | Buchführung | IMPORT JJJJ RE | MM Monatsname |
accountsReceivableLedger | Buchführung | IMPORT JJJJ RA | MM Monatsname |
cashLedger | Buchführung | IMPORT JJJJ KASSE | MM Monatsname |
invoice | Buchführung | IMPORT JJJJ | MM Monatsname |