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

2026-02-27

Technischer Praxisartikel: So funktioniert ein n8n-Workflow, der Outlook-Anhänge verarbeitet, einem DATEV-Mandanten zuordnet, in DATEV DMS ablegt und Slack benachrichtigt.

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 → relevante Anhänge werden gefiltert → ein DATEV-Mandant wird eindeutig gesucht → Datei wird in DATEV DMS hochgeladen → Dokument wird mit Metadaten erstellt → Outlook wird als archiviert markiert und verschoben → Slack bekommt eine technische Erfolgsmeldung.

Das Beispiel basiert auf einem n8n-Workflow mit Klardaten DATEVconnect Nodes: Archive Outlook email attachments to DATEV DMS with Slack notifications


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 Anhänge wirklich archiviert werden sollen, welche Metadaten gesetzt werden und mit welchem DATEV-Benutzerkontext der Zugriff erfolgt.


Architektur des Workflows

Der Beispiel-Workflow besteht aus diesen Systemen:

source
Microsoft Outlook

n8n

Klardaten DATEVconnect Nodes

Klardaten DATEVconnect Gateway

DATEV DMS

Outlook / Slack

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.
  • Outlook wird am Ende aktualisiert, damit die Mail nicht erneut bearbeitet wird.
  • Slack meldet optional den technischen Erfolg.

Der Workflow im Überblick

Der Workflow heißt:

source
Archive Outlook email attachments to DATEV DMS with Slack notifications

Das Template ist direkt auf n8n.io verfügbar: Archive Outlook email attachments to DATEV DMS with Slack notifications

Das JSON enthält 23 Nodes: sechs Sticky Notes zur Dokumentation und 17 ausführende Nodes.

Fachlich passiert Folgendes:

  1. Outlook triggert nur bei E-Mails mit Anhängen, die noch nicht als archiviert oder prüfpflichtig markiert sind.
  2. Ein Konfigurationsnode setzt Kategorien und DATEV-DMS-Standardwerte.
  3. Ein Demo-Code-Node leitet aus dem Betreff einen möglichen Mandantenhinweis ab.
  4. DATEV-Stammdaten werden mit diesem Filter durchsucht.
  5. Nur genau ein Treffer darf automatisch weiterlaufen.
  6. Kein Treffer oder mehrere Treffer führen zur Outlook-Kategorie DMS_REVIEW_REQUIRED.
  7. Anhänge werden in einzelne Items aufgeteilt und vorgefiltert.
  8. Nur archivfähige Dateien werden nach DATEV DMS hochgeladen.
  9. Der aktuelle DATEV-Benutzer wird geholt.
  10. Datei, Mandant, Benutzer und DMS-Konfiguration werden zusammengeführt.
  11. Für jede Datei wird ein DMS-Dokumenteintrag erstellt.
  12. Erst nach erfolgreicher DATEV-Verarbeitung wird die Outlook-Mail als DMS_ARCHIVED markiert und in den Archivordner verschoben.
  13. Slack erhält eine minimale Erfolgsmeldung mit Dokumentanzahl und n8n Execution ID.

Die wichtigsten ausführenden Nodes:

Node Typ Aufgabe
Outlook - New email with attachments Microsoft Outlook Trigger Lädt neue Outlook-Mails mit Anhängen und schließt bereits bearbeitete Kategorien aus
Template - Configure variables Set Node Bündelt Kategorien, DMS-Metadaten und Demo-Matching-Defaults
Demo - Configure processing Code Node Erzeugt E-Mail-Kontext, DMS-Konfiguration und einen Demo-Mandantenfilter
DATEV - Look up demo client Klardaten DATEVconnect Master Data Sucht DATEV-Mandanten anhand des Demo-Filters
Demo - Evaluate client match Code Node Bewertet, ob kein, ein oder mehrere Mandanten gefunden wurden
Demo - Exactly one client? IF Node Lässt nur eindeutige Treffer automatisch weiterlaufen
Attachments - Split and filter documents Code Node Wandelt Anhänge in einzelne Items um und filtert nicht relevante Dateien
Attachments - Has archiveable document? IF Node Trennt archivfähige Anhänge von Review-Fällen
DATEV DMS - Upload file Klardaten DATEVconnect Document Management Lädt die Binärdatei als Document File hoch
DATEV - Get current user Klardaten DATEVconnect IAM Holt den aktuellen DATEV-Benutzer
DATEV DMS - Combine upload context Merge Node Führt Benutzer, Upload und Attachment-Kontext zusammen
DATEV DMS - Create document Klardaten DATEVconnect Document Management Erstellt den DMS-Dokumenteintrag
Archive - Summarize successful DMS archive Code Node Fasst die erfolgreiche Archivierung für Outlook und Slack zusammen
Outlook - Mark archived Microsoft Outlook Node Setzt DMS_ARCHIVED und markiert die Mail als gelesen
Outlook - Move to archive folder Microsoft Outlook Node Verschiebt die Mail in den Archivordner
Slack - Notify archive success Slack Node Sendet eine datensparsame Erfolgsmeldung
Outlook - Mark review required Microsoft Outlook Node Markiert unklare Fälle mit DMS_REVIEW_REQUIRED

Schritt 1: Outlook Trigger

Der Workflow startet mit einem Microsoft Outlook Trigger:

json
{
  "type": "n8n-nodes-base.microsoftOutlookTrigger",
  "pollTimes": {
    "item": [
      {
        "mode": "everyMinute"
      }
    ]
  },
  "filters": {
    "custom": "contains(subject,'GmbH') and not(categories/any(c:c eq 'DMS_ARCHIVED')) and not(categories/any(c:c eq 'DMS_REVIEW_REQUIRED'))",
    "hasAttachments": true
  },
  "options": {
    "attachmentsPrefix": "attachment_",
    "downloadAttachments": true
  }
}

Wichtig sind drei Punkte.

Erstens:

json
"hasAttachments": true

Der Trigger holt nur E-Mails mit Anhängen. Das ist sauberer als alle Mails zu laden und später erst zu verwerfen.

Zweitens:

json
"downloadAttachments": true

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

Drittens:

json
"not(categories/any(c:c eq 'DMS_ARCHIVED'))"
"not(categories/any(c:c eq 'DMS_REVIEW_REQUIRED'))"

Bereits archivierte oder manuell zu prüfende Mails werden nicht erneut verarbeitet. Das ist ein erster Schutz gegen doppelte Verarbeitung.

Der Ausdruck:

source
contains(subject,'GmbH')

ist Demo-Logik. Für echte Kanzlei-Workflows sollte dieser Teil durch eine fachlich passende Auswahl ersetzt werden: dedizierter Outlook-Ordner, Shared Mailbox, Kategorie, Absenderregel, Betreffkonvention oder ein anderer Eingangskanal.


Schritt 2: Konfiguration zentral setzen

Der Node Template - Configure variables bündelt zentrale Workflow-Werte, damit Kategorien und DMS-Basisdaten an einer Stelle gepflegt werden.

Die wichtigsten Werte sind:

source
templateConfig.clientSubjectHintLegalForms = gmbh,ug,ag,kg,ohg,gbr,e.k.
templateConfig.clientFilterFallback = status eq active
templateConfig.reviewCategory = DMS_REVIEW_REQUIRED
templateConfig.archivedCategory = DMS_ARCHIVED
templateConfig.dms.classId = 1
templateConfig.dms.className = Dokument
templateConfig.dms.domainId = 1
templateConfig.dms.domainName = Mandanten
templateConfig.dms.folderId = 2
templateConfig.dms.folderName = <Keine Angabe>

Produktiv sollten hier mindestens diese Fragen beantwortet werden:

  • Welche Outlook-Kategorie bedeutet "archiviert"?
  • Welche Outlook-Kategorie bedeutet "manuelle Prüfung"?
  • Welche DMS-Klasse wird für die Dokumente verwendet?
  • Welche Domain und welcher Ordner sind korrekt?
  • Soll der Zeitraum aus Eingangsdatum, Belegdatum, Betreff, Anhang oder einem anderen Signal kommen?

Schritt 3: Demo-Mandantenfilter erzeugen

Der Node Demo - Configure processing bereitet den Kontext für die Verarbeitung vor.

Er nimmt die Outlook-Mail, liest die Template-Konfiguration und versucht, aus dem Betreff einen Firmennamen zu erkennen. Dafür nutzt der Workflow die konfigurierten Rechtsformen wie GmbH, UG, AG, KG, OHG, GbR oder e.K..

Der zentrale Teil ist:

javascript
const datevClientFilter = companyNameFromSubject
  ? `status eq active and name eq '${escapeODataString(companyNameFromSubject)}'`
  : fallbackClientFilter;

Findet der Demo-Code im Betreff einen plausiblen Firmennamen, wird ein DATEV-Stammdatenfilter auf diesen Namen gebaut. Wird kein Hinweis gefunden, fällt der Workflow auf den Fallback zurück:

source
status eq active

Wichtig: Das ist bewusst nur Demo-Matching.

Für produktive Workflows ist dieser Node der Bereich, der fast immer ersetzt werden muss. Der richtige Mandant darf nicht nur zufällig oder grob geraten werden. Ein DMS-Dokument beim falschen Mandanten ist kein kleiner technischer Fehler, sondern ein fachlicher Schaden.


Produktives Mandantenmatching

Ein produktiver Workflow sollte den Mandanten aus verlässlichen Signalen ableiten. Dafür gibt es mehrere Strategien.

1. Matching über Absenderadresse

Beispiel:

source
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:

source
*@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:

source
[12345] Jahresabschluss 2026

oder:

source
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:

source
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:

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

Genau diesen Grundgedanken bildet das Template bereits ab: Nur ein eindeutiger Treffer läuft automatisch weiter. Alles andere bekommt eine Review-Kategorie in Outlook.


Schritt 4: DATEV-Mandant suchen und Treffer bewerten

Der Node DATEV - Look up demo client nutzt den Klardaten DATEVconnect Master Data Node:

json
{
  "top": 100,
  "filter": "={{ $json.demoConfig.datevClientFilter }}"
}

Die Erhöhung auf top: 100 ist wichtig. Der Workflow will nicht einfach den ersten Treffer nehmen. Er will wissen, ob der Treffer eindeutig ist.

Danach bewertet Demo - Evaluate client match die Ergebnisliste:

javascript
const status = uniqueClients.length === 1
  ? 'exact'
  : uniqueClients.length === 0
    ? 'not_found'
    : 'multiple';

Der Workflow unterscheidet also drei Zustände:

Status Bedeutung Folge
exact genau ein DATEV-Mandant gefunden automatische Archivierung
not_found kein DATEV-Mandant gefunden Outlook wird auf Review gesetzt
multiple mehrere DATEV-Mandanten gefunden Outlook wird auf Review gesetzt

Der IF Node Demo - Exactly one client? lässt nur exact in den DMS-Zweig.

Das ist die zentrale fachliche Regel: Der Workflow priorisiert richtige Zuordnung über blinde Automatisierung.


Schritt 5: Anhänge aufteilen und filtern

Der Node Attachments - Split and filter documents nimmt die Binary Attachments der Outlook-Mail und erzeugt daraus einzelne n8n Items.

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

source
attachment_0
attachment_1
attachment_2

Der Workflow legt jeden archivfähigen Anhang auf den Binary-Key data, weil der spätere DATEV Upload Node diesen Key erwartet:

javascript
binary: {
  data: attachment.binary,
}

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

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

Der Node filtert außerdem typische Nicht-Dokumente heraus:

  • Kalenderdateien wie .ics
  • Kontaktdateien wie .vcf
  • Inline-Anhänge
  • kleine Signaturbilder
  • typische Logo-, Banner- oder Social-Media-Bilder

Wenn nach der Filterung kein archivfähiger Anhang übrig bleibt, erzeugt der Node kein DMS-Upload-Item, sondern einen Review-Fall:

source
No archiveable document attachments were found after filtering.

Das ist fachlich sinnvoll: Eine E-Mail kann technisch Anhänge haben, aber fachlich trotzdem kein DMS-Dokument enthalten.


Schritt 6: DMS-Zeitraum bestimmen

Der Attachment-Node setzt außerdem einen DMS-Zeitraum:

javascript
const receivedAt = evaluated.email?.receivedAt ?? new Date().toISOString();
const receivedDate = new Date(receivedAt);
const periodDate = Number.isNaN(receivedDate.getTime()) ? new Date() : receivedDate;

Im Output steht dann:

json
{
  "dmsPeriod": {
    "year": 2026,
    "month": 2,
    "source": "email_received_date",
    "receivedAt": "...",
    "processedAt": "..."
  }
}

Das Template nutzt also das Eingangsdatum der E-Mail als Standard für Jahr und Monat. Wenn das Datum nicht lesbar ist, fällt es auf das Verarbeitungsdatum zurück.

Produktiv sollte man prüfen, ob das fachlich stimmt. Für manche Dokumente ist das Eingangsdatum sinnvoll. Für andere ist das Belegdatum, Leistungsdatum, Lohnmonat oder Wirtschaftsjahr relevanter.


Schritt 7: Document File in DATEV DMS hochladen

Der Node DATEV DMS - Upload file nutzt den Klardaten DATEVconnect Document Management Node:

json
{
  "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.


Schritt 8: Aktuellen DATEV-Benutzer holen

Parallel dazu läuft der Node DATEV - Get current user:

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

Der Workflow verwendet den Benutzer später im Dokument:

javascript
user: {
  id: $('DATEV - Get current 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 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 9: Daten per Merge Node zusammenführen

Der Workflow nutzt DATEV DMS - Combine upload context:

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

Drei Inputs laufen zusammen:

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

Danach hat der DMS-Create-Node alles, was er braucht:

  • Binärdaten-Metadaten aus dem Attachment
  • DATEV-Mandant aus der Match-Bewertung
  • DATEV-Benutzer aus IAM
  • DMS-Standardwerte aus der Template-Konfiguration
  • Document File ID aus dem Upload

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 sollte man das 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 10: Dokument in DATEV DMS erstellen

Der wichtigste DMS-Node ist DATEV DMS - Create document.

Er nutzt wieder den Klardaten Document Management Node:

json
{
  "operation": "create"
}

Das Dokument wird sinngemäß mit diesem Payload erstellt:

javascript
{
  extension: $json.attachment.extension || '',
  description: `Email attachment: ${$json.attachment.fileName || 'Unnamed file'}`,
  class: {
    name: $json.demoConfig.dms.className,
    id: $json.demoConfig.dms.classId,
  },
  correspondence_partner_guid: $json.client.id,
  user: {
    id: $('DATEV - Get current user').item.json.id,
  },
  domain: {
    name: $json.demoConfig.dms.domainName,
    id: $json.demoConfig.dms.domainId,
  },
  folder: {
    id: $json.demoConfig.dms.folderId,
    name: $json.demoConfig.dms.folderName,
  },
  year: $json.dmsPeriod.year,
  month: $json.dmsPeriod.month,
  structure_items: [
    {
      counter: 1,
      type: 1,
      document_file_id: $('DATEV DMS - Upload file').item.json.id,
      name: $json.attachment.fileName || 'Unnamed file',
      parent_counter: 0,
      creation_date: $json.dmsPeriod.processedAt,
      last_modification_date: $json.dmsPeriod.processedAt,
    },
  ],
}

Die wichtigsten Punkte:

  • correspondence_partner_guid kommt aus dem eindeutig gefundenen DATEV-Mandanten.
  • user.id kommt aus dem aktuellen DATEV-Benutzer.
  • class, domain und folder kommen aus dem Konfigurationsnode.
  • year und month kommen standardmäßig aus dem E-Mail-Eingangsdatum.
  • document_file_id verweist auf die vorher hochgeladene Datei.

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


Dateiinhalt und Dokumentmetadaten sind zwei verschiedene Dinge

Das ist bei DATEV DMS wichtig.

Der Workflow macht zwei fachlich getrennte Schritte:

1. Datei hochladen

source
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

Erst der Dokumenteintrag macht aus der Datei ein fachlich einsortiertes DMS-Dokument.


Schritt 11: Erfolgreiche Archivierung zusammenfassen

Der Node Archive - Summarize successful DMS archive sammelt die erfolgreich erstellten Dokumente und erzeugt einen kompakten Abschlusskontext:

javascript
archive: {
  category: first.demoConfig?.archivedCategory ?? 'DMS_ARCHIVED',
  documentsCreated: createdDocuments.length,
  attachmentsProcessed: attachments.length,
  completedAt: new Date().toISOString(),
}

Dieser Node ist hilfreich, weil Outlook und Slack danach nicht mehr pro Attachment arbeiten müssen. Sie bekommen eine zusammengefasste Sicht auf die E-Mail.


Schritt 12: Outlook-Mail markieren und verschieben

Nach erfolgreicher DATEV-Verarbeitung aktualisiert der Workflow Outlook in zwei Schritten.

Zuerst setzt Outlook - Mark archived die Kategorie und markiert die Mail als gelesen:

json
{
  "operation": "update",
  "updateFields": {
    "categories": ["DMS_ARCHIVED"],
    "isRead": true
  }
}

Danach verschiebt Outlook - Move to archive folder die Mail:

json
{
  "operation": "move",
  "folderId": "archive"
}

Die Mail wird damit erst nach erfolgreicher DATEV-Verarbeitung als erledigt behandelt.

Produktiv sollte man festlegen:

  • ob die Mail im Posteingang bleiben oder verschoben werden soll
  • welcher Archivordner verwendet wird
  • ob eine Kategorie, ein Ordner oder beides gewünscht ist
  • was bei teilweise erfolgreichen Mehrfachanhängen passiert
  • ob die Original-Mail zusätzlich als .eml oder PDF in DMS abgelegt werden soll

Schritt 13: Slack-Benachrichtigung

Der Slack Node sendet eine bewusst minimale Nachricht:

source
DMS archiving successful. Documents created: {{ documentsCreated }}. Execution ID: {{ $execution.id }}.

Für Kanzleiumgebungen ist diese knappe Nachricht geeignet, weil sie Mandantennamen, Betreffzeilen und Dateinamen nicht in den Chat schreibt.

Für eine produktive Slack- oder Teams-Benachrichtigung gilt:

  • keine Mandantennamen, wenn sie nicht zwingend nötig sind
  • keine Betreffzeilen, wenn sie vertrauliche Inhalte enthalten können
  • keine Dateinamen, wenn sie Rückschlüsse auf Mandanten oder Sachverhalte zulassen
  • lieber eine Execution ID oder einen Link auf ein internes System mit Berechtigungsschutz

Slack sollte außerdem nicht das führende System für Fehler und Review sein. Für produktive Fälle braucht man einen Review-Prozess, ein internes Ticket oder eine kontrollierte Aufgabenliste.


Review-Fälle im Workflow

Der Node Outlook - Mark review required wird in zwei Fällen erreicht:

  1. Der Mandant konnte nicht genau eindeutig gefunden werden.
  2. Die E-Mail hatte zwar Anhänge, aber nach der Filterung blieb kein archivfähiges Dokument übrig.

Der Node setzt:

json
{
  "categories": ["DMS_REVIEW_REQUIRED"]
}

Das ist pragmatisch: Die E-Mail verschwindet nicht, wird nicht fälschlich als archiviert markiert und kann manuell geprüft werden.

Für eine produktive Review Queue reicht eine Outlook-Kategorie aber oft nicht aus. Besser ist meist:

source
Review-Kategorie setzen
→ optional in Review-Ordner verschieben
→ internen Task erzeugen
→ Grund speichern
→ nach manueller Entscheidung erneut verarbeiten

Was der Workflow gut macht

Der Workflow zeigt mehrere Muster, die für produktive Abläufe wichtig sind.

1. Der Trigger vermeidet Wiederholungen

Er verarbeitet nur E-Mails mit Anhängen und schließt Mails mit DMS_ARCHIVED oder DMS_REVIEW_REQUIRED aus.

2. Konfiguration ist sichtbar

Kategorien und zentrale DMS-Werte liegen in Template - Configure variables.

3. Mandantenmatching ist nicht blind

Der Workflow nimmt nicht einfach den ersten aktiven Mandanten, sondern bewertet, ob genau ein Treffer gefunden wurde.

4. Review-Fälle sind vorgesehen

Kein Treffer, mehrere Treffer und leere Attachment-Ergebnisse laufen nicht in die automatische Archivierung.

5. Anhänge werden einzeln verarbeitet

Mehrere E-Mail-Anhänge werden zu separaten Items. Dadurch kann jede Datei einzeln in DATEV DMS hochgeladen und als Dokument angelegt werden.

6. Datei-Upload und Dokumenterstellung sind getrennt

Das entspricht dem DMS-Modell: Erst wird die Datei gespeichert, dann wird der fachliche Dokumenteintrag erstellt.

7. Outlook wird erst nach DATEV-Erfolg abgeschlossen

Die Mail bekommt den Archivstatus erst nach erfolgreicher DMS-Verarbeitung.

8. Slack bleibt bewusst knapp

Die Benachrichtigung enthält nur Dokumentanzahl und Execution ID. Das reduziert unnötige vertrauliche Inhalte in Chat-Systemen.


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

Die Demo-Logik im Betreff ist ein Startpunkt, aber kein belastbares Kanzleikonzept.

Produktiv muss hier eine echte Zuordnungslogik rein:

source
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:

source
class
domain
folder
year
month
description
structure_items

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. Duplikaterkennung einbauen

Der Trigger schließt bereits markierte Mails aus. Das ist gut, aber keine vollständige Idempotenz.

Mögliche Strategien:

  • Outlook Message ID speichern
  • Attachment ID speichern
  • Hash des Dateiinhalts speichern
  • Kombination aus Mandant, Dateiname, Größe und Eingangsdatum prüfen
  • vor dem Upload in DATEV DMS oder einer eigenen Tabelle nach Dubletten suchen

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
  • Slack oder Teams nicht erreichbar

Ein produktiver Workflow sollte dafür einen Fehlerkanal haben:

source
Fehler → keine Archivmarkierung → Benachrichtigung → manuelle Prüfung

5. Review Queue konkret ausbauen

Eine Outlook-Kategorie ist ein guter Anfang. Für echte Abläufe braucht man oft mehr:

  • zuständige Person oder Team
  • Grund der Review
  • Link zur ursprünglichen E-Mail
  • Vorschlag für Mandant und Dokumenttyp
  • Entscheidungshistorie
  • erneuter Start nach Korrektur

6. Datenschutz und Berufsgeheimnis ernst nehmen

DATEV-DMS-Workflows verarbeiten regelmäßig vertrauliche Daten.

Deshalb prüfen:

  • Welche Daten stehen in n8n Execution Logs?
  • Werden Binärdaten dauerhaft gespeichert?
  • Wer hat Zugriff auf n8n?
  • Welche Daten gehen an Slack oder Teams?
  • Welche Daten stehen in Fehlermeldungen?
  • Wie lange werden Logs aufbewahrt?
  • Wo läuft n8n: Cloud, eigenes Hosting, Dienstleister?

Für Steuerkanzleien ist das kein Randthema. E-Mail-Anhänge können Mandanten-, Lohn-, Steuer- und Bankdaten enthalten.


n8n Binary Mode: Warum die Einstellung relevant ist

Der Workflow setzt auf heruntergeladene Outlook-Anhänge als Binary Data.

In n8n kann Binary Data je nach Setup im Dateisystem, in der Datenbank oder über andere Mechanismen gespeichert werden. Das beeinflusst:

  • Performance bei großen Anhängen
  • Speicherverbrauch
  • Backup-Verhalten
  • Datenschutz
  • Aufbewahrung in Execution Logs
  • Verhalten bei mehreren Workflow-Ausführungen

Für Tests ist das meist unproblematisch. Für produktive DATEV-DMS-Workflows sollte man aber prüfen, wie n8n Binary Data speichert und wann diese Daten wieder gelöscht werden.


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

Der Workflow nutzt Klardaten DATEVconnect Nodes.

Diese Nodes sprechen nicht einfach irgendeinen öffentlichen DATEV-Endpunkt im Internet an. Sie arbeiten mit DATEVconnect beziehungsweise einem Gateway, das Zugriff auf die DATEV-Umgebung ermöglicht.

Das ist wichtig, weil viele DATEV-Daten in der lokalen oder gehosteten DATEV-Desktop-Welt liegen. DATEV DMS ist kein normales Cloud-DMS mit frei verfügbarer REST API für jeden Use Case.

Die typische Architektur ist:

source
n8n Workflow

Klardaten DATEVconnect Node

DATEVconnect Gateway

DATEVconnect

DATEV DMS

Mehr dazu: DATEVconnect Gateway


DATEV Online APIs vs. DATEVconnect

Bei DATEV gibt es verschiedene technische Zugriffswege.

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

Grob gesagt:

Bereich Typischer Zugriffsweg
DATEV Online Services DATEV Online APIs
DATEV DMS in der DATEV-Umgebung DATEVconnect / Gateway
Rechnungswesen- und Stammdaten in Desktop-Kontexten DATEVconnect / Gateway
tiefere Datenextraktion, Reporting, BI oft zusätzliche Enterprise API oder kundenspezifischer Zugriff

Für diesen Workflow ist DATEV DMS entscheidend. Deshalb ist DATEVconnect beziehungsweise ein Gateway der relevante technische Kontext.


Typische Erweiterungen des Workflows

1. Microsoft Teams statt Slack

Viele Kanzleien arbeiten mit Microsoft 365. Dann kann eine Teams-Nachricht die naheliegende Benachrichtigung sein.

Die fachliche Empfehlung bleibt gleich: keine unnötigen Mandantendaten in Chat-Systeme schreiben.

2. Review Queue für unklare Fälle

Der Workflow setzt bereits DMS_REVIEW_REQUIRED. Daraus kann man einen echten Prozess machen:

source
Review-Kategorie erkannt
→ Aufgabe erzeugen
→ Mitarbeiter wählt Mandant und Dokumenttyp
→ Workflow archiviert nach Freigabe

3. Dokumenttyp automatisch erkennen

Man kann Anhänge nach Namen, Absender, Betreff, Inhalt oder OCR-Ergebnis klassifizieren:

source
Lohnabrechnung
Bescheid
Vertrag
Eingangsrechnung
Bankdokument

Dann können DMS-Klasse, Ordner, Beschreibung und Zeitraum genauer gesetzt werden.

4. Anhänge stärker vorfiltern

Das Template filtert bereits Signaturen, Inline-Bilder, Kalender- und Kontaktdateien.

Produktiv kann man ergänzen:

  • erlaubte Dateitypen
  • Mindestgröße
  • Maximalgröße
  • Passwortschutz erkennen
  • ZIP-Dateien separat behandeln
  • Bilddateien nur bei Scans erlauben

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

Für manche Prozesse reicht der Anhang nicht. Dann kann es sinnvoll sein, die ursprüngliche E-Mail zusätzlich abzulegen.

Wichtig ist dann, dass die E-Mail und ihre Anhänge nachvollziehbar zusammengehören.

6. Duplikaterkennung

Vor dem DMS-Upload kann man prüfen, ob dasselbe Dokument bereits archiviert wurde.

Mögliche Schlüssel:

source
Outlook Message ID
Attachment ID
Dateihash
Mandant + Dateiname + Dateigröße
Mandant + externer Dokumentcode

Beispiel: Produktiver Ablauf mit Review Queue

Ein belastbarer produktiver Ablauf könnte so aussehen:

source
1. Outlook-Mail trifft in definiertem DMS-Ordner ein
2. Trigger lädt Mail mit Anhängen
3. Workflow ignoriert bereits archivierte oder prüfpflichtige Mails
4. Workflow filtert technische Anhänge
5. Workflow sucht Mandant über Mapping-Tabelle
6. Wenn genau ein Mandant gefunden:
   6.1 DMS-Metadaten bestimmen
   6.2 Dublettenprüfung durchführen
   6.3 Datei in DATEV DMS hochladen
   6.4 Dokumenteintrag erstellen
   6.5 Outlook auf DMS_ARCHIVED setzen und verschieben
   6.6 technische Erfolgsmeldung senden
7. Wenn kein oder mehrere Mandanten gefunden:
   7.1 Review-Aufgabe erzeugen
   7.2 Outlook auf DMS_REVIEW_REQUIRED setzen
8. Wenn DATEV fehlschlägt:
   8.1 Outlook nicht als archiviert markieren
   8.2 Fehlerkanal informieren
   8.3 Retry oder manuelle Prüfung

Das ist weniger spektakulär als vollständige Dunkelverarbeitung, aber deutlich sicherer.


Typische Fehler in DATEV-n8n-Workflows

Fehler 1: Der Workflow verarbeitet nur einen Anhang

Viele einfache E-Mail-Workflows nehmen nur den ersten Anhang. Das ist für Kanzleipost riskant, weil Mandanten oft mehrere Dokumente in einer E-Mail senden.

Das Template löst das durch Splitten in einzelne Items.

Fehler 2: Falscher Mandant

Das ist der kritischste Fehler.

Wenn der Mandant nicht eindeutig ist, sollte der Workflow nicht automatisch archivieren. Genau deshalb gibt es im Template den Review-Zweig.

Fehler 3: DMS-Metadaten sind zu generisch

Wenn alles als Dokument in <Keine Angabe> landet, wird DMS schnell unübersichtlich.

Die Template-Werte müssen an die tatsächliche Kanzleistruktur angepasst werden.

Fehler 4: Erfolg wird gemeldet, obwohl DATEV fehlgeschlagen ist

Outlook darf erst nach erfolgreichem DATEV-Upload und erfolgreicher Dokumenterstellung abgeschlossen werden.

Das Template setzt die Archivmarkierung nach der DMS-Erstellung. Produktiv sollte man zusätzlich Fehlerpfade und Teilfehler sauber behandeln.

Fehler 5: Keine Duplikaterkennung

E-Mail-Trigger können erneut laufen. Benutzer können Kategorien entfernen. Workflows können manuell neu gestartet werden.

Ohne Idempotenz entstehen schnell doppelte DMS-Dokumente.

Fehler 6: n8n Execution Logs speichern zu viele Daten

Bei E-Mail-Anhängen können Logs und Binary Storage vertrauliche Daten enthalten.

Produktiv muss klar sein, welche Daten n8n speichert, wer Zugriff hat und wann sie gelöscht werden.


Wann n8n für DATEV-Workflows gut passt

n8n passt gut, wenn:

  • der Ablauf klar regelbasiert ist
  • Eingangssysteme wie Outlook, SharePoint, Teams, Slack oder interne Tools beteiligt sind
  • DATEV-DMS- oder Stammdaten-Aufrufe über Nodes gekapselt werden können
  • technische Teams den Workflow betreiben können
  • Review-Prozesse bewusst eingeplant sind
  • Automatisierung schrittweise eingeführt werden soll

Typische Beispiele:

  • E-Mail-Anhänge in DATEV DMS ablegen
  • Dokumente aus Portalen abholen und klassifizieren
  • interne Freigaben auslösen
  • Mandantenstammdaten abgleichen
  • technische Statusmeldungen an IT oder Fachbereiche senden

Wann n8n allein nicht reicht

n8n ist ein Workflow-Werkzeug. Es ersetzt nicht automatisch:

  • ein Berechtigungskonzept
  • ein DMS-Fachkonzept
  • eine Mandanten-Matching-Strategie
  • Monitoring
  • Betriebsverantwortung
  • Datenschutzprüfung
  • Fehler- und Review-Prozesse

Wenn die Anforderungen komplexer werden, braucht man oft zusätzliche Komponenten:

  • Datenbank für Mapping und Idempotenz
  • internes Review-Frontend
  • zentrale Logging- und Monitoring-Plattform
  • dokumentierte Betriebsprozesse
  • tiefere DATEV-Integration

Build vs. Gateway: Selbst bauen oder Klardaten nutzen?

Man kann DATEVconnect-Anbindungen grundsätzlich selbst bauen. Das bedeutet aber:

  • DATEVconnect verstehen
  • lokale DATEV-Umgebungen anbinden
  • Authentifizierung und Benutzerkontext sauber handhaben
  • Fehlerfälle behandeln
  • Versionen und Updates berücksichtigen
  • Betrieb und Monitoring sicherstellen
  • n8n Nodes oder HTTP-Aufrufe pflegen

Für manche Teams ist das sinnvoll.

Für viele Kanzleien, TaxTech-Anbieter und IT-Partner ist ein Gateway pragmatischer. Die n8n-Logik bleibt sichtbar und anpassbar, aber die DATEVconnect-Anbindung muss nicht jedes Team neu lösen.

Klardaten stellt dafür den DATEVconnect Gateway und passende n8n Nodes bereit.

Mehr dazu:


Setup-Checkliste für den Workflow

Für einen funktionierenden Test brauchst Du:

  • n8n Instanz mit Community Nodes
  • installierte Klardaten DATEVconnect Nodes
  • Microsoft Outlook OAuth2 Credentials
  • Klardaten DATEVconnect Credentials
  • erreichbaren DATEVconnect Gateway
  • Zugriff auf DATEV DMS
  • Testmandant in DATEV
  • Testpostfach oder Testordner in Outlook
  • definierte DMS-Zielfelder
  • optional Slack OAuth2 Credentials
  • ausgewählten Slack-Kanal
  • 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

FAQ

Kann man DATEV direkt mit n8n verbinden?

Ja, aber nicht wie bei einem beliebigen SaaS-Tool mit einer einzigen öffentlichen API für alles. Für DATEV-DMS-Workflows in einer DATEV-Desktop- beziehungsweise DATEVconnect-Umgebung braucht man DATEVconnect-Zugriff. Die Klardaten DATEVconnect Nodes kapseln diesen Zugriff für n8n.

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

Ja. Der Workflow zeigt genau diesen Ablauf: Outlook triggert eine Mail mit Anhängen, n8n filtert und verarbeitet die Anhänge, DATEV DMS speichert Datei und Dokumenteintrag, Outlook wird nach erfolgreicher Verarbeitung abgeschlossen.

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

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

Kann der Workflow mehrere Anhänge verarbeiten?

Ja. Der Attachment-Code-Node wandelt alle archivfähigen 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 Template über eine Demo-Logik aus dem Betreff und eine DATEV-Stammdatensuche. Produktiv sollte diese Logik ersetzt werden: etwa durch Mapping-Tabelle, Absenderregeln, Ordnerlogik, Mandantennummern oder ein internes System.

Was passiert, wenn kein Mandant gefunden wird?

Der Workflow archiviert dann nicht automatisch. Die Outlook-Mail wird mit DMS_REVIEW_REQUIRED markiert und muss manuell geprüft werden.

Was passiert, wenn mehrere Mandanten gefunden werden?

Auch dann wird nicht automatisch archiviert. Mehrdeutige Treffer sind Review-Fälle.

Was passiert, wenn nur Signaturbilder oder Kalenderdateien anhängen?

Der Workflow filtert solche Anhänge heraus. Wenn kein archivfähiges Dokument übrig bleibt, wird die E-Mail als prüfpflichtig markiert.

Kann man Slack durch Microsoft Teams ersetzen?

Ja. Slack ist nur der Benachrichtigungskanal im Template. In Microsoft-365-Umgebungen kann Teams der passende Kanal sein.

Sollte man Mandantennamen und Betreffzeilen in Slack posten?

Nur wenn das bewusst geprüft wurde. In vielen Fällen sollten Chat-Nachrichten technisch bleiben und keine vertraulichen Inhalte in Slack oder Teams schreiben.

Kann ich Gmail statt Outlook verwenden?

Grundsätzlich ja, aber der Workflow müsste angepasst werden. Der Trigger, Binary Attachment Handling und die Abschlussaktion sind Outlook-spezifisch.

Brauche ich DATEVconnect für diesen Workflow?

Für DATEV-DMS-Workflows in einer DATEV-Desktop- beziehungsweise DATEVconnect-Umgebung ist DATEVconnect der relevante technische Weg. Ob DATEVconnect den konkreten Fall abdeckt, 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 adressieren unterschiedliche technische Kontexte und Use Cases. Für DATEV DMS in der DATEV-Umgebung ist DATEVconnect beziehungsweise ein Gateway relevant.

Kann ich mit n8n alle DATEV-Daten nutzen?

Nein. Welche Daten nutzbar sind, hängt vom DATEV-Zugriffsweg, den Modulen, Berechtigungen und verfügbaren Schnittstellen ab.

Ist der Workflow produktionsbereit?

Er ist ein gutes Template. Für Produktion fehlen typischerweise echtes Mandantenmatching, Duplikaterkennung, Fehlerworkflow, Monitoring, Review Queue, Datenschutzprüfung und DMS-Metadatenabstimmung.

Wann brauche ich statt DATEVconnect Gateway die Enterprise API?

Wenn DATEVconnect die benötigten Daten oder Prozesse nicht abdeckt. Typische Fälle sind tieferes Reporting, Power BI, Controlling oder individuelle Automatisierungen rund um DATEV-Desktop-Daten. Dann sollte man prüfen, ob die Klardaten Enterprise API der passende Zugriffsweg ist.


Fazit

n8n eignet sich gut, um Outlook, Slack oder Teams, interne Systeme und DATEV-DMS-Prozesse miteinander zu verbinden.

Der entscheidende Punkt ist aber nicht der reine Upload. Entscheidend ist der fachlich saubere Ablauf:

source
richtige E-Mail
→ richtiger Mandant
→ relevante Anhänge
→ richtige DMS-Metadaten
→ DATEV-Dokument erfolgreich erstellt
→ Outlook erst danach abschließen
→ unklare Fälle in Review

Der Workflow Archive Outlook email attachments to DATEV DMS with Slack notifications zeigt dafür ein gutes Grundmuster: Trigger mit Wiederholungsschutz, zentrale Konfiguration, eindeutiges Mandantenmatching, Attachment-Filterung, getrennte DATEV-DMS-Schritte, Review-Kategorie und eine zurückhaltende Slack-Benachrichtigung.

Für produktive Kanzlei-Workflows muss man vor allem Mandantenmatching, DMS-Metadaten, Fehlerbehandlung, Duplikaterkennung und Review-Prozess sauber ergänzen.

Wenn Du DATEV DMS, DATEVconnect und n8n verbinden möchtest, kann der Klardaten DATEVconnect Gateway die DATEVconnect-Seite bereitstellen, während n8n die Workflow-Logik übernimmt.

Für komplexere Workflows, KI-gestützte Suche oder Kanzleiprozesse mit Review-Schritten kann außerdem Klarvos relevant sein.