E-Mail-Templates
[admin] [email-templates] [i18n] [einstellungen]
licensio versendet im Namen des Tenants automatische E-Mails an Kunden — Aktivierung, Willkommen, Kündigung und mehr. Jeder dieser Text-Bausteine ist ein Template, das du anpassen kannst. Ohne Anpassung greift der mehrsprachige Default (Deutsch oder Englisch, je nach Tenant-Sprache).
Für wen
Tenant-Admins, die die Tonalität ihrer Kunden-Kommunikation steuern wollen.
Wo finde ich die Templates?
Einstellungen → E-Mail Vorlagen (Pfad: /settings/emails)
Im Editor wählst du oben den Template-Slot, bearbeitest Subject + Body, und kannst rechts die verfügbaren Variablen aus einer Liste übernehmen.
Die 9 Template-Slots
Jeder Slot wird zu einem klar definierten Ereignis ausgelöst:
activation— Kunde wurde vom Tenant manuell freigeschaltet. Versendet vom Admin-Action "Aktivieren".welcome— Self-Service-Registrierung über das Widget oder/join. Bestätigt Kontoerstellung, weist auf nötige Freischaltung hin.payment_reminder— Stripe-Zahlung schlug fehl. Aufforderung, Zahlungsmethode zu prüfen.cancellation— Kunde hat gekündigt. Bestätigt das Kündigungsdatum.cancellation_withdraw— Kündigung wurde vor Ablauf zurückgezogen.rejection— Tenant lehnt eine Registrierung ab.email_change_old— Kunde ändert die Login-Email. Benachrichtigt die alte Adresse als Sicherheits-Notiz.email_change_new— Kunde ändert die Login-Email. Sendet Setup-Link an die neue Adresse.interval_change— Abrechnungsintervall wurde geändert (z.B. monatlich → jährlich).
Verfügbare Variablen
Variablen werden im Template als {{variable_name}} geschrieben und beim Versand ersetzt. Heutige Variablen-Namen sind historisch teilweise gemischt-sprachig (kunde_firma, kundennummer) — eine Refactor-Migration auf neutrale englische Namen (customer_name, customer_number) ist im Backlog.
In allen Slots verfügbar:
{{tenant_name}}— Name deines Unternehmens{{kunde_firma}}— Firmenname (oder Nachname) des Kunden{{kundennummer}}— Automatisch generierte Kundennummer (z.B. PT-2026-0042){{support_email}}— Support-Adresse deines Tenants
Slot-spezifisch:
{{cancellation_date}}— nur incancellation{{portal_link}}— nur inpayment_reminder{{old_email}}/{{new_email}}— nur inemail_change_old{{reset_url}}— nur inemail_change_new{{new_interval}}— nur ininterval_change
Mehrsprachigkeit
Die Defaults existieren in Deutsch (de) und Englisch (en). Welche Sprache greift, entscheidet tenants.settings.default_locale (konfigurierbar unter Erweiterte Einstellungen → Sprache & Region). Wenn keine default_locale gesetzt ist, fällt das System auf de zurück — schützt Live-Tenants ohne Migration.
Wenn du ein eigenes Template hinterlegst, wird dein Text in jeder Sprache verwendet. Die Templates sind heute nicht pro Sprache pflegbar — Multi-Locale-Templates kommen mit Phase 5 (Multi-Locale Foundation für FR/ES/IT).
Override-Regeln
- Fehlt das Custom-Template komplett: Default-Sprache aus
default_localegreift. - Custom-Subject gesetzt, Body leer: Default-Body wird verwendet, dein Subject gewinnt (oder umgekehrt). Beide Felder werden unabhängig gemerged.
- Variablen werden nach dem Merge ersetzt — du kannst also einen Default-Body lassen und nur dein Subject anpassen, ohne Variablen-Konsistenz prüfen zu müssen.
Test-Versand
Im Editor gibt es einen "Test senden"-Button — schickt das aktuell bearbeitete Template an deine Login-Adresse, mit Platzhalter-Werten für alle Variablen.
Wann werden Änderungen wirksam?
Sofort. Die nächste E-Mail, die nach dem Speichern für den jeweiligen Slot rausgeht, nutzt dein Template. Bereits versendete E-Mails sind nicht betroffen.
Migrierte Email-Routen (Stand 2026-05-28)
Sieben Versand-Routen lesen heute aus diesem Template-System (statt hardcoded HTML-Bodies):
- Admin:
activate,cancel(Tenant kündigt),change-email(alt + neu = 2 Versände),reject(Registrierung ablehnen),register(Welcome bei Self-Service) - Portal:
cancel-subscription(Kunde kündigt selbst),cancel-subscription/withdraw,change-interval
Drei weitere Routen warten noch auf Migration (Stripe-Webhook-Sprint).
Variablen sauber halten
Wenn du Variablen entfernst (z.B. {{kundennummer}} aus dem Welcome-Template löschst), wird die Variable einfach nicht ersetzt — die E-Mail enthält dann eine leere Stelle, kein Fehler. Wenn du eine Variable einbaust, die für diesen Slot nicht definiert ist (z.B. {{cancellation_date}} im Welcome-Slot), wird sie ebenfalls leer ersetzt.
Verwandt
- Mehrsprachigkeit (i18n) — Tenant-Locale-Setting, locale-aware Datums-/Zahlen-Formate
- E-Mail-Benachrichtigungen — wann erhältst du als Tenant-Admin Hinweise (andere Funktion)
- Einstellungen-Übersicht