Skip to content

Send invoices and payment reminders with editable localized emails - #68

Merged
capaj merged 3 commits into
mainfrom
codex/invoice-email-reminders
Sep 21, 2026
Merged

capaj merged 3 commits into
mainfrom
codex/invoice-email-reminders

Conversation

@capaj

@capaj capaj commented Sep 21, 2026

Copy link
Copy Markdown
Owner

Adds invoice and payment-reminder sending from the invoice detail page through Cloudflare Email Service. The composer defaults to the contact's Czech/English language and lets users edit the recipient, subject, and body or switch the language for that email without changing the contact or invoice. Switching languages asks before replacing edited text.

Emails include a revocable public link for viewing and downloading the invoice PDF, plus a reply-to address for the issuer. The API checks invoice ownership, rejects cancelled invoices and reminders for paid invoices, escapes edited text in HTML, and updates send dates only after delivery is accepted. Failed sends remove the newly created share and retain the draft for retry.

PUBLIC_APP_URL controls the frontend origin in email links; production defaults to https://faktorio.cz. No database migration is required.

Validation:

  • 64 API tests and 36 frontend tests passed.
  • Playwright composer workflow passed with mocked email delivery, including language switching, edit preservation, failed-send retry, and reminders.
  • API/frontend TypeScript checks and targeted lint passed.
  • Wrangler deployment dry run passed. No production deployment or live emails were sent.

Closes #67.

@capaj
capaj merged commit 729c7fa into main Sep 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

send invoice and invoice reminder by email

1 participant