Invoice Email Template for B2B, SaaS, and Subscriptions

An invoice email is a record-delivery message. The recipient should be able to understand the charge and find the official invoice without opening a marketing page.
Required fields
| Field | Why it matters | Fallback |
|---|---|---|
| Issuer name | Establishes who is billing | Registered business name |
| Customer or account | Prevents confusion for teams with several accounts | Account name |
| Invoice number | Supports finance reconciliation | Never omit |
| Issue and due dates | Defines the payment window | Use the invoice system’s timezone |
| Subtotal, tax, total, currency | Explains the amount | Use formatted values from billing |
| Payment status | Prevents paying a settled invoice | Current status at send time |
| PDF or invoice URL | Provides a durable record | Secure authenticated link |
| Support contact | Routes disputes | Billing mailbox or portal |
Generate the email from the finalized invoice object. Do not calculate totals in the template.
Template
Subject: Invoice {{invoice_number}} from {{company_name}} — {{total_amount}}
Preheader: Due {{due_date}}.
Hello {{billing_contact_name}},
Your invoice from {{company_name}} is ready.
| Invoice | Details |
|---|---|
| Number | {{invoice_number}} |
| Issued | {{issue_date}} |
| Due | {{due_date}} |
| Total | {{total_amount}} |
[View invoice] [Download PDF]
{{payment_instruction}}
Questions about this invoice? Contact {{billing_support_email}} and include invoice {{invoice_number}}.
{{company_name}}
Status-specific variants
Do not send the same sentence for every state:
- Open: “Payment is due on {{due_date}}.”
- Paid: “Payment received on {{paid_date}}. Keep this email for your records.”
- Void: “This invoice has been voided. No payment is due.”
- Past due: link to the overdue flow, not the original invoice copy.
- Credit or refund: show the credit clearly and explain how it is applied.
Delivery and security
Use a stable sender identity and a secure link that checks authorization. Avoid attaching an invoice containing sensitive information if your policy requires portal access. If you attach a PDF, make the email useful without exposing more data than necessary.
The send should be idempotent on invoice ID and status. A retry after a timeout must not create duplicate “new invoice” messages.
QA checklist
- Total, currency, tax, and dates match the source invoice.
- A paid invoice cannot be sent as unpaid.
- The recipient sees the correct account and legal entity.
- The PDF and portal link are authorized and mobile-friendly.
- The invoice number is searchable in the subject and body.
- Locale formatting is correct.
Use the overdue invoice template for collection follow-up and the subscription invoice template for recurring charges.
B2B details that prevent back-and-forth
For business customers, include the legal entity, billing address, tax or VAT identifier when required, purchase-order reference, and payment terms. Do not guess which fields are legally required in a customer’s jurisdiction; render them from the invoice system and have finance approve the document.
If a purchase order is missing or invalid, route to the billing owner rather than sending a generic “pay now” reminder. If several invoices are open, link to an account statement that clearly separates each invoice and status.
Delivery states
An invoice email can be accepted by the mailbox provider while the portal or PDF is unavailable. Queue the message only after the document is durable, and retry the link or attachment separately from the email send. Record the invoice version so a corrected invoice can be delivered as a replacement without pretending the original never existed.
Useful metrics are successful document access, payment completion, invoice-related support volume, and duplicate-send rate.