DATEV mit n8n verbinden: Outlook-Anhänge automatisch in DATEV DMS archivieren

2026-02-27

DATEV mit n8n verbinden: Outlook-Anhänge automatisch in DATEV DMS archivieren

DATEV mit n8n verbinden: Outlook-Anhänge automatisch in DATEV DMS archivieren

n8n ist für viele Kanzleien, TaxTech-Anbieter und IT-Partner ein naheliegendes Werkzeug: E-Mails verarbeiten, Daten prüfen, APIs aufrufen, Benachrichtigungen senden, Workflows bauen.

Bei DATEV wird es aber schnell spezieller.

DATEV ist nicht einfach ein weiterer SaaS-Endpunkt mit einer öffentlichen REST API für alles. Je nach Use Case liegen die Daten in DATEV Online oder in der DATEV Desktop-Umgebung – dort etwa in DATEV DMS, Rechnungswesen oder den Stammdaten. Für viele Kanzlei-Workflows ist deshalb nicht die n8n-Logik das schwierige Thema, sondern der saubere Zugriff auf die passende DATEV-Umgebung.

In diesem Artikel schauen wir uns einen konkreten n8n-Workflow an:

Outlook-E-Mail kommt rein → Anhänge werden ausgelesen → Mandant wird in DATEV gesucht → Datei wird in DATEV DMS hochgeladen → Dokument wird mit Metadaten erstellt → Slack wird benachrichtigt → Outlook-Mail wird markiert.

Das Beispiel basiert auf einem n8n-Workflow mit Klardaten DATEVconnect Nodes: Klardaten Email to DMS auf n8n.io


Für wen ist dieser Artikel gedacht?

Dieser Artikel richtet sich an:

  • Entwickler und IT-Teams in Steuerkanzleien, die Workflow-Automatisierungen aufbauen
  • TaxTech-Anbieter, die DATEV-Funktionen in ihre Produkte integrieren
  • IT-Partner, die DATEV-Umgebungen betreuen
  • Technische Product Teams und CTOs, die DATEV-Workflows produktionsfähig aufbauen
  • n8n-Nutzer, die n8n mit DATEV DMS verbinden möchten

Der Artikel ist bewusst technisch. Kein Schritt-für-Schritt-Tutorial für n8n-Einsteiger, aber konkret genug, um zu verstehen, wie der Workflow aufgebaut ist und wo die echten Stolperstellen im Produktiveinsatz liegen.


Der Use Case: E-Mail-Anhänge automatisch in DATEV DMS ablegen

Viele Kanzleien bekommen Dokumente weiterhin per E-Mail:

  • Verträge
  • Bescheide
  • Auswertungen
  • Lohnunterlagen
  • Bankdokumente
  • PDF-Anhänge von Mandanten
  • Scans aus Fachabteilungen
  • exportierte Reports aus Drittsystemen

Manuell sieht der Prozess oft so aus:

  1. E-Mail öffnen
  2. Anhang herunterladen
  3. Mandant in DATEV suchen
  4. DATEV DMS öffnen
  5. Dokument ablegen
  6. Dokumentart, Zeitraum, Beschreibung und weitere Felder setzen
  7. E-Mail markieren oder verschieben
  8. Kollegen informieren

Das ist kein komplexer Denkprozess. Es ist wiederholbare Arbeit. Genau dafür eignet sich n8n.

Aber: Eine produktive DATEV-DMS-Automatisierung ist mehr als „PDF hochladen”. Der Workflow muss wissen, zu welchem Mandanten das Dokument gehört, welche Metadaten gesetzt werden sollen und mit welchem DATEV-Benutzerkontext der Zugriff erfolgt.


Architektur des Workflows

Der Beispiel-Workflow besteht aus diesen Systemen:

Microsoft Outlook
      ↓
n8n
      ↓
Klardaten DATEVconnect Nodes
      ↓
Klardaten DATEVconnect Gateway
      ↓
DATEV DMS
      ↓
Slack / Outlook Update

Die Rollen sind klar getrennt:

  • Outlook liefert die E-Mail und die Anhänge.
  • n8n steuert die Workflow-Logik.
  • Klardaten DATEVconnect Nodes kapseln die DATEVconnect-Aufrufe in n8n.
  • DATEVconnect Gateway stellt den Zugriff auf DATEVconnect bereit.
  • DATEV DMS speichert Datei und Dokumenteintrag.
  • Slack meldet optional Erfolg oder Status.
  • Outlook wird am Ende aktualisiert, damit die Mail nicht erneut bearbeitet wird.

Der Workflow im Überblick

Der Workflow heißt:

Klardaten Email to DMS

Das Template ist direkt auf n8n.io verfügbar: Klardaten Email to DMS

Er enthält diese fachlichen Schritte:

  1. Neue Outlook-Mail wird erkannt.
  2. Workflow prüft, ob Anhänge vorhanden sind.
  3. Ein DATEV-Mandant wird gesucht.
  4. Anhänge werden einzeln verarbeitet.
  5. Jede Datei wird als Document File in DATEV DMS hochgeladen.
  6. Der aktuelle DATEV-Benutzer wird abgerufen.
  7. Datei, Mandant und Benutzer werden per Merge zusammengeführt.
  8. Ein DATEV-DMS-Dokumenteintrag wird erstellt.
  9. Slack bekommt optional eine Nachricht.
  10. Die Outlook-Mail wird mit einer Kategorie markiert.

Technisch besteht der Workflow aus diesen wichtigen Nodes:

Node Typ Aufgabe
New Outlook email trigger Microsoft Outlook Trigger Prüft regelmäßig auf neue Outlook-Mails und lädt Anhänge herunter
If we have attachments IF Node Lässt nur E-Mails mit Anhängen weiterlaufen
Client lookup Klardaten DATEVconnect Master Data Sucht einen DATEV-Mandanten
Split attachments Code Node Wandelt mehrere Anhänge in einzelne n8n Items um
Upload a document file Klardaten DATEVconnect Document Management Lädt die Binärdatei in DATEV DMS hoch
Get DATEV user Klardaten DATEVconnect IAM Holt den aktuellen DATEV-Benutzer
Merge Merge Node Führt Datei, Mandant und Benutzer zusammen
Create a document Klardaten DATEVconnect Document Management Erstellt den Dokumenteintrag in DATEV DMS
Send a message Slack Node Sendet eine Benachrichtigung
Update a message Microsoft Outlook Node Markiert die E-Mail in Outlook

Schritt 1: Outlook Trigger

Der Workflow startet mit einem Microsoft Outlook Trigger:

{
  "type": "n8n-nodes-base.microsoftOutlookTrigger",
  "pollTimes": {
    "item": [
      {
        "mode": "everyMinute"
      }
    ]
  },
  "options": {
    "attachmentsPrefix": "attachment_",
    "downloadAttachments": true
  }
}

Wichtig sind hier zwei Einstellungen:

"downloadAttachments": true

Damit lädt n8n die Anhänge direkt als Binary Data herunter.

"attachmentsPrefix": "attachment_"

Damit bekommen die Binärdaten Namen wie:

attachment_0
attachment_1
attachment_2

Das ist wichtig, weil der spätere Code Node über alle Binary Keys iteriert und daraus einzelne Items erzeugt.

Technischer Hinweis zur Attachment-Filterung

Im JSON steht beim Outlook Trigger:

"filters": {
  "hasAttachments": false
}

Danach prüft der IF Node aber:

{{ $json.hasAttachments }}

und lässt nur true weiterlaufen.

Das ist ein Punkt, den man vor produktiver Nutzung prüfen sollte.

Es gibt zwei saubere Varianten:

Variante A: Outlook Trigger filtert bereits auf Mails mit Anhängen

Dann sollte der Trigger so konfiguriert sein, dass nur Mails mit Anhängen kommen. Der IF Node ist dann zusätzliche Absicherung.

Variante B: Outlook Trigger holt alle Mails

Dann bleibt der IF Node die eigentliche Filterlogik.

Für einen produktiven Einsatz oder ein veröffentlichtes Template sollte diese Stelle bereinigt werden. Aktuell ist die fachliche Absicht klar: Mails ohne Anhänge sollen nicht weiterverarbeitet werden. Die konkrete Trigger-Konfiguration sollte dazu passen.


Schritt 2: IF Node prüft, ob Anhänge vorhanden sind

Der Node If we have attachments prüft:

{{ $json.hasAttachments }}

Die Bedingung lautet: Boolean ist true.

Das ist sinnvoll, weil der Workflow nur dann weiterlaufen soll, wenn wirklich Anhänge vorhanden sind.

Wichtig: Der IF Node hat im Workflow alwaysOutputData: true.

Das kann in n8n nützlich sein, wenn man Debugging oder kontrollierte Ausgaben haben möchte. Für einen produktiven Workflow sollte man prüfen, ob das wirklich gewünscht ist. In vielen produktiven Automatisierungen ist es besser, wenn der False-Zweig sauber endet und keine ungewollten Items weitergereicht werden.


Schritt 3: DATEV-Mandant suchen

Der Node Client lookup nutzt den Klardaten DATEVconnect Master Data Node:

{
  "type": "@klardaten/n8n-nodes-datevconnect.masterData",
  "parameters": {
    "top": 1,
    "filter": "status eq active"
  }
}

Das ist bewusst ein Demo-Setup.

Der Workflow nimmt aktuell einfach den ersten aktiven Mandanten:

top = 1
filter = status eq active

Das reicht für ein Template, aber nicht für einen produktiven Kanzlei-Workflow.

In der Praxis ist das Mandantenmatching der wichtigste Teil des gesamten Workflows. DATEV DMS braucht einen korrekten Bezug. Wenn der Workflow Dokumente beim falschen Mandanten ablegt, entsteht keine Automatisierung, sondern Schaden.


Produktives Mandantenmatching

Ein produktiver Workflow sollte den Mandanten aus der E-Mail ableiten. Dafür gibt es mehrere Strategien.

1. Matching über Absenderadresse

Beispiel:

rechnung@mandant-gmbh.de → Mandant GmbH

Das funktioniert gut, wenn Mandanten feste Absenderadressen nutzen.

Problem: Viele Dokumente kommen von Dritten, zum Beispiel Banken, Versicherungen, Behörden oder Portalen. Dann ist die Absenderadresse nicht der Mandant.

2. Matching über Absenderdomain

Beispiel:

*@mandant-gmbh.de → Mandant GmbH

Das ist robuster als einzelne E-Mail-Adressen, aber immer noch begrenzt.

Problem: Steuerberater bekommen viele Dokumente von Domains, die nicht eindeutig einem Mandanten gehören.

3. Matching über Betreff

Beispiel:

[12345] Jahresabschluss 2025

oder:

Mandant 10042 - Bescheidprüfung

Das funktioniert gut, wenn interne Regeln eingehalten werden.

Problem: Freitext-Betreffe sind fehleranfällig.

4. Matching über dedizierte Outlook-Ordner

Beispiel:

Posteingang/DMS/Mandant 10042

Dann ist der Ordner bereits die Zuordnung.

Das ist oft pragmatisch. Besonders für Kanzleien, die lieber halbautomatisch starten wollen.

5. Matching über Mapping-Tabelle

Eine Mapping-Tabelle kann z. B. enthalten:

Regel DATEV-Mandant
*@mandant-gmbh.de Mandant GmbH
bank@example.com + IBAN DE... Mandant GmbH
Betreff enthält Kdnr 4711 Mandant GmbH

Diese Tabelle kann in Postgres, Airtable, Google Sheets, einem internen System oder einer eigenen kleinen Datenbank liegen.

6. Review Queue bei unsicherer Zuordnung

Nicht jeder Fall sollte automatisch entschieden werden.

Ein sauberer produktiver Workflow hat meistens einen Zwischenzustand:

Mandant eindeutig gefunden → automatisch in DATEV DMS ablegen
Mandant nicht eindeutig → Review Queue
Mandant nicht gefunden → Fehlerkanal / manuelle Prüfung

Das ist weniger spektakulär als Vollautomatisierung, aber deutlich belastbarer.


Schritt 4: Anhänge in einzelne Items aufteilen

Der Workflow nutzt einen Code Node namens Split attachments.

Der Code:

return $("New Outlook email trigger").all().flatMap(item => {
  const binaries = item.binary ?? {};

  return Object.keys(binaries).map(key => ({
    json: {
      ...item.json,
    },
    binary: {
      data: binaries[key],
    },
  }));
});

Was passiert hier?

n8n speichert mehrere Anhänge einer E-Mail als mehrere Binary-Felder, zum Beispiel:

attachment_0
attachment_1
attachment_2

Der Code nimmt alle Binary Keys und erzeugt daraus einzelne n8n Items.

Aus einer E-Mail mit drei Anhängen werden also drei Items:

Item 1 → binary.data = attachment_0
Item 2 → binary.data = attachment_1
Item 3 → binary.data = attachment_2

Das ist sauber, weil der spätere DATEV-DMS-Upload pro Datei arbeitet.

Warum binary.data?

Der spätere DATEV Upload Node erwartet:

"binaryData": "data"

Deshalb wird jeder Anhang bewusst auf den Binary-Key data gelegt:

binary: {
  data: binaries[key],
}

Das ist eine typische n8n-Technik: Vor einem Upload-Node werden Binärdaten auf den Namen gebracht, den der Upload-Node erwartet.


Schritt 5: Document File in DATEV DMS hochladen

Der Node Upload a document file nutzt den Klardaten DATEVconnect Document Management Node:

{
  "resource": "documentFile",
  "operation": "upload",
  "binaryData": "data"
}

Dieser Schritt lädt die eigentliche Datei hoch.

Wichtig: Das ist noch nicht der vollständige Dokumenteintrag in DATEV DMS. Der Upload erzeugt zunächst eine Datei-Ressource, die später im Dokument referenziert wird.

Der Output dieses Nodes enthält eine ID, die später verwendet wird:

{{ $json.id }}

Diese ID wird im nächsten Schritt als document_file_id gesetzt.


Schritt 6: Aktuellen DATEV-Benutzer holen

Parallel dazu läuft der Node Get DATEV user:

{
  "type": "@klardaten/n8n-nodes-datevconnect.identityAndAccessManagement",
  "parameters": {
    "resource": "currentUser"
  }
}

Der Workflow verwendet den Benutzer später im Dokument:

"user": {
  "id": "{{ $('Get DATEV user').item.json.id }}"
}

Das ist wichtig, weil DMS-Dokumente nicht nur aus Datei und Mandant bestehen. Sie haben auch Kontextinformationen wie Benutzer, Domain, Ordner, Zeitraum und Struktur.

Für produktive Setups muss hier sauber geklärt werden:

  • Unter welchem DATEV-Kontext läuft der Zugriff?
  • Welche Rechte hat dieser Benutzer?
  • Ist das ein technischer Benutzer oder ein echter Benutzerkontext?
  • Welche Dokumente darf dieser Kontext sehen oder erstellen?
  • Wie passt das zum Berechtigungskonzept der Kanzlei?

Gerade bei DMS ist Benutzerkontext kein Detail. Es geht um Sichtbarkeit, Zugriff und Nachvollziehbarkeit.


Schritt 7: Daten per Merge Node zusammenführen

Der Workflow nutzt einen Merge Node:

{
  "mode": "combine",
  "combineBy": "combineByPosition",
  "numberInputs": 3
}

Drei Inputs laufen zusammen:

  1. aktueller DATEV-Benutzer
  2. Attachment Item
  3. hochgeladene Document File ID

Danach hat der Create a document Node alles, was er braucht:

  • Binärdaten-Metadaten aus dem Attachment
  • DATEV-Mandant aus Client lookup
  • DATEV-Benutzer aus Get DATEV user
  • Document File ID aus Upload a document file

Risiko bei combineByPosition

combineByPosition ist einfach, aber man muss verstehen, was passiert.

Der Merge kombiniert Items anhand ihrer Position in der Item-Liste. Das ist okay, wenn alle Inputs zuverlässig dieselbe Anzahl und Reihenfolge von Items liefern.

Bei mehreren Anhängen kann das heikel werden, wenn ein paralleler Zweig nur ein Item liefert, ein anderer aber mehrere. Im konkreten Workflow wird der DATEV-Benutzer aus dem Attachment-Zweig heraus pro Attachment abgefragt. Dadurch passt es eher zusammen.

Trotzdem sollte man produktiv testen:

  • eine E-Mail mit einem Anhang
  • eine E-Mail mit mehreren Anhängen
  • mehrere E-Mails nacheinander
  • Uploadfehler bei einem von mehreren Anhängen
  • leere oder defekte Anhänge

Für kritische Workflows ist manchmal eine explizite Item-ID oder ein sauberer Loop robuster als ein reines Merge by Position.


Schritt 8: Dokument in DATEV DMS erstellen

Der wichtigste Node ist Create a document.

Er nutzt wieder den Klardaten Document Management Node:

{
  "operation": "create"
}

Das Dokument wird mit folgendem JSON erstellt:

{
  "extension": "{{ $binary.data.fileExtension }}",
  "description": "{{ $binary.data.fileName }}",
  "class": {
    "name": "Dokument",
    "id": "1"
  },
  "correspondence_partner_guid": "{{ $('Client lookup').item.json.id }}",
  "user": {
    "id": "{{ $('Get DATEV user').item.json.id }}"
  },
  "domain": {
    "name": "Mandanten",
    "id": "1"
  },
  "folder": {
    "id": "2",
    "name": "<Keine Angabe>"
  },
  "year": 2026,
  "month": 4,
  "structure_items": [
    {
      "counter": 1,
      "type": 1,
      "document_file_id": "{{ $json.id }}",
      "name": "{{ $binary.data.fileName }}",
      "parent_counter": 0,
      "creation_date": "{{ new Date().toISOString() }}",
      "last_modification_date": "{{ new Date().toISOString() }}"
    }
  ]
}

Im Workflow sind year, month, creation_date und last_modification_date dynamisch:

{{ new Date().getFullYear() }}
{{ new Date().getMonth() + 1 }}
{{ new Date().toISOString() }}

Das Dokument erhält also standardmäßig den aktuellen Monat und das aktuelle Jahr zum Zeitpunkt der Verarbeitung.


Dateiinhalt und Dokumentmetadaten sind zwei verschiedene Dinge

Das ist bei DATEV DMS wichtig.

Der Workflow macht zwei fachlich getrennte Schritte:

1. Datei hochladen

PDF, DOCX, XLSX oder anderer Anhang

Dieser Schritt erzeugt eine document_file_id.

2. Dokumenteintrag erstellen

Der Dokumenteintrag enthält Metadaten:

  • Dateiendung
  • Beschreibung
  • Dokumentklasse
  • Mandantenbezug
  • Benutzer
  • Domain
  • Ordner
  • Jahr
  • Monat
  • Strukturinformationen
  • Verweis auf die hochgeladene Datei

Viele einfache Automatisierungsanleitungen unterschlagen diesen Unterschied. Für DATEV DMS ist er zentral.

Ein Dokument ist nicht nur eine Datei. Es ist eine Datei plus fachlicher Kontext.


Die wichtigsten Felder im DMS-Dokument

extension

"extension": "{{ $binary.data.fileExtension }}"

Die Dateiendung kommt aus dem n8n Binary Object.

Beispiele:

pdf
docx
xlsx
png

description

"description": "{{ $binary.data.fileName }}"

Der Workflow nutzt den Dateinamen als Beschreibung.

Das ist für ein Template okay. Produktiv kann eine bessere Beschreibung sinnvoll sein, zum Beispiel:

E-Mail-Anhang: Jahresabschluss 2025 - Mandant GmbH

oder:

Bescheid vom Finanzamt - Eingang per Outlook am 25.04.2026

class

"class": {
  "name": "Dokument",
  "id": "1"
}

Das ist die Dokumentklasse. Im Template ist sie fest gesetzt.

Produktiv sollte geprüft werden, welche Klassen im DATEV-DMS-Setup der Kanzlei sinnvoll sind.

correspondence_partner_guid

"correspondence_partner_guid": "{{ $('Client lookup').item.json.id }}"

Das ist der Mandanten- bzw. Korrespondenzpartnerbezug.

Im Demo-Workflow kommt dieser Wert aus dem Client lookup.

Hier darf produktiv kein zufälliger erster aktiver Mandant verwendet werden.

user

"user": {
  "id": "{{ $('Get DATEV user').item.json.id }}"
}

Der Workflow setzt den aktuellen DATEV-Benutzer.

Hier sollte klar sein, ob dieser Benutzer fachlich korrekt ist.

domain

"domain": {
  "name": "Mandanten",
  "id": "1"
}

Das Template legt Dokumente im Kontext Mandanten ab.

Das passt zum Beispiel-Use-Case. Für andere DMS-Strukturen muss das geprüft werden.

folder

"folder": {
  "id": "2",
  "name": "<Keine Angabe>"
}

Das Template nutzt einen generischen Ordner.

Für Produktion ist das meistens zu ungenau. Der Ordner sollte an die Kanzleiablage angepasst werden.

Beispiele:

  • Finanzbuchhaltung
  • Lohn
  • Jahresabschluss
  • Bescheide
  • Verträge
  • Mandantenkorrespondenz

Welche Werte korrekt sind, hängt vom DATEV-DMS-Setup der Kanzlei ab.

year und month

{{ new Date().getFullYear() }}
{{ new Date().getMonth() + 1 }}

Das Template verwendet das aktuelle Verarbeitungsdatum.

Das ist nicht immer fachlich korrekt.

Beispiel: Eine E-Mail kommt im April 2026, enthält aber einen Bescheid für 2024. Dann ist „aktueller Monat” möglicherweise falsch.

Bessere Varianten:

  • Zeitraum aus Betreff extrahieren
  • Datum aus E-Mail verwenden
  • Datum aus Dateiname extrahieren
  • manuelle Review Queue bei Unsicherheit
  • Standard auf aktuelles Jahr, aber mit nachträglicher Prüfung

structure_items

"structure_items": [
  {
    "counter": 1,
    "type": 1,
    "document_file_id": "{{ $json.id }}",
    "name": "{{ $binary.data.fileName }}",
    "parent_counter": 0,
    "creation_date": "{{ new Date().toISOString() }}",
    "last_modification_date": "{{ new Date().toISOString() }}"
  }
]

Hier wird die zuvor hochgeladene Datei mit dem Dokument verbunden.

Der entscheidende Wert ist:

"document_file_id": "{{ $json.id }}"

Ohne diesen Verweis hätte der Dokumenteintrag keinen Bezug zur hochgeladenen Datei.


Schritt 9: Slack-Benachrichtigung

Nach erfolgreicher Dokumenterstellung sendet der Workflow eine Slack-Nachricht:

Created a document {{ $json.description }} from client {{ Outlook sender }} in DATEV DMS.
Email subject was {{ Outlook subject }}

Für eine Demo ist das sinnvoll.

Produktiv sollte man prüfen, ob Slack für Kanzleidaten geeignet ist. Eine Slack-Nachricht mit Mandantenbezug, Betreff und Dokumentbeschreibung kann bereits vertrauliche Informationen enthalten.

Bessere Varianten:

Variante A: Slack nur technisch

Ein DMS-Dokument wurde archiviert. Workflow-ID: 12345.

Keine Mandantennamen, keine Betreffzeilen, keine Dateinamen.

Variante B: Teams statt Slack

Viele Kanzleien arbeiten mit Microsoft 365. Dann kann Microsoft Teams besser passen.

Variante C: Interne Review Queue

Statt Chat-Benachrichtigung wird ein Eintrag in einer internen Aufgabenliste erstellt.

Variante D: Slack nur im Testsystem

Für Entwicklung und Demo ist Slack hilfreich. In Produktion sollte der Kanal bewusst gewählt werden.


Schritt 10: Outlook-Mail markieren

Der letzte Node heißt Update a message.

Er aktualisiert die Outlook-Mail:

"updateFields": {
  "categories": [
    "REQUEST DMS ARCHIVE"
  ]
}

Das ist keine echte Archivierung im Sinne von „Mail in Archivordner verschieben”. Der Workflow setzt eine Kategorie.

Der Sticky Note Text sagt marked as archived. Technisch passiert hier aber:

Outlook-Kategorie setzen

Das ist ein wichtiger Unterschied.

Für produktive Nutzung gibt es mehrere Varianten:

Variante A: Kategorie setzen

Vorteil: Mail bleibt am Ort, ist aber markiert.

Beispiel:

DMS_ARCHIVED

Variante B: Mail in Ordner verschieben

Vorteil: Postfach bleibt sauber.

Beispiel:

Posteingang/Archiviert in DATEV

Variante C: Kategorie plus Ordner

Vorteil: Nachvollziehbar und aufgeräumt.

Variante D: Nur nach vollständigem Erfolg markieren

Wichtig: Die Mail sollte erst markiert oder verschoben werden, wenn alle Anhänge erfolgreich verarbeitet wurden.

Im Template läuft Outlook Update nach Slack. Der Slack Node hat:

"onError": "continueRegularOutput"

Das heißt: Wenn Slack fehlschlägt, läuft der Workflow trotzdem weiter. Das ist sinnvoll, weil ein Slack-Fehler nicht verhindern sollte, dass die Outlook-Mail nach erfolgreichem DMS-Upload markiert wird.

Bei DATEV-DMS-Fehlern sollte man aber nicht einfach weitermachen. Wenn der Upload oder die Dokumenterstellung fehlschlägt, darf die E-Mail nicht als verarbeitet gelten.


Was der Workflow gut macht

Der Workflow ist als Beispiel gut aufgebaut, weil er mehrere wichtige Muster zeigt.

1. Klare Trennung zwischen Trigger, Verarbeitung und Abschluss

Der Ablauf ist verständlich:

Trigger → Filter → Lookup → Split → Upload → Create → Notify → Mark

Das ist wartbar.

2. Mehrere Anhänge werden einzeln verarbeitet

Das ist wichtig. Viele E-Mail-Workflows scheitern daran, dass sie nur den ersten Anhang verarbeiten.

Der Code Node löst das sauber.

3. Datei-Upload und Dokumenterstellung sind getrennt

Das entspricht dem DMS-Modell besser als ein generischer „Upload PDF irgendwohin”-Ansatz.

4. DATEV-Benutzer wird explizit geholt

Das ist besser als hart codierte Benutzerwerte.

5. Demo-Teile sind klar erkennbar

Der Workflow markiert selbst, dass der Client lookup nur ein Demo-Setup ist.

Das ist ehrlich und wichtig.


Was vor produktiver Nutzung angepasst werden muss

Der Workflow ist ein gutes Template, aber kein fertiger Kanzlei-Standardprozess.

Diese Punkte müssen produktiv angepasst werden.


1. Mandantenmatching ersetzen

Aktuell:

"top": 1,
"filter": "status eq active"

Das ist nur Demo.

Produktiv muss hier eine echte Zuordnungslogik rein.

Empfehlung:

E-Mail analysieren
→ möglichen Mandanten finden
→ Eindeutigkeit prüfen
→ nur bei eindeutigem Treffer automatisch ablegen
→ sonst Review Queue

2. DMS-Metadaten an Kanzleistruktur anpassen

Diese Felder sollten nicht blind übernommen werden:

"class": { "id": "1" }
"domain": { "id": "1" }
"folder": { "id": "2" }
"year": current year
"month": current month

Produktiv muss geklärt werden:

  • Welche Dokumentklassen nutzt die Kanzlei?
  • Welche Ordnerstruktur ist korrekt?
  • Welcher Zeitraum soll gesetzt werden?
  • Welche Pflichtfelder gibt es?
  • Welche Beschreibung ist für spätere Suche sinnvoll?
  • Soll der Betreff der E-Mail übernommen werden?
  • Soll die Absenderadresse gespeichert werden?
  • Soll es einen Hinweis auf die ursprüngliche E-Mail geben?

3. Outlook Trigger und IF Node bereinigen

Die Absicht ist:

Nur E-Mails mit Anhängen verarbeiten.

Die konkrete Trigger-Konfiguration sollte vor dem produktiven Einsatz geprüft und bereinigt werden.

Entweder:

Trigger holt nur Mails mit Anhängen

oder:

Trigger holt alle Mails, IF filtert Anhänge

Nicht beides widersprüchlich konfigurieren.


4. Fehlerpfade ergänzen

Produktiv braucht der Workflow Fehlerbehandlung.

Mindestens:

  • Upload fehlgeschlagen
  • Dokumenterstellung fehlgeschlagen
  • Mandant nicht gefunden
  • mehrere Mandanten gefunden
  • Anhang ohne Dateinamen
  • nicht unterstützter Dateityp
  • DATEVconnect nicht erreichbar
  • OAuth Credential abgelaufen
  • Outlook Update fehlgeschlagen

Ein produktiver Workflow sollte dafür einen Fehlerkanal haben:

Fehler → keine Archivmarkierung → Benachrichtigung → manuelle Prüfung

5. Idempotenz einbauen

Idempotenz heißt: Wenn derselbe Workflow zweimal läuft, darf nicht zweimal dasselbe Dokument in DATEV DMS entstehen.

Das ist bei E-Mail-Workflows wichtig.

Mögliche Strategien:

  • Outlook Message ID speichern
  • Attachment ID speichern
  • Hash des Anhangs berechnen
  • Kombination aus Message ID + Attachment Name + Dateigröße speichern
  • verarbeitete E-Mails erst nach vollständigem Erfolg markieren
  • Kategorie DMS_ARCHIVED vor Verarbeitung prüfen

Ohne Idempotenz entstehen schnell Dubletten.


6. Datenschutz und Berufsgeheimnis ernst nehmen

Der Workflow verarbeitet Kanzleidaten. Das betrifft nicht nur DATEV, sondern auch Outlook, n8n, Slack und eventuell Hosting.

Praktische Fragen:

  • Wo läuft n8n?
  • Wer hat Zugriff auf n8n Executions?
  • Werden Binärdaten in n8n gespeichert?
  • Wie lange werden Execution Logs aufbewahrt?
  • Welche Inhalte stehen in Slack?
  • Welche Credentials liegen in n8n?
  • Wer darf den Workflow bearbeiten?
  • Gibt es getrennte Test- und Produktivsysteme?

Gerade bei DATEV DMS sollte man nicht nur auf „funktioniert technisch” schauen. Entscheidend ist, ob der Workflow zur Kanzleiorganisation und zum Berechtigungskonzept passt.


n8n Binary Mode: Warum die Einstellung relevant ist

Im Workflow steht:

"settings": {
  "binaryMode": "separate"
}

Das ist für Datei-Workflows relevant.

n8n kann Binärdaten unterschiedlich speichern. Bei Anhängen, PDFs und DMS-Uploads sollte man bewusst konfigurieren, wie Binary Data behandelt wird.

Für produktive Setups sind diese Fragen wichtig:

  • Wie groß können Anhänge werden?
  • Wo speichert n8n Binärdaten?
  • Wie lange bleiben Executions erhalten?
  • Werden Anhänge in Logs sichtbar?
  • Gibt es Limits für Dateigrößen?
  • Was passiert bei mehreren Anhängen pro Mail?
  • Was passiert bei sehr großen PDFs?

Ein E-Mail-Anhangsworkflow sieht klein aus, bis jemand eine Mail mit 40 MB und 12 Anhängen schickt.


DATEVconnect Gateway: Warum der Workflow nicht direkt „gegen DATEV” läuft

n8n kann HTTP APIs aufrufen. Trotzdem ist DATEV nicht einfach ein beliebiger Cloud-Dienst.

Bei DATEVconnect-basierten Workflows muss der Zugriff dort stattfinden, wo DATEVconnect verfügbar ist. Das ist typischerweise eine DATEV Desktop-Umgebung oder eine passende gehostete Umgebung.

Der Klardaten DATEVconnect Gateway übernimmt hier die Rolle der Zugriffsinfrastruktur.

Vereinfacht:

n8n spricht mit Klardaten.
Klardaten stellt den kontrollierten Zugriff auf DATEVconnect bereit.
DATEVconnect spricht mit der DATEV-Umgebung.

Das ist besonders relevant für:

  • DATEV DMS
  • DATEV Rechnungswesen
  • Stammdaten
  • weitere DATEVconnect-unterstützte Bereiche

Der Vorteil für n8n-Workflows: Du musst nicht selbst für jede Kanzlei einen eigenen DATEVconnect-Zugriff, lokalen Connector-Betrieb, Monitoring und Fehlerbehandlung bauen.


DATEV Online APIs vs. DATEVconnect

Ein häufiger Fehler ist die Annahme:

DATEV API = eine API für alles

So sollte man DATEV-Integration nicht planen.

Für manche Use Cases sind DATEV Online APIs relevant. Für andere Use Cases braucht man DATEVconnect bzw. Zugriff auf die DATEV Desktop-Umgebung.

Für diesen konkreten Workflow geht es um:

Outlook-Anhänge → DATEV DMS

Wenn das Ziel DATEV DMS in einer DATEV Desktop-/DATEVconnect-Umgebung ist, ist DATEVconnect der relevante Pfad.

Bei anderen Szenarien, etwa DATEV Unternehmen Online, kann der technische Weg anders aussehen. Deshalb sollte man vor dem Bau immer zuerst klären:

  1. In welchem DATEV-Produkt sollen die Daten landen?
  2. Liegt der Zielprozess in DATEV DMS, Rechnungswesen, Stammdaten oder DUO?
  3. Gibt es dafür passende DATEVconnect-Abdeckung?
  4. Gibt es eine passende Online API?
  5. Welche Rechte und Umgebungsvoraussetzungen gelten?

Typische Erweiterungen des Workflows

Der Beispiel-Workflow ist ein guter Startpunkt. In der Praxis kommen schnell Erweiterungen dazu.


1. Microsoft Teams statt Slack

Viele Kanzleien nutzen Microsoft Teams statt Slack.

Der Slack Node kann durch einen Teams Node oder Microsoft Graph Call ersetzt werden.

Wichtig: Auch hier keine sensiblen Inhalte unnötig in Chatnachrichten schreiben.


2. Review Queue für unklare Fälle

Wenn der Mandant nicht eindeutig gefunden wird:

nicht in DATEV DMS ablegen
→ Review-Aufgabe erzeugen
→ Mitarbeiter wählt Mandant und Dokumenttyp
→ danach DMS-Ablage

Das ist oft der beste Weg für den produktiven Einstieg.


3. Dokumenttyp automatisch erkennen

Man kann Dateiname, Betreff oder E-Mail-Inhalt analysieren.

Beispiele:

"Bescheid" im Betreff → Dokumenttyp Bescheid
"Jahresabschluss" im Dateinamen → Dokumenttyp Jahresabschluss
"Gehaltsabrechnung" → Lohnbereich

Für einfache Regeln reicht n8n.

Für komplexere Klassifikation kann ein separater Klassifikationsschritt sinnvoll sein. Aber auch dann sollte das Ergebnis nicht blind übernommen werden, wenn falsche Ablage kritisch wäre.


4. Anhänge vorfiltern

Nicht jeder Anhang gehört ins DMS.

Typische Ausschlüsse:

  • Logos aus E-Mail-Signaturen
  • kleine PNG/JPG-Dateien
  • .ics Kalenderdateien
  • Datenschutz-Hinweise als Standardanhang
  • leere oder kaputte Dateien
  • interne Signaturbilder

Ein produktiver Code Node könnte filtern nach:

  • Dateigröße
  • Dateiendung
  • MIME Type
  • Dateiname
  • Inline Attachment Flag, falls verfügbar

5. Original-E-Mail als PDF oder EML ablegen

Manchmal reicht der Anhang nicht. Der Kontext der E-Mail ist wichtig.

Dann kann man zusätzlich speichern:

  • Betreff
  • Absender
  • Empfangsdatum
  • Mail Body
  • Original-E-Mail als .eml
  • PDF-Ausdruck der Mail

Ob das fachlich sinnvoll ist, hängt vom Prozess ab.


6. Duplikaterkennung

Vor der DMS-Ablage kann ein Hash berechnet werden:

SHA256(file)

Dann kann geprüft werden:

Wurde diese Datei für diesen Mandanten bereits verarbeitet?

Das verhindert doppelte Ablage bei wiederholten E-Mails oder Workflow-Retries.


Beispiel: Produktiver Ablauf mit Review Queue

Ein robusterer Ablauf könnte so aussehen:

1. Outlook-Mail kommt rein
2. Anhänge werden geladen
3. Signaturbilder und irrelevante Dateien werden entfernt
4. Mandant wird über Mapping-Regeln gesucht
5. Wenn genau ein Mandant gefunden:
   5.1 Datei in DATEV DMS hochladen
   5.2 Dokument mit Metadaten erstellen
   5.3 Outlook-Mail als verarbeitet markieren
6. Wenn kein Mandant gefunden:
   6.1 Review-Aufgabe erzeugen
   6.2 Outlook-Mail als "DMS Review nötig" markieren
7. Wenn mehrere Mandanten gefunden:
   7.1 Review-Aufgabe erzeugen
   7.2 keine automatische Ablage
8. Bei DATEV-Fehler:
   8.1 keine Archivmarkierung
   8.2 Fehlerkanal informieren
   8.3 Retry oder manuelle Prüfung

Das ist weniger „magisch”, aber produktionsfähiger.


Typische Fehler in DATEV-n8n-Workflows

Fehler 1: Der Workflow verarbeitet nur einen Anhang

Viele einfache Workflows nehmen nur attachment_0.

Der hier gezeigte Workflow macht es besser und splittet alle Binary Attachments in einzelne Items.


Fehler 2: Falscher Mandant

Das ist der kritischste Fehler.

Ein falsch abgelegtes Dokument ist schlimmer als ein nicht abgelegtes Dokument.

Deshalb: Bei Unsicherheit Review Queue statt Automatik.


Fehler 3: DMS-Metadaten sind zu generisch

Wenn jedes Dokument mit:

Ordner: <Keine Angabe>
Beschreibung: scan.pdf
Jahr: aktuelles Jahr

abgelegt wird, ist der Workflow technisch erfolgreich, aber fachlich schlecht.


Fehler 4: Erfolg wird gemeldet, obwohl DATEV fehlgeschlagen ist

Slack oder Outlook Update darf erst nach erfolgreichem DATEV-Schritt kommen.

Optionales Notification-Fehlschlagen darf den Workflow nicht kaputt machen. Aber DATEV-DMS-Fehler müssen hart behandelt werden.


Fehler 5: Keine Duplikaterkennung

Outlook Trigger, Polling, Retries und manuelle Neustarts können zu Mehrfachverarbeitung führen.

Produktiv braucht es eine Strategie gegen Dubletten.


Fehler 6: n8n Execution Logs speichern zu viele Daten

Bei Workflows mit Dokumenten sollte man genau prüfen, was n8n speichert.

Besonders relevant:

  • Binary Data
  • Execution Data
  • Fehlerlogs
  • Input/Output jedes Nodes
  • Aufbewahrungsdauer
  • Zugriff auf n8n Admin-Oberfläche

Wann n8n für DATEV-Workflows gut passt

n8n passt gut, wenn der Prozess klar begrenzt ist.

Gute Beispiele:

  • Outlook-Anhänge in DATEV DMS ablegen
  • CRM-Daten in DATEV Stammdaten übertragen
  • einfache Freigabe- oder Review-Prozesse bauen
  • DMS-Dokumente nach externen Kriterien verarbeiten
  • Slack oder Teams über erfolgreiche Verarbeitung informieren
  • wiederkehrende Exporte oder Imports anstoßen
  • einfache Datenvalidierungen vor DATEV-Übergabe durchführen

n8n ist besonders stark, wenn viele Systeme beteiligt sind:

Outlook + DATEV + Slack + interne Datenbank

oder:

CRM + DATEV Stammdaten + HubSpot + Teams

Wann n8n allein nicht reicht

n8n löst nicht automatisch alle DATEV-Probleme.

Du brauchst trotzdem:

  • DATEVconnect-Zugriff
  • passende Rechte
  • funktionierende DATEV-Umgebung
  • stabile Credentials
  • Kanzlei-IT-Koordination
  • Monitoring
  • Fehlerbehandlung
  • saubere Mandantenlogik
  • klare Daten- und Berechtigungskonzepte

n8n orchestriert den Workflow. Es ersetzt nicht die DATEV-Integration.


Build vs. Gateway: Selbst bauen oder Klardaten nutzen?

Ein einzelner Prototyp ist oft schnell gebaut.

Der schwierige Teil beginnt danach:

  • mehrere Kanzleien
  • unterschiedliche DATEV-Umgebungen
  • verschiedene IT-Partner
  • lokale Installationen
  • DATEVasp oder PARTNERasp
  • Windows Services
  • Rechteprobleme
  • Updates
  • Monitoring
  • Supportfälle
  • Fehleranalyse mit echten Kundendaten
  • Rollout und Betrieb

Wenn Du nur einen internen Test baust, kannst Du viel selbst machen.

Wenn Du eine produktive DATEV-Schnittstelle für mehrere Kanzleien, Mandanten oder Kunden betreiben willst, ist der Connector-Betrieb meistens der größere Aufwand als der n8n-Workflow selbst.

Der Klardaten DATEVconnect Gateway ist für genau diese Schicht gedacht: Zugriff auf DATEVconnect-basierte Daten und Workflows, ohne dass Du die komplette Connector-Infrastruktur selbst bauen und betreiben musst.

Für den hier gezeigten Workflow ist das der naheliegende Produktfit:

n8n Workflow
→ Klardaten DATEVconnect Gateway
→ DATEV DMS

Mehr dazu: DATEVconnect Gateway


Setup-Checkliste für den Workflow

Für einen funktionierenden Test brauchst Du:

  • n8n Instanz
  • Microsoft Outlook OAuth2 Credentials
  • Klardaten DATEVconnect Credentials
  • installierten und erreichbaren Klardaten Connector
  • Zugriff auf DATEV DMS
  • Klardaten n8n Nodes
  • Testmandant in DATEV
  • Testpostfach oder Testordner in Outlook
  • definierte DMS-Zielfelder
  • optional Slack OAuth2 Credentials
  • Testdateien mit realistischen Dateitypen

Für einen produktiven Betrieb brauchst Du zusätzlich:

  • echtes Mandantenmatching
  • Fehlerkanal
  • Retry-Strategie
  • Duplikaterkennung
  • Logging-Konzept
  • Berechtigungskonzept
  • Review-Prozess für unklare Fälle
  • Monitoring
  • klare Zuständigkeit zwischen Kanzlei, IT-Partner und Softwareanbieter

Technische Verbesserungen am Beispiel-Workflow

Wenn man den Workflow produktiver machen will, wären diese Anpassungen sinnvoll.

1. Trigger sauber konfigurieren

Entweder nur Mails mit Anhängen triggern oder alle Mails triggern und über IF filtern.

Keine widersprüchliche Konfiguration.


2. Node-Namen sauber halten

n8n Expressions referenzieren Node-Namen direkt:

$("New Outlook email trigger").all()

Wenn ein Node-Name geändert wird, müssen alle Expressions angepasst werden. Deshalb: aussagekräftige Namen früh festlegen und nicht mitten im laufenden Workflow ändern.

Für produktive Workflows sind beschreibende Namen hilfreich:

Outlook - Neue E-Mail mit Anhang prüfen
DATEV - Mandant suchen
DATEV DMS - Datei hochladen
DATEV DMS - Dokument erstellen

Das erleichtert Debugging, Wartung und Onboarding.


3. Mandantenlookup ersetzen

Statt:

"filter": "status eq active",
"top": 1

besser:

Mapping-Regel → DATEV Client ID

oder:

Absender / Betreff / Ordner / externe Tabelle → eindeutiger Mandant

4. DMS-Felder konfigurierbar machen

Ordner, Klasse, Domain, Jahr und Monat sollten nicht hart im Node stehen, wenn der Workflow für mehrere Prozesse verwendet wird.

Besser:

Konfigurationsnode
Mapping-Tabelle
Umgebungsvariable
separater Lookup

5. Fehlerzweig ergänzen

n8n bietet Error Workflows und Node-spezifische Fehlerbehandlung.

Für DATEV-DMS-Schritte sollte man keine Fehler stillschweigend ignorieren.


6. Slack-Inhalt reduzieren

Keine unnötigen Mandantendaten in Slack schreiben.

Besser:

DMS-Ablage erfolgreich. Execution ID: ...

oder ein Link auf ein internes System mit Berechtigungsschutz.


7. Outlook-Kategorie umbenennen

Aktuell:

REQUEST DMS ARCHIVE

Das klingt eher wie eine Anforderung, nicht wie ein erledigter Status.

Besser:

DMS_ARCHIVED

oder:

DMS_REVIEW_REQUIRED

je nach Ergebnis.


FAQ

Kann man DATEV direkt mit n8n verbinden?

Ja, aber “direkt” muss sauber verstanden werden. n8n kann Workflows orchestrieren und APIs aufrufen. Für DATEVconnect-basierte Use Cases brauchst Du aber Zugriff auf eine DATEV-Umgebung, in der DATEVconnect verfügbar ist. Der Klardaten DATEVconnect Gateway stellt dafür die Zugriffsschicht bereit.


Kann n8n Outlook-Anhänge automatisch in DATEV DMS speichern?

Ja. Der gezeigte Workflow lädt Outlook-Anhänge herunter, verarbeitet jeden Anhang einzeln, lädt die Datei in DATEV DMS hoch und erstellt danach den passenden Dokumenteintrag mit Metadaten.


Was ist der Unterschied zwischen Datei-Upload und Dokumenterstellung in DATEV DMS?

Der Datei-Upload speichert die eigentliche Binärdatei. Die Dokumenterstellung legt den fachlichen DMS-Eintrag an, inklusive Mandantenbezug, Beschreibung, Klasse, Ordner, Zeitraum und Verweis auf die Datei.


Kann der Workflow mehrere Anhänge verarbeiten?

Ja. Der Code Node Split attachments wandelt alle Binary Attachments einer E-Mail in einzelne n8n Items um. Dadurch kann jeder Anhang separat in DATEV DMS verarbeitet werden.


Wie wird der richtige DATEV-Mandant gefunden?

Im Beispiel noch nicht produktiv. Der Demo-Workflow nimmt den ersten aktiven Mandanten. Für Produktion brauchst Du eine eigene Matching-Logik, zum Beispiel über Absenderadresse, Domain, Betreff, Outlook-Ordner oder eine Mapping-Tabelle.


Was passiert, wenn kein Mandant gefunden wird?

Das sollte produktiv nicht automatisch durchlaufen. Besser ist eine Review Queue: Der Workflow markiert die Mail als prüfpflichtig und ein Mitarbeiter ordnet den Mandanten manuell zu.


Kann man Slack durch Microsoft Teams ersetzen?

Ja. Slack ist im Workflow nur ein optionaler Benachrichtigungskanal. In vielen Kanzleien ist Microsoft Teams naheliegender.


Sollte man Mandantennamen und Betreffzeilen in Slack posten?

Nur wenn das bewusst geprüft wurde. Oft ist es besser, Chatnachrichten technisch zu halten und keine vertraulichen Inhalte in Slack oder Teams zu schreiben.


Kann ich Gmail statt Outlook verwenden?

Ja, das Prinzip bleibt gleich: E-Mail Trigger, Anhänge herunterladen, Anhänge splitten, DATEV-DMS-Upload, Dokument erstellen, E-Mail markieren. Der Trigger und die Mail-Update-Nodes ändern sich.


Brauche ich DATEVconnect für diesen Workflow?

Für DATEV-DMS-Workflows in einer DATEV Desktop-/DATEVconnect-Umgebung ist DATEVconnect der relevante technische Pfad. Ob DATEVconnect für Deinen konkreten Fall ausreicht, hängt vom Zielmodul, den benötigten Daten und der Umgebung ab.


Sind DATEV Online APIs dasselbe wie DATEVconnect?

Nein. DATEV Online APIs und DATEVconnect lösen unterschiedliche Probleme. Welche Schnittstelle passt, hängt davon ab, wo die Daten liegen und welcher Prozess automatisiert werden soll.


Kann ich mit n8n alle DATEV-Daten nutzen?

Nein. Das sollte man nicht behaupten. Der Zugriff hängt von DATEV-Produkt, API-Abdeckung, Berechtigungen, Benutzerkontext und technischer Umgebung ab.


Ist der Workflow produktionsbereit?

Als Template: ja, zum Verstehen und Testen. Für Produktion müssen mindestens Mandantenmatching, Fehlerbehandlung, DMS-Metadaten, Idempotenz, Berechtigungen und Logging angepasst werden.


Wann brauche ich statt DATEVconnect Gateway die Enterprise API?

Wenn DATEVconnect die benötigten Daten oder Prozesse nicht abdeckt. Typische Fälle sind tiefere Reporting-, Power-BI-, Controlling- oder Sonderautomatisierungen rund um DATEV Desktop-Daten. Dann sollte geprüft werden, ob die Klardaten Enterprise API besser passt.

Mehr dazu: Enterprise API


Fazit

DATEV mit n8n zu verbinden ist sinnvoll, wenn der Workflow klar abgegrenzt ist.

Der gezeigte Outlook-zu-DATEV-DMS-Workflow ist ein gutes Beispiel:

E-Mail kommt rein
→ Anhänge werden geprüft
→ Mandant wird gesucht
→ Datei wird hochgeladen
→ Dokument wird in DATEV DMS erstellt
→ Benachrichtigung und Outlook-Markierung folgen

Die n8n-Logik ist dabei nicht der schwierige Teil. Die eigentlichen Fragen sind:

  • Wie findet der Workflow den richtigen Mandanten?
  • Welche DMS-Metadaten sind korrekt?
  • Unter welchem Benutzerkontext läuft der DATEV-Zugriff?
  • Wie werden Fehler behandelt?
  • Wie verhindert man Dubletten?
  • Wie passt der Workflow zur Kanzlei-IT und zum Berechtigungskonzept?

Für einfache Tests reicht ein Template. Für produktive DATEV-Automatisierung brauchst Du eine stabile DATEVconnect-Zugriffsschicht und saubere Betriebslogik.

Wenn Du n8n mit DATEV DMS, Stammdaten oder Rechnungswesen verbinden willst, ist der Klardaten DATEVconnect Gateway der passende Einstieg.

Für komplexere Workflows, AI-gestützte Suche oder Kanzlei-Prozesse mit Review-Schritten kann Klarvos zusätzlich relevant sein.