feat(email): split invoice email into paid/unpaid variants
Persist paymentStatus on the Invoice at generation time and use it at send
time to pick the default email body. Paid orders (paid/refunded/voided) now
get a body without the bank-transfer reference hint; outstanding orders keep
it. Custom merchant templates still override the defaults for both cases.
- Add Invoice.paymentStatus column + migration
- Split DEFAULT_EMAIL_BODY_{DE,EN} into _PAID/_UNPAID variants
- Persist paymentStatus in generateInvoice; select default in email.server
- Document behaviour on the settings page
- Add email-templates test (paid omits hint, unpaid keeps it)
This commit is contained in:
@@ -421,7 +421,12 @@ export default function SettingsRoute() {
|
||||
<s-stack direction="block" gap="base">
|
||||
<s-paragraph>
|
||||
These templates are used when sending the invoice PDF by email.
|
||||
Leave a field empty to fall back to the built-in default.
|
||||
Leave a field empty to fall back to the built-in default. The
|
||||
built-in default has two variants per language: orders that are
|
||||
already paid are sent a body <em>without</em> the bank-transfer
|
||||
reference hint, while outstanding (unpaid) orders include it.
|
||||
A custom template you set here is used for both paid and unpaid
|
||||
orders — the editor below shows the unpaid default.
|
||||
</s-paragraph>
|
||||
|
||||
<Field
|
||||
|
||||
Reference in New Issue
Block a user