Zum Hauptinhalt springen

E-Mail-Templates

[admin] [email-templates] [i18n] [einstellungen]

licensio versendet im Namen des Anbieter 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 Anbieter-Sprache).

Für wen​

Anbieter-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 10 Template-Slots​

Jeder Slot wird zu einem klar definierten Ereignis ausgelöst:

  • activation — Kunde wurde vom Anbieter 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 — eine wiederkehrende Zahlung schlug fehl. Aufforderung, die Zahlungsmethode zu prüfen (enthält {{portal_link}}).
  • payment_request — für den Zugang des Kunden wurde eine Rechnung erstellt ("Rechnung erhalten"). Bittet, sie innerhalb von 14 Tagen über einen sicheren Link zu begleichen (Karte oder SEPA-Lastschrift); der Zugang wird nach Zahlung automatisch freigeschaltet. Enthält {{payment_link}}.
  • cancellation — Kunde hat gekündigt. Bestätigt das Kündigungsdatum.
  • cancellation_withdraw — Kündigung wurde vor Ablauf zurückgezogen.
  • rejection — Anbieter 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 Anbieter

Slot-spezifisch:

  • {{cancellation_date}} — nur in cancellation
  • {{portal_link}} — nur in payment_reminder
  • {{payment_link}} — nur in payment_request (sicherer Hosted-Invoice-Link, 14-Tage-Frist)
  • {{old_email}} / {{new_email}} — nur in email_change_old
  • {{reset_url}} — nur in email_change_new
  • {{new_interval}} — nur in interval_change

Mehrsprachigkeit​

Die Defaults existieren in Deutsch (de) und Englisch (en). In welcher Sprache eine Kunden-Mail rausgeht, löst resolveCustomerLanguage auf: die im Portal gewählte Sprache des Kunden (customers.preferred_language) gewinnt; ohne gespeicherte Wahl die Portalsprache des Anbieters (tenants.settings.default_locale, konfigurierbar unter Erweiterte Einstellungen → Sprache & Region). Ist auch die nicht gesetzt, entscheidet das Land: Anbieter in DE/AT bekommen Deutsch, jedes andere Land Englisch. Plant Technology (Land DE, keine explizite default_locale) bleibt also deutsch, ein Nicht-DE-Anbieter wird standardmäßig englisch.

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_locale greift.
  • 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.

Welche Versand-Routen die Templates nutzen​

Transaktionale Kunden-Mails werden aus diesem Template-System gerendert (statt hardcoded HTML-Bodies), darunter:

  • Admin: Kunden-Freischaltung (activate) und die B2B-Rechnungs-Mail (payment_request, inkl. resend-payment-link), Anbieter-Kündigung (cancel), Email-Wechsel (alt + neu = 2 Versände), Registrierungs-Ablehnung (reject), die Welcome-/Einladungs-Mail.
  • Portal: Self-Service-Kündigung (cancel-subscription), Kündigungs-Rückzug (cancel-subscription/withdraw), Intervall-Wechsel (change-interval).

Einige Routen (vor allem die Stripe-Webhook-Mails) nutzen noch das ältere Muster und werden in einem eigenen Sprint migriert.

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​