Email templates (TenaBill)
Edit the subject and HTML body for customer notification emails. Templates use Scriban placeholders; a shared layout wraps your content with logo, colors, and footer at send time.
Console: TenaBill merchant console → Settings → Branding → Templates (/settings/email-templates)
Before you edit templates
Set visual branding on the Branding tab first:
- Logo URL — header image in every email
- Primary color — CTA button background
- Support email — footer contact line
- Sender — from name, local part, and optional custom domain (SendGrid)
Branding values are available as {{ brand.logo_url }} and {{ brand.primary_color }} in templates.
Workflow
- Select a category in the left nav (Portal or Invoices).
- Edit Subject template and HTML body template.
- Save draft — stores a working copy without affecting live sends.
- Preview — renders with sample fixture data (subject + HTML in a modal).
- Publish — promotes the draft; customer emails use the published version.
Published version and draft status appear as badges on the editor.
Enable or disable a category
Use Send this notification on each category. When disabled, sends for that category are skipped (logged as email.skipped.disabled). Use this to pause reminders or portal links without deleting templates.
Categories
Portal — magic link (portal.magic_link)
Sent when a customer requests access to the billing portal.
| Variable | Description |
|---|---|
{{ merchant.display_name }} | Your merchant display name |
{{ magic_link }} | One-time portal sign-in URL |
{{ lifetime_minutes }} | Link expiry in minutes |
{{ brand.logo_url }} | Header logo from branding |
{{ brand.primary_color }} | CTA button color from branding |
Invoices — payment reminder (invoice.payment_reminder)
Sent when you or dunning triggers a payment reminder for an open invoice.
| Variable | Description |
|---|---|
{{ merchant.display_name }} | Your merchant display name |
{{ invoice.number }} | Invoice number |
{{ invoice.formatted_amount }} | Amount with currency |
{{ invoice.due_date }} | Due date text |
{{ pay_now_url }} | Hosted checkout URL |
{{ brand.logo_url }} | Header logo from branding |
{{ brand.primary_color }} | CTA button color from branding |
Layout and HTML rules
- Edit inner content only — the console applies the branded wrapper (logo bar, CTA styles, powered-by footer) automatically.
- Use simple HTML: paragraphs, links, lists, emphasis. No JavaScript or external stylesheets.
- Images must use
https://URLs.
App-branded merchants (VectraLabel, etc.)
ISV apps provision a TenaBill merchant for customer email. TenancyEngine Application → Email & notifications links here to edit templates for that merchant.
Related
- Canonical spec: EMAIL-TEMPLATES-AND-BRANDING.md
- Platform operator invites: Platform email templates