In der Welt kleiner und mittelständischer Unternehmen (KMU) geht es oft schnell, pragmatisch und ressourcenbewusst zu. Gerade deshalb lohnt es sich, Kommunikationswege so zu gestalten, dass sie Reibungspunkte reduzieren, Transparenz schaffen und Abläufe für alle Beteiligten einfacher machen – intern wie extern.

Eine besonders wirkungsvolle Methode: automatisierte Slack-, Teams- oder E-Mail-Notifications zu internen Ereignissen, die für Mitarbeiter oder Kunden relevant sind. In diesem Leitfaden zeigen wir, wie man mit wenig Aufwand eigene Automatisierungen für Benachrichtigungen mit dem Tool Make.com aufsetzt und so für verschiedenste Projekt-Events automatisch strukturierte Statusmeldungen versendet.

Warum Notifications? Weniger Reibung, mehr Vertrauen

In jedem Projekt gibt es Momente, an denen Informationen von A nach B müssen:

  • Eine Anfrage kommt rein
  • Ein Angebot wird bestätigt
  • Der Projektstatus wird mitgeteilt
  • Das Projekt ist zu 75% abgeschlossen
  • Die Abrechnung kann erfolgen
  • Das Zahlungsziel wird überschritten
  • Ein Mahnverfahren wird eingeleitet
  • Eine Zahlung ist eingegangen

Diese Schritte finden intern statt, betreffen aber unmittelbar die Kundenerfahrung. Wenn z. B. der Kunde eine Anfrage stellt, kann er im Anschluss automatisch eine Eingangsbestätigung inkl. der nächsten Schritte im Prozess bekommen und ist orientiert. Oder wenn z. B. der Projektleiter automatisch weiß, dass die Zahlung eingegangen ist, kann er aktiv den Abschluss kommunizieren – statt auf eine manuelle Info aus der Buchhaltung zu warten.

Transparenz heißt: Jeder weiß, wo das Projekt steht. Die Reaktionszeit sinkt, die Kundenzufriedenheit steigt.

Drei Wege zum Ziel: Slack, Microsoft Teams, E-mail

In diesem Leitfaden zeigen wir drei eigenständige Umsetzungswege für automatisierte Projekt-Notifications:

  • Weg A: Slack-Bot + Make.com – Ideal für Unternehmen, die Slack als Haupt-Kommunikationsplattform nutzen.
  • Weg B: Microsoft Teams + Make.com via Webhook – Für Organisationen, die auf Microsoft 365 setzen.
  • Weg C: E-Mail + Make.com via Webhook – Für Organisationen, die ihre Kunden informieren wollen.

Alle drei Varianten führen zum gleichen Ergebnis: strukturierte, automatisierte Benachrichtigungen über wichtige Projektstatus, übermittelt auf einem klar definierten Kanal zum genau richtigen Zeitpunkt.


Weg A: Slack-Bot

Voraussetzungen

  • Ein Slack-Workspace mit Adminrechten
  • Ein Make.com-Account
  • Die JSON-Payloads für die jeweiligen Events (bereitgestellt weiter unten)

Schritt 1: Slackbot einrichten

1. Slack App erstellen

  1. Gehe auf https://api.slack.com/apps und klicke auf „Create New App“
  2. Wähle „From scratch“
  3. Gib einen Namen ein, z. B. EngineerBot, und wähle deinen Workspace aus

2. Bot Permissions definieren

  • Unter „OAuth & Permissions“ → „Bot Token Scopes“ folgende Scopes hinzufügen:
    • chat:write – um Nachrichten zu posten
    • channels:read – um Channels auszulesen (optional)
    • incoming-webhook (optional, für alternative Methode)

Klicke dann auf Install to Workspace und kopiere den Bot Token (xoxb-...).

3. Bot in Kanal einladen

  • In Slack #projekte oder #abrechnung öffnen
  • /invite @EngineerBot eintippen

Der Bot ist nun bereit, Nachrichten zu empfangen.

Schritt 2: Make.com Szenario erstellen

1. Neues Szenario starten

  • In Make.com: Neues Szenario erstellen
  • Füge den Module-Typ Slack > Create a Message hinzu
  • Authentifiziere deinen Slackbot über OAuth (mit dem vorher erzeugten Token)

2. Channel auswählen

  • Wähle den Channel, in dem die Notification gepostet werden soll, z. B. #projekte

3. JSON-Block verwenden

  • Setze im Modul den Nachrichtentyp auf: Message with blocks
  • Füge die gewünschte JSON-Payload (siehe unten) ein

Beispiel:

{
  "blocks": [
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": "Neue Projektanfrage",
        "emoji": true
      }
    },
    ...
  ]
}

Wiederhole diesen Schritt für jede Event-artige Notification.

Schritt 3: Die JSON-Payloads im Einsatz

Wir haben folgende Event-Vorlagen erstellt:

  1. Neue Projektanfrage
  2. Angebot bestätigt
  3. 75% des Projektumfangs erreicht
  4. 90% erreicht (Ressourcenwarnung)
  5. Projekt bereit zur Abrechnung
  6. Zahlungsziel überschritten
  7. Mahnverfahren eingeleitet
  8. Zahlung eingegangen

Alle Payloads nutzen standardisierte Variablen wie:

  • {{project_id}}
  • {{customer_name}}
  • {{project_scope}}
  • {{invoice_due_date}}
  • {{crm_link}}

Diese Variablen werden in Make.com dynamisch aus CRM-, ERP- oder Zeiterfassungs-Integrationen belegt.


Weg B: Microsoft Teams

Voraussetzungen

  • Ein MS-Teams-Workspace mit Adminrechten
  • Ein Make.com-Account
  • Die Adaptive Cards-Payloads für die jeweiligen Events (bereitgestellt weiter unten)

Schritt 1: Microsoft Teams Integration

Wenn dein Unternehmen Microsoft Teams statt Slack nutzt, lässt sich dieselbe Benachrichtigungslogik mit einem Incoming Webhook umsetzen – ebenfalls über Make.com.

Voraussetzungen

  • Teams-Zugang mit Berechtigung zum Hinzufügen von Connectors
  • Make.com Account
  • JSON-Payloads oder Adaptive Cards im Microsoft-Format

1. Webhook im Teams-Channel einrichten

  1. Öffne in Microsoft Teams den gewünschten Kanal
  2. Klicke oben rechts auf die drei Punkte (•••) → „Connector hinzufügen“
  3. Wähle „Incoming Webhook“ und benenne ihn (z. B. Engineer Bot)
  4. Bestätige den Namen und kopiere die generierte Webhook-URL

2. Szenario in Make.com erstellen

  1. Neues Szenario starten
  2. Modul HTTP > Make a request hinzufügen
  3. Konfiguration:
    • Methode: POST
    • URL: Die Webhook-URL aus Teams
    • Header: Content-Type: application/json
    • Body Type: Raw
    • Body: Deine JSON-Payload oder eine Adaptive Card (siehe unten)

Hinweis zur Formatierung

Microsoft Teams unterstützt kein Slack BlockKit. Du hast zwei Möglichkeiten:

Variante A: Einfaches JSON-Format

{
  "text": "Neue Projektanfrage von {{customer_name}}. Geplanter Start: {{project_start_date}}."
}

Variante B: Adaptive Card JSON Nutze den Adaptive Card Designer und exportiere das Layout als JSON. Beispiel:

{
  "type": "AdaptiveCard",
  "version": "1.5",
  "body": [
    {
      "type": "TextBlock",
      "text": "📌 Neue Projektanfrage",
      "weight": "Bolder",
      "size": "Medium"
    },
    {
      "type": "TextBlock",
      "text": "Kunde: {{customer_name}}
Start: {{project_start_date}}",
      "wrap": true
    }
  ],
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json"
}

Vorteile

  • Teams bleibt zentrales Kommunikations-Tool
  • Keine Zusatz-App notwendig
  • Vollständig automatisiert durch Make.com

Weg C: E-Mail-Benachrichtigungen an Kunden mit Status-Updates

Voraussetzungen

  • Ein E-Mail-Dienst wie Gmail, Outlook oder SMTP-Anbindung
  • Ein Make.com-Account
  • Kundenkontakte mit E-Mail-Adresse (aus CRM, ERP o. Ä.)
  • Standardisierte E-Mail-Vorlagen für die einzelnen Projektstatus

Schritt 1: E-Mail-Integration einrichten

  1. Verbindung zum E-Mail-Dienst herstellen
    In Make.com:
    • Wähle „Gmail“, „Microsoft 365 Email“ oder „SMTP“ als Modul
    • Authentifiziere dich mit deinem E-Mail-Konto
  2. Empfänger dynamisch setzen
    • Verwende Felder wie {{customer_email}} aus CRM/ERP-Integration

Schritt 2: Szenario in Make.com erstellen

  1. Neues Szenario starten
    • Trigger: z. B. „Neues Angebot bestätigt“ oder „Zahlung eingegangen“
    • CRM- oder ERP-Modul als Datenquelle hinzufügen
  2. E-Mail-Modul hinzufügen
    • Modul: „Send an email“
    • Felder befüllen:
      • To: {{customer_email}}
      • Subject: z. B. „Ihr Projekt {{project_id}} wurde bestätigt“
      • Body: HTML- oder Textnachricht mit Platzhaltern wie
        „Sehr geehrte(r) {{customer_name}}, Ihr Projekt {{project_id}} befindet sich nun in der Phase: {{project_status}}…“

Schritt 3: E-Mail-Vorlagen nutzen

Nachfolgend haben wir einige Ereignisse definiert, für die E-Mail-Vorlagen versendet werden können. Den Code für diese Vorlagen findest du zusammen mit den internen Varianten für Slack und Microsoft Teams weiter unten im Artikel.

Zahlung eingegangen

„Vielen Dank! Ihre Zahlung zum Projekt {{project_name}} haben wir erhalten.“

Zahlungsziel überschritten / Erinnerung

„Ein kleiner Hinweis: Die Rechnung für Projekt {{project_id}} ist seit dem {{invoice_due_date}} fällig.“

Projekt abgeschlossen – Abrechnung startet

„Ihr Projekt wurde erfolgreich abgeschlossen. Die Abrechnung ist vorbereitet und erfolgt in Kürze.“

75 % abgeschlossen – Zwischeninfo

„Ihr Projekt {{project_name}} ist zu 75 % abgeschlossen. Der Abschluss ist in greifbarer Nähe!“

Angebot bestätigt

„Ihr Projektstart ist bestätigt. Wir bereiten alles für den Kickoff am {{kickoff_date}} vor.“

Neue Projektanfrage eingegangen

„Vielen Dank für Ihre Anfrage! Wir prüfen Ihre Angaben und melden uns in Kürze.“

Vorteile von Weg C

  • Kunden werden aktiv und automatisch informiert
  • Weniger Rückfragen → höhere Zufriedenheit
  • Professioneller Kommunikationsfluss
  • Ideal kombinierbar mit CRM-Triggern

Übersicht und Erklärung der einzelnen Notifications

1. Neue Projektanfrage

Zweck: Informiert das Team über neu eingegangene Projektanfragen und setzt den Kunden über die nächsten Schritte ins Bild. Inhalt: Projektstart, Ansprechpartner, Standort, Projektumfang, Anfrage-ID. Bezieht Daten aus:

  • CRM: Kundendaten, Anfrage-ID, Standort, Projektbeschreibung

Make.com oder Formularsystem: Auslöser und Projektstart

Slack-Payload

{
  "blocks": [
    {
      "type": "header",
      "text": { "type": "plain_text", "text": "Neue Projektanfrage", "emoji": true }
    },
    {
      "type": "section",
      "text": { "type": "mrkdwn", "text": "*Geplanter Start:*\n{{project_start_date}}" }
    },
    {
      "type": "section",
      "fields": [
        { "type": "mrkdwn", "text": "*Ansprechpartner:*\n{{customer_name}}\n📞 {{customer_phone}}" },
        { "type": "mrkdwn", "text": "*Standort:*\n{{project_location}}" },
        { "type": "mrkdwn", "text": "*Leistungspaket:*\n{{project_name}}" },
        { "type": "mrkdwn", "text": "*Projektumfang:*\n{{project_scope}}" },
        { "type": "mrkdwn", "text": "*Anfrage-ID:*\n{{project_id}}" }
      ]
    },
    {
      "type": "section",
      "text": { "type": "mrkdwn", "text": ":rotating_light: *Interne Anweisungen – bitte beachten:*" }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "1. Zuständigkeit prüfen und taggen\n2. Erstkontakt aufnehmen\n3. Angebot vorbereiten (Details im <{{crm_link}}|CRM>)"
      }
    },
    {
      "type": "section",
      "text": { "type": "mrkdwn", "text": "Mit freundlichen Grüßen\n*Engineer Bot*" }
    }
  ]
}

Adaptive Card Payload (MS Teams)

{
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "type": "AdaptiveCard",
  "version": "1.4",
  "body": [
    {
      "type": "TextBlock",
      "text": "Neue Projektanfrage",
      "weight": "Bolder",
      "size": "Large",
      "wrap": true
    },
    {
      "type": "TextBlock",
      "text": "*Geplanter Start:*\n{{project_start_date}}",
      "wrap": true
    },
    {
      "type": "TextBlock",
      "text": "*Ansprechpartner:*\n{{customer_name}}\n📞 {{customer_phone}}",
      "wrap": true
    },
    {
      "type": "TextBlock",
      "text": "*Standort:*\n{{project_location}}",
      "wrap": true
    },
    {
      "type": "TextBlock",
      "text": "*Leistungspaket:*\n{{project_name}}",
      "wrap": true
    },
    {
      "type": "TextBlock",
      "text": "*Projektumfang:*\n{{project_scope}}",
      "wrap": true
    },
    {
      "type": "TextBlock",
      "text": "*Anfrage-ID:*\n{{project_id}}",
      "wrap": true
    },
    {
      "type": "TextBlock",
      "text": ":rotating_light: *Interne Anweisungen – bitte beachten:*",
      "wrap": true
    },
    {
      "type": "TextBlock",
      "text": "1. Zuständigkeit prüfen und taggen\n2. Erstkontakt aufnehmen\n3. Angebot vorbereiten (Details im [CRM]({{crm_link}}))",
      "wrap": true
    },
    {
      "type": "TextBlock",
      "text": "Mit freundlichen Grüßen\n*Engineer Bot*",
      "wrap": true
    }
  ]
}

E-Mail Payload (an Kunden)

<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <title>Anfrageeingang</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
      @media screen and (max-width: 600px) {
        .container {
          width: 100% !important;
        }
        .mobile-padding {
          padding-left: 15px !important;
          padding-right: 15px !important;
        }
        .column-row td {
          display: block !important;
          width: 100% !important;
          box-sizing: border-box;
        }
        .column-row td:first-child {
          padding-bottom: 5px;
        }
      }
    </style>
  </head>
  <body style="margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;">
    <table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#FFFFFF">
      <tr><td height="10" bgcolor="#EEF2F1"></td></tr>
      <tr>
        <td align="center">
          <table width="600" cellpadding="0" cellspacing="0" border="0" class="container">
            <!-- Logo-Platzhalter -->
            <tr>
              <td align="center" style="padding:26px 0 18px 0;">
                <img src="https://via.placeholder.com/150x50?text=Ihr+Logo" width="150" alt="Logo" style="display:block;border:0;">
              </td>
            </tr>
            <!-- Info-Box -->
            <tr>
              <td align="center" style="padding-bottom:32px;" class="mobile-padding">
                <table cellpadding="0" cellspacing="0" border="0" width="100%">
                  <tr>
                    <td style="border:1px solid #C5D3E1;background:#eef4fa;padding:14px 18px;font-size:14px;line-height:20px;">
                      <strong>Anfrageeingang</strong><br>
                      Vielen Dank – wir haben Ihre Anfrage erfolgreich erhalten.
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Haupttitel -->
            <tr>
              <td align="center" style="font-size:18px;font-weight:bold;line-height:26px;padding:0 12px 10px 12px;">
                Ihre Anfrage
              </td>
            </tr>
            <!-- Wunschtermin -->
            <tr>
              <td align="center" style="padding-bottom:32px;">
                <span style="font-size:14px;text-decoration:underline;color:#8f7d33;">
                  Angefragter Termin: {{formatDate(6.`Angefordertes Datum`; "DD.MM.YYYY")}}
                </span>
              </td>
            </tr>
            <!-- Faktenblock -->
            <tr>
              <td class="mobile-padding">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="font-size:14px;line-height:22px;">
                  <tr class="column-row">
                    <td width="32%" style="font-weight:bold;">Ansprechpartner:</td>
                    <td>{{6.`Vor- und Nachname`}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Standort:</td>
                    <td>{{6.Strasse}}, {{6.PLZ}} {{6.Ort}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Objektart:</td>
                    <td>{{6.`Grundstücksart`}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Genehmigung erforderlich:</td>
                    <td>{{6.`Abstellgenehmigung erforderlich`}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Anfragennummer:</td>
                    <td>{{6.`Anfragen-ID`}}</td>
                  </tr>
                </table>
              </td>
            </tr>
            <tr><td height="40"></td></tr>
            <!-- Weiteres Vorgehen -->
            <tr>
              <td class="mobile-padding">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="font-size:14px;line-height:22px;">
                  <tr>
                    <td style="padding-bottom:16px;">
                      Unser Team prüft derzeit Ihre Angaben. Falls Rückfragen bestehen, werden wir uns zeitnah mit Ihnen in Verbindung setzen.
                    </td>
                  </tr>
                  <tr>
                    <td style="padding-bottom:16px;">
                      Im nächsten Schritt erhalten Sie ein individuelles Angebot per E-Mail. Nach Ihrer Bestätigung koordinieren wir die weitere Umsetzung.
                    </td>
                  </tr>
                  <tr>
                    <td style="padding-bottom:32px;">
                      Vielen Dank für Ihr Vertrauen.<br>
                      Mit freundlichen Grüßen<br>
                      <strong>Ihr Serviceteam</strong>
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Footer neutral -->
            <tr><td height="40"></td></tr>
            <tr>
              <td class="mobile-padding" style="padding: 0 12px 0 12px">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top: 1px solid #E0E0E0; padding-top: 20px; font-size: 12px; line-height: 18px; color: #666666;">
                  <tr>
                    <td style="padding-bottom: 16px;">
                      Diese E-Mail wurde automatisch generiert. Bitte antworten Sie nicht direkt darauf.<br>
                      Bei Rückfragen wenden Sie sich bitte an Ihre Kontaktperson.
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
          </table>
        </td>
      </tr>
      <tr><td height="10" bgcolor="#EEF2F1"></td></tr>
    </table>
  </body>
</html>

2. Angebot bestätigt – Projektstart vorbereiten

Zweck: Signalisierung, dass ein Angebot bestätigt wurde und Setup-Aufgaben starten. Inhalt: Kunde, Standort, Projektumfang, Kickoff-Termin, automatisch erstellte Links zu ERP/Zeiterfassung/DMS. Bezieht Daten aus:

  • CRM: Kundendaten, Projektumfang
  • ERP: Projektcode, Kostenstelle
  • Zeiterfassung: Projekt-ID für Zeiterfassungseintrag
  • DMS: Link zum Projektordner

Slack-Payload

{
  "blocks": [
    {
      "type": "header",
      "text": { "type": "plain_text", "text": "Angebot bestätigt – Projektstart vorbereiten", "emoji": true }
    },
    {
      "type": "section",
      "text": { "type": "mrkdwn", "text": "*Starttermin bestätigt:*\n{{project_start_date}}" }
    },
    {
      "type": "section",
      "fields": [
        { "type": "mrkdwn", "text": "*Kunde:*\n{{customer_name}}\n📞 {{customer_phone}}" },
        { "type": "mrkdwn", "text": "*Standort:*\n{{project_location}}" },
        { "type": "mrkdwn", "text": "*Leistung:*\n{{project_name}}" },
        { "type": "mrkdwn", "text": "*Umfang:*\n{{project_scope}}" },
        { "type": "mrkdwn", "text": "*Projekt-ID:*\n{{project_id}}" }
      ]
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*Automatisch eingerichtet:*\n• 📁 <{{project_folder_link}}|Projektordner>\n• 🧾 <{{erp_link}}|ERP-Projekt>\n• ⏱️ <{{timetracking_link}}|Zeiterfassung>\n• 💰 Kostenstelle vergeben\n• 📆 Kickoff koordiniert"
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "1. Projektverantwortliche benennen\n2. Kickoff bestätigen\n3. Planung starten\n\nCRM: <{{crm_link}}|Eintrag öffnen>"
      }
    },
    {
      "type": "section",
      "text": { "type": "mrkdwn", "text": "Mit besten Grüßen\n*Engineer Bot*" }
    }
  ]
}

Adaptive Card Payload (MS Teams)

{
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "type": "AdaptiveCard",
  "version": "1.4",
  "body": [
    {
      "type": "TextBlock",
      "text": "Angebot bestätigt – Projektstart vorbereiten",
      "weight": "Bolder",
      "size": "Large",
      "wrap": true
    },
    {
      "type": "TextBlock",
      "text": "*Starttermin bestätigt:*\n{{project_start_date}}",
      "wrap": true
    },
    {
      "type": "FactSet",
      "facts": [
        {
          "title": "Kunde:",
          "value": "{{customer_name}}\n📞 {{customer_phone}}"
        },
        {
          "title": "Standort:",
          "value": "{{project_location}}"
        },
        {
          "title": "Leistung:",
          "value": "{{project_name}}"
        },
        {
          "title": "Umfang:",
          "value": "{{project_scope}}"
        },
        {
          "title": "Projekt-ID:",
          "value": "{{project_id}}"
        }
      ]
    },
    {
      "type": "TextBlock",
      "text": "**Automatisch eingerichtet:**\n• 📁 [Projektordner]({{project_folder_link}})\n• 🧾 [ERP-Projekt]({{erp_link}})\n• ⏱️ [Zeiterfassung]({{timetracking_link}})\n• 💰 Kostenstelle vergeben\n• 📆 Kickoff koordiniert",
      "wrap": true
    },
    {
      "type": "TextBlock",
      "text": "1. Projektverantwortliche benennen\n2. Kickoff bestätigen\n3. Planung starten\n\n[CRM: Eintrag öffnen]({{crm_link}})",
      "wrap": true
    },
    {
      "type": "TextBlock",
      "text": "Mit besten Grüßen\n*Engineer Bot*",
      "wrap": true
    }
  ]
}

E-Mail Payload (an Kunden)

<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <title>Vielen Dank für Ihre Angebotsbestätigung</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
      @media screen and (max-width: 600px) {
        .container {
          width: 100% !important;
        }
        .mobile-padding {
          padding-left: 15px !important;
          padding-right: 15px !important;
        }
        .column-row td {
          display: block !important;
          width: 100% !important;
          box-sizing: border-box;
        }
        .column-row td:first-child {
          padding-bottom: 5px;
        }
      }
    </style>
  </head>
  <body style="margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;">
    <table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#FFFFFF">
      <tr><td height="10" bgcolor="#EEF2F1"></td></tr>
      <tr>
        <td align="center">
          <table width="600" cellpadding="0" cellspacing="0" border="0" class="container">
            <!-- Logo-Platzhalter -->
            <tr>
              <td align="center" style="padding:26px 0 18px 0;">
                <img src="https://via.placeholder.com/150x50?text=Ihr+Logo" width="150" alt="Ihr Logo" style="display:block;border:0;">
              </td>
            </tr>
            <!-- Info-Box -->
            <tr>
              <td align="center" style="padding-bottom:32px;" class="mobile-padding">
                <table cellpadding="0" cellspacing="0" border="0" width="100%">
                  <tr>
                    <td style="border:1px solid #C5D3E1;background:#eef4fa;padding:14px 18px;font-size:14px;line-height:20px;">
                      <strong>Vielen Dank für Ihre Angebotsbestätigung</strong><br>
                      Wir freuen uns, Ihr Projekt gemeinsam umzusetzen.
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Haupttitel -->
            <tr>
              <td align="center" style="font-size:18px;font-weight:bold;line-height:26px;padding:0 12px 10px 12px;">
                Ihr Projekt wird nun vorbereitet
              </td>
            </tr>
            <tr><td height="16"></td></tr>
            <!-- Nächste Schritte -->
            <tr>
              <td class="mobile-padding">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="font-size:14px;line-height:22px;">
                  <tr>
                    <td style="padding-bottom:16px;">
                      Unser Team hat Ihre Bestätigung erhalten und leitet nun die nächsten Schritte für den Projektstart ein.
                    </td>
                  </tr>
                  <tr>
                    <td style="padding-bottom:10px;">
                      <strong>Was passiert als Nächstes?</strong>
                    </td>
                  </tr>
                  <tr>
                    <td style="padding-bottom:16px;">
                      <ul style="margin:0;padding-left:20px;">
                        <li>Ihr Projekt wird intern eingeplant und an die zuständige Fachabteilung übergeben</li>
                        <li>Ein Projektverantwortlicher wird benannt und kontaktiert Sie bei Bedarf</li>
                        <li>Der Kickoff-Termin wird koordiniert</li>
                        <li>Alle relevanten Dokumente und Informationen werden vorbereitet</li>
                      </ul>
                    </td>
                  </tr>
                  <tr>
                    <td style="padding-bottom:16px;">
                      Für Rückfragen stehen wir Ihnen jederzeit gerne zur Verfügung.
                    </td>
                  </tr>
                  <tr>
                    <td style="padding-bottom:32px;">
                      Mit freundlichen Grüßen<br>
                      <strong>Ihr Serviceteam</strong>
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Footer neutral -->
            <tr><td height="40"></td></tr>
            <tr>
              <td class="mobile-padding" style="padding: 0 12px 0 12px">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top: 1px solid #E0E0E0; padding-top: 20px; font-size: 12px; line-height: 18px; color: #666666;">
                  <tr>
                    <td style="padding-bottom: 16px;">
                      Diese Nachricht wurde automatisch erstellt. Bitte antworten Sie nicht direkt auf diese E-Mail.<br>
                      Bei Rückfragen wenden Sie sich bitte an Ihre Kontaktperson.
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
          </table>
        </td>
      </tr>
      <tr><td height="10" bgcolor="#EEF2F1"></td></tr>
    </table>
  </body>
</html>

3. 75 % des Projektumfangs erreicht

Zweck: Frühwarnsystem für Budget-/Ressourcenüberwachung. Inhalt: Kunde, Projektname, aktueller Projektstand, Link zur Zeiterfassung. Bezieht Daten aus:

  • Zeiterfassungssystem: Projektfortschritt anhand gebuchter Stunden
  • CRM/ERP: Kundenname, Projektbezeichnung

Slack-Payload

{
  "blocks": [
    {
      "type": "header",
      "text": { "type": "plain_text", "text": "🔔 75 % des Projektumfangs erreicht", "emoji": true }
    },
    {
      "type": "section",
      "fields": [
        { "type": "mrkdwn", "text": "*Projekt:*\n{{project_name}}" },
        { "type": "mrkdwn", "text": "*Kunde:*\n{{customer_name}}" },
        { "type": "mrkdwn", "text": "*Projekt-ID:*\n{{project_id}}" },
        { "type": "mrkdwn", "text": "*Zeiterfassung:*\n<{{timetracking_link}}|Projekt öffnen>" }
      ]
    },
    {
      "type": "context",
      "elements": [
        { "type": "mrkdwn", "text": "75 % des geplanten Aufwands verbraucht – Projektphase kritisch." }
      ]
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "Empfohlene Schritte:\n• Budget prüfen\n• Kunden informieren\n• Zusatzleistungen evaluieren"
      }
    },
    {
      "type": "context",
      "elements": [
        { "type": "mrkdwn", "text": ":warning: Bei 90 % erfolgt automatische Eskalation an Projektleitung." }
      ]
    }
  ]
}

Adaptive Card Payload (MS Teams)

{
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "type": "AdaptiveCard",
  "version": "1.4",
  "body": [
    {
      "type": "TextBlock",
      "text": "🔔 75 % des Projektumfangs erreicht",
      "weight": "Bolder",
      "size": "Medium",
      "wrap": true
    },
    {
      "type": "FactSet",
      "facts": [
        {
          "title": "Projekt:",
          "value": "{{project_name}}"
        },
        {
          "title": "Kunde:",
          "value": "{{customer_name}}"
        },
        {
          "title": "Projekt-ID:",
          "value": "{{project_id}}"
        },
        {
          "title": "Zeiterfassung:",
          "value": "[Projekt öffnen]({{timetracking_link}})"
        }
      ]
    },
    {
      "type": "TextBlock",
      "text": "75 % des geplanten Aufwands verbraucht – Projektphase kritisch.",
      "isSubtle": true,
      "wrap": true,
      "spacing": "Medium"
    },
    {
      "type": "TextBlock",
      "text": "**Empfohlene Schritte:**\n• Budget prüfen\n• Kunden informieren\n• Zusatzleistungen evaluieren",
      "wrap": true,
      "spacing": "Medium"
    },
    {
      "type": "TextBlock",
      "text": "⚠️ Bei 90 % erfolgt automatische Eskalation an Projektleitung.",
      "wrap": true,
      "spacing": "Medium",
      "color": "Attention",
      "isSubtle": false
    }
  ]
}

E-Mail Payload (an Kunden)

<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <title>Projektstatus: 75 % abgeschlossen</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
      @media screen and (max-width: 600px) {
        .container {
          width: 100% !important;
        }
        .mobile-padding {
          padding-left: 15px !important;
          padding-right: 15px !important;
        }
        .column-row td {
          display: block !important;
          width: 100% !important;
          box-sizing: border-box;
        }
        .column-row td:first-child {
          padding-bottom: 5px;
        }
      }
    </style>
  </head>
  <body style="margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;">
    <table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#FFFFFF">
      <tr><td height="10" bgcolor="#EEF2F1"></td></tr>
      <tr>
        <td align="center">
          <table width="600" cellpadding="0" cellspacing="0" border="0" class="container">
            <!-- Logo -->
            <tr>
              <td align="center" style="padding:26px 0 18px 0;">
                <img src="https://via.placeholder.com/150x50?text=Ihr+Logo" width="150" alt="Ihr Logo" style="display:block;border:0;">
              </td>
            </tr>
            <!-- Info-Box -->
            <tr>
              <td align="center" style="padding-bottom:32px;" class="mobile-padding">
                <table cellpadding="0" cellspacing="0" border="0" width="100%">
                  <tr>
                    <td style="border:1px solid #C5D3E1;background:#eef4fa;padding:14px 18px;font-size:14px;line-height:20px;">
                      <strong>Projektstatus-Update</strong><br>
                      Ihr Projekt befindet sich aktuell bei ca. 75 % des geplanten Umfangs.
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Titel -->
            <tr>
              <td align="center" style="font-size:18px;font-weight:bold;line-height:26px;padding:0 12px 10px 12px;">
                Aktueller Stand Ihres Projekts
              </td>
            </tr>
            <!-- Projektdaten -->
            <tr>
              <td class="mobile-padding" style="padding-bottom:32px;">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="font-size:14px;line-height:22px;">
                  <tr class="column-row">
                    <td width="32%" style="font-weight:bold;">Projekt:</td>
                    <td>{{project_name}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Kunde:</td>
                    <td>{{customer_name}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Projekt-ID:</td>
                    <td>{{project_id}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Aktuelle Zeiterfassung:</td>
                    <td><a href="{{timetracking_link}}" style="color:#3366cc;text-decoration:none;">Projekt öffnen</a></td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Empfehlungen -->
            <tr>
              <td class="mobile-padding">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="font-size:14px;line-height:22px;">
                  <tr>
                    <td style="padding-bottom:16px;">
                      Um den weiteren Verlauf optimal zu gestalten, empfehlen wir:
                      <ul style="margin: 10px 0 0 20px;">
                        <li>die verbleibenden Leistungen gemeinsam zu prüfen,</li>
                        <li>bei Bedarf Anpassungen abzustimmen,</li>
                        <li>und frühzeitig den Abschluss zu planen.</li>
                      </ul>
                    </td>
                  </tr>
                  <tr>
                    <td style="padding-bottom:32px;">
                      Bei Fragen oder Wunsch nach Rücksprache melden Sie sich gerne bei uns.
                    </td>
                  </tr>
                  <tr>
                    <td>
                      Mit freundlichen Grüßen<br>
                      <strong>Ihr Projektteam</strong>
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Footer -->
            <tr><td height="40"></td></tr>
            <tr>
              <td class="mobile-padding" style="padding: 0 12px 0 12px">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top: 1px solid #E0E0E0; padding-top: 20px; font-size: 12px; line-height: 18px; color: #666666;">
                  <tr>
                    <td style="padding-bottom: 16px;">
                      Diese Nachricht wurde automatisch erstellt. Bitte antworten Sie nicht direkt auf diese E-Mail.<br>
                      Bei Rückfragen wenden Sie sich bitte an Ihre Kontaktperson.
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
          </table>
        </td>
      </tr>
      <tr><td height="10" bgcolor="#EEF2F1"></td></tr>
    </table>
  </body>
</html>

4. 90 % erreicht – Ressourcenwarnung

Zweck: Kritischer Schwellenwert erreicht – sofortiges Handeln erforderlich. Inhalt: Projektname, Kunde, Warnungstext, weitere To-Dos für PM und Controlling. Bezieht Daten aus:

  • Zeiterfassung: % erreicht
  • ERP: Budget und Zeitrahmen

Die Payloads sparen wir uns an dieser Stelle. Orientiere dich einfach an der vorherigen.

5. Projekt bereit zur Abrechnung

Zweck: Signalisiert Projektabschluss und leitet Rechnungsstellung ein. Inhalt: Projektdaten, Abrechnungsordner, Link zu ERP & CRM. Bezieht Daten aus:

  • ERP: Projektstatus
  • CRM: Kundeninformationen
  • DMS: Verlinkung der Rechnungsunterlagen

Slack-Payload

{
  "blocks": [
    {
      "type": "header",
      "text": { "type": "plain_text", "text": "💼 Projekt bereit zur Abrechnung", "emoji": true }
    },
    {
      "type": "section",
      "fields": [
        { "type": "mrkdwn", "text": "*Projekt:*\n{{project_name}}" },
        { "type": "mrkdwn", "text": "*Kunde:*\n{{customer_name}}" },
        { "type": "mrkdwn", "text": "*Projekt-ID:*\n{{project_id}}" },
        { "type": "mrkdwn", "text": "*Standort:*\n{{project_location}}" }
      ]
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "• 🧾 <{{erp_link}}|ERP-Projekt>\n• 📁 <{{project_folder_link}}|Abrechnungsdokumente>\n• 👤 <{{crm_link}}|CRM-Eintrag>"
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "1. Unterlagen prüfen\n2. Zahlungskonditionen prüfen\n3. Rechnung vorbereiten"
      }
    }
  ]
}

Adaptive Card Payload (MS Teams)

{
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "type": "AdaptiveCard",
  "version": "1.4",
  "body": [
    {
      "type": "TextBlock",
      "text": "💼 Projekt bereit zur Abrechnung",
      "weight": "Bolder",
      "size": "Medium",
      "wrap": true
    },
    {
      "type": "FactSet",
      "facts": [
        {
          "title": "Projekt:",
          "value": "{{project_name}}"
        },
        {
          "title": "Kunde:",
          "value": "{{customer_name}}"
        },
        {
          "title": "Projekt-ID:",
          "value": "{{project_id}}"
        },
        {
          "title": "Standort:",
          "value": "{{project_location}}"
        }
      ]
    },
    {
      "type": "TextBlock",
      "text": "• 🧾 [ERP-Projekt]({{erp_link}})\n• 📁 [Abrechnungsdokumente]({{project_folder_link}})\n• 👤 [CRM-Eintrag]({{crm_link}})",
      "wrap": true,
      "spacing": "Medium"
    },
    {
      "type": "TextBlock",
      "text": "1. Unterlagen prüfen\n2. Zahlungskonditionen prüfen\n3. Rechnung vorbereiten",
      "wrap": true,
      "spacing": "Medium"
    }
  ]
}

E-Mail Payload (an Kunden)

<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <title>Projekt abgeschlossen – Abrechnung folgt</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
      @media screen and (max-width: 600px) {
        .container {
          width: 100% !important;
        }
        .mobile-padding {
          padding-left: 15px !important;
          padding-right: 15px !important;
        }
        .column-row td {
          display: block !important;
          width: 100% !important;
          box-sizing: border-box;
        }
        .column-row td:first-child {
          padding-bottom: 5px;
        }
      }
    </style>
  </head>
  <body style="margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;">
    <table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#FFFFFF">
      <tr><td height="10" bgcolor="#EEF2F1"></td></tr>
      <tr>
        <td align="center">
          <table width="600" cellpadding="0" cellspacing="0" border="0" class="container">
            <!-- Logo -->
            <tr>
              <td align="center" style="padding:26px 0 18px 0;">
                <img src="https://via.placeholder.com/150x50?text=Ihr+Logo" width="150" alt="Ihr Logo" style="display:block;border:0;">
              </td>
            </tr>
            <!-- Info Box -->
            <tr>
              <td align="center" style="padding-bottom:32px;" class="mobile-padding">
                <table cellpadding="0" cellspacing="0" border="0" width="100%">
                  <tr>
                    <td style="border:1px solid #C5D3E1;background:#eef4fa;padding:14px 18px;font-size:14px;line-height:20px;">
                      <strong>Projektabschluss</strong><br>
                      Ihr Projekt wurde erfolgreich abgeschlossen.
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Titel -->
            <tr>
              <td align="center" style="font-size:18px;font-weight:bold;line-height:26px;padding:0 12px 10px 12px;">
                Nächster Schritt: Abrechnung
              </td>
            </tr>
            <!-- Projektdetails -->
            <tr>
              <td class="mobile-padding" style="padding-bottom:32px;">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="font-size:14px;line-height:22px;">
                  <tr class="column-row">
                    <td width="32%" style="font-weight:bold;">Projekt:</td>
                    <td>{{project_name}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Kunde:</td>
                    <td>{{customer_name}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Projekt-ID:</td>
                    <td>{{project_id}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Standort:</td>
                    <td>{{project_location}}</td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Hinweise -->
            <tr>
              <td class="mobile-padding">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="font-size:14px;line-height:22px;">
                  <tr>
                    <td style="padding-bottom:16px;">
                      Wir bereiten derzeit die abschließenden Unterlagen und die Abrechnung Ihres Projekts vor. Sie erhalten in Kürze eine separate E-Mail mit allen Details.
                    </td>
                  </tr>
                  <tr>
                    <td style="padding-bottom:16px;">
                      Bitte prüfen Sie dann alle Angaben sorgfältig. Sollten Rückfragen oder Klärungsbedarf bestehen, stehen wir Ihnen selbstverständlich gerne zur Verfügung.
                    </td>
                  </tr>
                  <tr>
                    <td style="padding-bottom:32px;">
                      Wir danken Ihnen für die angenehme Zusammenarbeit!
                    </td>
                  </tr>
                  <tr>
                    <td>
                      Mit freundlichen Grüßen<br>
                      <strong>Ihr Projektteam</strong>
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Footer -->
            <tr><td height="40"></td></tr>
            <tr>
              <td class="mobile-padding" style="padding: 0 12px 0 12px">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top: 1px solid #E0E0E0; padding-top: 20px; font-size: 12px; line-height: 18px; color: #666666;">
                  <tr>
                    <td style="padding-bottom: 16px;">
                      Diese Nachricht wurde automatisch erstellt. Bitte antworten Sie nicht direkt auf diese E-Mail.<br>
                      Bei Rückfragen wenden Sie sich bitte an Ihre Kontaktperson.
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
          </table>
        </td>
      </tr>
      <tr><td height="10" bgcolor="#EEF2F1"></td></tr>
    </table>
  </body>
</html>

6. Zahlungsziel überschritten

Zweck: Mahnprozess vorbereiten, Buchhaltung informieren. Inhalt: Rechnungsdatum, Betrag, Fälligkeit, Links zur Rechnung und CRM. Bezieht Daten aus:

  • ERP/FiBu: Fälligkeit, Betrag, offener Status
  • DMS: gespeicherte Rechnung als Datei
  • CRM: Kundenkontakt

Slack-Payload

{
  "blocks": [
    {
      "type": "header",
      "text": { "type": "plain_text", "text": "🚨 Zahlungsziel überschritten", "emoji": true }
    },
    {
      "type": "section",
      "fields": [
        { "type": "mrkdwn", "text": "*Projekt-ID:*\n{{project_id}}" },
        { "type": "mrkdwn", "text": "*Rechnungsdatum:*\n{{invoice_date}}" },
        { "type": "mrkdwn", "text": "*Fälligkeit:*\n{{invoice_due_date}}" },
        { "type": "mrkdwn", "text": "*Rechnungsbetrag:*\n{{invoice_amount}}" }
      ]
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "• 🧾 <{{erp_link}}|ERP-Projekt>\n• 📁 <{{invoice_file_link}}|Rechnung ansehen>\n• 👤 <{{crm_link}}|CRM-Kontakt>"
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "Bitte prüfen:\n1. Zahlung eingegangen?\n2. Kundenkontakt erforderlich?\n3. Mahnprozess vorbereiten?"
      }
    }
  ]
}

Adaptive Card Payload (MS Teams)

{
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "type": "AdaptiveCard",
  "version": "1.4",
  "body": [
    {
      "type": "TextBlock",
      "text": "🚨 Zahlungsziel überschritten",
      "weight": "Bolder",
      "size": "Medium",
      "color": "Attention",
      "wrap": true
    },
    {
      "type": "FactSet",
      "facts": [
        {
          "title": "Projekt-ID:",
          "value": "{{project_id}}"
        },
        {
          "title": "Rechnungsdatum:",
          "value": "{{invoice_date}}"
        },
        {
          "title": "Fälligkeit:",
          "value": "{{invoice_due_date}}"
        },
        {
          "title": "Rechnungsbetrag:",
          "value": "{{invoice_amount}}"
        }
      ]
    },
    {
      "type": "TextBlock",
      "text": "• 🧾 [ERP-Projekt]({{erp_link}})\n• 📁 [Rechnung ansehen]({{invoice_file_link}})\n• 👤 [CRM-Kontakt]({{crm_link}})",
      "wrap": true,
      "spacing": "Medium"
    },
    {
      "type": "TextBlock",
      "text": "**Bitte prüfen:**\n1. Zahlung eingegangen?\n2. Kundenkontakt erforderlich?\n3. Mahnprozess vorbereiten?",
      "wrap": true,
      "spacing": "Medium"
    }
  ]
}

E-Mail Payload (an Kunden)

<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <title>Zahlungserinnerung – Rechnung überfällig</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
      @media screen and (max-width: 600px) {
        .container {
          width: 100% !important;
        }
        .mobile-padding {
          padding-left: 15px !important;
          padding-right: 15px !important;
        }
        .column-row td {
          display: block !important;
          width: 100% !important;
          box-sizing: border-box;
        }
        .column-row td:first-child {
          padding-bottom: 5px;
        }
      }
    </style>
  </head>
  <body style="margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;">
    <table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#FFFFFF">
      <tr><td height="10" bgcolor="#EEF2F1"></td></tr>
      <tr>
        <td align="center">
          <table width="600" cellpadding="0" cellspacing="0" border="0" class="container">
            <!-- Logo -->
            <tr>
              <td align="center" style="padding:26px 0 18px 0;">
                <img src="https://via.placeholder.com/150x50?text=Ihr+Logo" width="150" alt="Ihr Logo" style="display:block;border:0;">
              </td>
            </tr>
            <!-- Info Box -->
            <tr>
              <td align="center" style="padding-bottom:32px;" class="mobile-padding">
                <table cellpadding="0" cellspacing="0" border="0" width="100%">
                  <tr>
                    <td style="border:1px solid #e0b4b4;background:#fff6f6;padding:14px 18px;font-size:14px;line-height:20px;color:#9f3a38;">
                      <strong>Zahlungserinnerung</strong><br>
                      Die untenstehende Rechnung ist inzwischen überfällig.
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Titel -->
            <tr>
              <td align="center" style="font-size:18px;font-weight:bold;line-height:26px;padding:0 12px 10px 12px;">
                Bitte begleichen Sie Ihre offene Rechnung
              </td>
            </tr>
            <!-- Rechnungsdetails -->
            <tr>
              <td class="mobile-padding" style="padding-bottom:32px;">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="font-size:14px;line-height:22px;">
                  <tr class="column-row">
                    <td width="32%" style="font-weight:bold;">Projekt-ID:</td>
                    <td>{{project_id}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Rechnungsdatum:</td>
                    <td>{{invoice_date}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Fällig am:</td>
                    <td>{{invoice_due_date}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Betrag:</td>
                    <td>{{invoice_amount}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Rechnungsdokument:</td>
                    <td><a href="{{invoice_file_link}}" style="color:#3366cc;text-decoration:none;">Jetzt ansehen</a></td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Hinweis -->
            <tr>
              <td class="mobile-padding">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="font-size:14px;line-height:22px;">
                  <tr>
                    <td style="padding-bottom:16px;">
                      Bitte überweisen Sie den ausstehenden Betrag bis spätestens <strong>{{payment_reminder_due}}</strong> auf das Ihnen bekannte Konto.
                    </td>
                  </tr>
                  <tr>
                    <td style="padding-bottom:16px;">
                      Falls die Zahlung bereits erfolgt ist, betrachten Sie dieses Schreiben bitte als gegenstandslos.
                    </td>
                  </tr>
                  <tr>
                    <td style="padding-bottom:32px;">
                      Bei Fragen zur Rechnung oder zur Zahlung stehen wir Ihnen gerne zur Verfügung.
                    </td>
                  </tr>
                  <tr>
                    <td>
                      Mit freundlichen Grüßen<br>
                      <strong>Ihr Abrechnungsteam</strong>
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Footer -->
            <tr><td height="40"></td></tr>
            <tr>
              <td class="mobile-padding" style="padding: 0 12px 0 12px">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top: 1px solid #E0E0E0; padding-top: 20px; font-size: 12px; line-height: 18px; color: #666666;">
                  <tr>
                    <td style="padding-bottom: 16px;">
                      Diese Nachricht wurde automatisch erstellt. Bitte antworten Sie nicht direkt auf diese E-Mail.<br>
                      Bei Rückfragen wenden Sie sich bitte an Ihre bekannte Kontaktperson.
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
          </table>
        </td>
      </tr>
      <tr><td height="10" bgcolor="#EEF2F1"></td></tr>
    </table>
  </body>
</html>

7. Mahnverfahren einleiten

Zweck: Eskalation nach Ablauf der Kulanzfrist. Inhalt: Mahnstatus, Kundeninfo, Rechnung, Link zu CRM & ERP. Bezieht Daten aus:

  • ERP: Mahnstufe, Zahlungsverzug
  • DMS: Rechnung
  • CRM: Ansprechpartner

Slack-Payload

{
  "blocks": [
    {
      "type": "header",
      "text": { "type": "plain_text", "text": "📣 Mahnverfahren einleiten", "emoji": true }
    },
    {
      "type": "section",
      "fields": [
        { "type": "mrkdwn", "text": "*Projekt-ID:*\n{{project_id}}" },
        { "type": "mrkdwn", "text": "*Kunde:*\n{{customer_name}}" },
        { "type": "mrkdwn", "text": "*Rechnungsdatum:*\n{{invoice_date}}" },
        { "type": "mrkdwn", "text": "*Fälligkeit:*\n{{invoice_due_date}}" }
      ]
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "• 🧾 <{{erp_link}}|ERP>\n• 📁 <{{invoice_file_link}}|Rechnung>\n• 👤 <{{crm_link}}|CRM>"
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "To-Dos:\n• Mahnstufe auswählen\n• Schreiben vorbereiten\n• Versand dokumentieren"
      }
    }
  ]
}

Adaptive Card Payload (MS Teams)

{
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "type": "AdaptiveCard",
  "version": "1.4",
  "body": [
    {
      "type": "TextBlock",
      "text": "📣 Mahnverfahren einleiten",
      "weight": "Bolder",
      "size": "Medium",
      "wrap": true
    },
    {
      "type": "FactSet",
      "facts": [
        {
          "title": "Projekt-ID:",
          "value": "{{project_id}}"
        },
        {
          "title": "Kunde:",
          "value": "{{customer_name}}"
        },
        {
          "title": "Rechnungsdatum:",
          "value": "{{invoice_date}}"
        },
        {
          "title": "Fälligkeit:",
          "value": "{{invoice_due_date}}"
        }
      ]
    },
    {
      "type": "TextBlock",
      "text": "• 🧾 [ERP]({{erp_link}})\n• 📁 [Rechnung]({{invoice_file_link}})\n• 👤 [CRM]({{crm_link}})",
      "wrap": true,
      "spacing": "Medium"
    },
    {
      "type": "TextBlock",
      "text": "**To-Dos:**\n• Mahnstufe auswählen\n• Schreiben vorbereiten\n• Versand dokumentieren",
      "wrap": true,
      "spacing": "Medium"
    }
  ]
}

E-Mail Payload (an Kunden)

<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <title>Letzte Zahlungserinnerung – Mahnverfahren</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
      @media screen and (max-width: 600px) {
        .container {
          width: 100% !important;
        }
        .mobile-padding {
          padding-left: 15px !important;
          padding-right: 15px !important;
        }
        .column-row td {
          display: block !important;
          width: 100% !important;
          box-sizing: border-box;
        }
        .column-row td:first-child {
          padding-bottom: 5px;
        }
      }
    </style>
  </head>
  <body style="margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;">
    <table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#FFFFFF">
      <tr><td height="10" bgcolor="#EEF2F1"></td></tr>
      <tr>
        <td align="center">
          <table width="600" cellpadding="0" cellspacing="0" border="0" class="container">
            <!-- Logo -->
            <tr>
              <td align="center" style="padding:26px 0 18px 0;">
                <img src="https://via.placeholder.com/150x50?text=Ihr+Logo" width="150" alt="Ihr Logo" style="display:block;border:0;">
              </td>
            </tr>
            <!-- Warnhinweis -->
            <tr>
              <td align="center" style="padding-bottom:32px;" class="mobile-padding">
                <table cellpadding="0" cellspacing="0" border="0" width="100%">
                  <tr>
                    <td style="border:1px solid #d9534f;background:#fdf2f2;padding:14px 18px;font-size:14px;line-height:20px;color:#a94442;">
                      <strong>Letzte Erinnerung vor Mahnverfahren</strong><br>
                      Die offene Rechnung ist trotz vorheriger Erinnerung weiterhin unbezahlt.
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Haupttitel -->
            <tr>
              <td align="center" style="font-size:18px;font-weight:bold;line-height:26px;padding:0 12px 10px 12px;">
                Einleitung des Mahnverfahrens steht bevor
              </td>
            </tr>
            <!-- Rechnungsinformationen -->
            <tr>
              <td class="mobile-padding" style="padding-bottom:32px;">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="font-size:14px;line-height:22px;">
                  <tr class="column-row">
                    <td width="32%" style="font-weight:bold;">Projekt-ID:</td>
                    <td>{{project_id}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Rechnungsdatum:</td>
                    <td>{{invoice_date}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Fällig seit:</td>
                    <td>{{invoice_due_date}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Offener Betrag:</td>
                    <td>{{invoice_amount}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Rechnung ansehen:</td>
                    <td><a href="{{invoice_file_link}}" style="color:#3366cc;text-decoration:none;">PDF öffnen</a></td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Mahntext -->
            <tr>
              <td class="mobile-padding">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="font-size:14px;line-height:22px;">
                  <tr>
                    <td style="padding-bottom:16px;">
                      Bitte begleichen Sie den offenen Betrag umgehend, spätestens jedoch bis zum <strong>{{payment_final_deadline}}</strong>. Sollte bis dahin kein Zahlungseingang erfolgen, sehen wir uns gezwungen, das gesetzliche Mahnverfahren einzuleiten.
                    </td>
                  </tr>
                  <tr>
                    <td style="padding-bottom:16px;">
                      Um zusätzliche Kosten und weitere rechtliche Schritte zu vermeiden, bitten wir Sie, die Überweisung fristgerecht vorzunehmen.
                    </td>
                  </tr>
                  <tr>
                    <td style="padding-bottom:32px;">
                      Wenn Sie Fragen zur Rechnung oder zur Zahlung haben, wenden Sie sich bitte umgehend an uns.
                    </td>
                  </tr>
                  <tr>
                    <td>
                      Mit freundlichen Grüßen<br>
                      <strong>Ihre Buchhaltung</strong>
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Footer -->
            <tr><td height="40"></td></tr>
            <tr>
              <td class="mobile-padding" style="padding: 0 12px 0 12px">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top: 1px solid #E0E0E0; padding-top: 20px; font-size: 12px; line-height: 18px; color: #666666;">
                  <tr>
                    <td style="padding-bottom: 16px;">
                      Diese E-Mail wurde automatisch erstellt. Bitte antworten Sie nicht direkt darauf.<br>
                      Bei Rückfragen wenden Sie sich bitte an Ihre bekannte Kontaktperson oder Buchhaltung.
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
          </table>
        </td>
      </tr>
      <tr><td height="10" bgcolor="#EEF2F1"></td></tr>
    </table>
  </body>
</html>

8. Zahlung eingegangen

Zweck: Buchhalterische Rückmeldung an Projektteam, ggf. Abschluss vorbereiten. Inhalt: Zahlungseingangsdatum, Betrag, Links zu ERP, Rechnung, CRM. Bezieht Daten aus:

  • ERP/FiBu: Zahlungseingang
  • DMS: Rechnung zur Ablage
  • CRM: Projektstatus aktualisieren

Slack-Payload

{
  "blocks": [
    {
      "type": "header",
      "text": { "type": "plain_text", "text": "💰 Zahlung eingegangen", "emoji": true }
    },
    {
      "type": "section",
      "fields": [
        { "type": "mrkdwn", "text": "*Projekt:*\n{{project_name}}" },
        { "type": "mrkdwn", "text": "*Kunde:*\n{{customer_name}}" },
        { "type": "mrkdwn", "text": "*Zahlungseingang:*\n{{payment_date}}" },
        { "type": "mrkdwn", "text": "*Rechnungsbetrag:*\n{{invoice_amount}}" }
      ]
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "• 🧾 <{{erp_link}}|ERP-Projekt>\n• 📁 <{{invoice_file_link}}|Rechnung>\n• 👤 <{{crm_link}}|CRM-Eintrag>"
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "Nachbereitung:\n1. Abschluss prüfen\n2. Feedback einholen\n3. Doku archivieren"
      }
    }
  ]
}

Adaptive Card Payload (MS Teams)

{
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "type": "AdaptiveCard",
  "version": "1.4",
  "body": [
    {
      "type": "TextBlock",
      "text": "💰 Zahlung eingegangen",
      "weight": "Bolder",
      "size": "Medium",
      "wrap": true
    },
    {
      "type": "FactSet",
      "facts": [
        {
          "title": "Projekt:",
          "value": "{{project_name}}"
        },
        {
          "title": "Kunde:",
          "value": "{{customer_name}}"
        },
        {
          "title": "Zahlungseingang:",
          "value": "{{payment_date}}"
        },
        {
          "title": "Rechnungsbetrag:",
          "value": "{{invoice_amount}}"
        }
      ]
    },
    {
      "type": "TextBlock",
      "text": "• 🧾 [ERP-Projekt]({{erp_link}})\n• 📁 [Rechnung]({{invoice_file_link}})\n• 👤 [CRM-Eintrag]({{crm_link}})",
      "wrap": true,
      "spacing": "Medium"
    },
    {
      "type": "TextBlock",
      "text": "**Nachbereitung:**\n1. Abschluss prüfen\n2. Feedback einholen\n3. Doku archivieren",
      "wrap": true,
      "spacing": "Medium"
    }
  ]
}

E-Mail Payload (an Kunden)

<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <title>Vielen Dank – Projekt abgeschlossen</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
      @media screen and (max-width: 600px) {
        .container {
          width: 100% !important;
        }
        .mobile-padding {
          padding-left: 15px !important;
          padding-right: 15px !important;
        }
        .column-row td {
          display: block !important;
          width: 100% !important;
          box-sizing: border-box;
        }
        .column-row td:first-child {
          padding-bottom: 5px;
        }
      }
    </style>
  </head>
  <body style="margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;">
    <table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#FFFFFF">
      <tr><td height="10" bgcolor="#EEF2F1"></td></tr>
      <tr>
        <td align="center">
          <table width="600" cellpadding="0" cellspacing="0" border="0" class="container">
            <!-- Logo -->
            <tr>
              <td align="center" style="padding:26px 0 18px 0;">
                <img src="https://via.placeholder.com/150x50?text=Ihr+Logo" width="150" alt="Ihr Logo" style="display:block;border:0;">
              </td>
            </tr>
            <!-- Info Box -->
            <tr>
              <td align="center" style="padding-bottom:32px;" class="mobile-padding">
                <table cellpadding="0" cellspacing="0" border="0" width="100%">
                  <tr>
                    <td style="border:1px solid #C5D3E1;background:#eef4fa;padding:14px 18px;font-size:14px;line-height:20px;">
                      <strong>Vielen Dank für Ihre Zahlung</strong><br>
                      Das Projekt wurde erfolgreich abgeschlossen.
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Titel -->
            <tr>
              <td align="center" style="font-size:18px;font-weight:bold;line-height:26px;padding:0 12px 10px 12px;">
                Abschluss & nächste Schritte
              </td>
            </tr>
            <!-- Projektdetails -->
            <tr>
              <td class="mobile-padding" style="padding-bottom:32px;">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="font-size:14px;line-height:22px;">
                  <tr class="column-row">
                    <td width="32%" style="font-weight:bold;">Projekt:</td>
                    <td>{{project_name}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Kunde:</td>
                    <td>{{customer_name}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Rechnungsbetrag:</td>
                    <td>{{invoice_amount}}</td>
                  </tr>
                  <tr class="column-row">
                    <td style="font-weight:bold;">Zahlungseingang:</td>
                    <td>{{payment_date}}</td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Nächste Schritte -->
            <tr>
              <td class="mobile-padding">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="font-size:14px;line-height:22px;">
                  <tr>
                    <td style="padding-bottom:16px;">
                      Wir bedanken uns herzlich für die erfolgreiche Zusammenarbeit und die fristgerechte Zahlung.
                    </td>
                  </tr>
                  <tr>
                    <td style="padding-bottom:16px;">
                      <strong>Folgende Schritte erfolgen nun:</strong>
                      <ul style="margin-top:8px; padding-left:20px;">
                        <li>Abschlussdokumentation wird archiviert</li>
                        <li>Feedback zur Zusammenarbeit kann gerne eingereicht werden</li>
                        <li>Projekt wird im System final geschlossen</li>
                      </ul>
                    </td>
                  </tr>
                  <tr>
                    <td style="padding-bottom:32px;">
                      Bei Rückfragen oder Folgeprojekten stehen wir Ihnen jederzeit gerne zur Verfügung.
                    </td>
                  </tr>
                  <tr>
                    <td>
                      Mit freundlichen Grüßen<br>
                      <strong>Ihr Projektteam</strong>
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
            <!-- Footer -->
            <tr><td height="40"></td></tr>
            <tr>
              <td class="mobile-padding" style="padding: 0 12px 0 12px">
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-top: 1px solid #E0E0E0; padding-top: 20px; font-size: 12px; line-height: 18px; color: #666666;">
                  <tr>
                    <td style="padding-bottom: 16px;">
                      Diese Nachricht wurde automatisch erstellt. Bitte antworten Sie nicht direkt darauf.<br>
                      Für weitere Informationen wenden Sie sich bitte an Ihre Ansprechpartnerin oder Ihren Ansprechpartner.
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
          </table>
        </td>
      </tr>
      <tr><td height="10" bgcolor="#EEF2F1"></td></tr>
    </table>
  </body>
</html>


Fazit: Was bringt’s?

  • Transparenz: Alle Abteilungen und alle Kunden sind zu jedem Zeitpunkt informiert, ohne Ticketsysteme oder Nachfragen.
  • Klarheit: Kundenprozesse sind nachvollziehbar und sauber dokumentiert.
  • Reaktionsgeschwindigkeit: Kein Projekt bleibt liegen, weil "niemand Bescheid wusste".

Gerade KMU profitieren massiv von diesem Ansatz: ohne komplexes Systeme, aber mit maximalem Effekt.

Mit freundlicher Effizienz,

Deine Schaffer von SCHAFFSCH

Diesen Beitrag teilen