feat(invoices): expose the automatic reminder kill switch in settings (#1476)

* feat(invoices): expose the automatic reminder kill switch in settings

The send_invoice_reminders column, API schema, and cron processor check
already existed, but no UI ever exposed the toggle. Add a switch in
Settings -> Fakturering (day thresholds fold away when off, values
preserved), and make the invoice detail Paminnelser card say reminders
are off instead of promising emails that will never be sent.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(invoices): do not assume reminders enabled before settings load

CodeRabbit finding on PR 1476: with no company_settings row loaded, the
Paminnelser card defaulted to promising the reminder schedule. Track the
toggle as boolean | null and render no schedule text until the settings
row has actually resolved.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Mattsson
2026-08-10 11:24:15 +02:00
committed by GitHub
co-authored by Claude Fable 5
parent 741cdcc60e
commit d4b0bd3df1
5 changed files with 81 additions and 48 deletions
+3
View File
@@ -1935,6 +1935,8 @@
"default_notes_help": "Suggested automatically for new invoices.",
"reminder_days_heading": "Automatic reminders",
"reminder_days_help": "Choose how many days after the due date each reminder is sent. The days must be in ascending order.",
"send_reminders_label": "Send automatic reminders",
"send_reminders_help": "When off, no automatic reminder emails are sent to customers with overdue invoices.",
"reminder_days_level_1": "First reminder (days)",
"reminder_days_level_2": "Second reminder (days)",
"reminder_days_level_3": "Final reminder (days)"
@@ -3502,6 +3504,7 @@
"payment_status_empty": "No payments recorded yet.",
"reminders_card_title": "Reminders",
"reminders_description": "Automatic reminders are sent when the invoice is {day1}, {day2} and {day3} days overdue",
"reminders_disabled": "Automatic reminders are turned off in settings.",
"reminders_empty": "No reminders have been sent yet.",
"reminder_level_label": "Level {level}",
"reminder_level_1": "Friendly reminder",
+3
View File
@@ -1935,6 +1935,8 @@
"default_notes_help": "Föreslås automatiskt vid ny faktura.",
"reminder_days_heading": "Automatiska påminnelser",
"reminder_days_help": "Ange hur många dagar efter förfallodatum varje påminnelse skickas. Dagarna måste vara i stigande ordning.",
"send_reminders_label": "Skicka automatiska påminnelser",
"send_reminders_help": "När detta är avstängt skickas inga automatiska påminnelsemejl till kunder med förfallna fakturor.",
"reminder_days_level_1": "Första påminnelsen (dagar)",
"reminder_days_level_2": "Andra påminnelsen (dagar)",
"reminder_days_level_3": "Slutlig påminnelse (dagar)"
@@ -3502,6 +3504,7 @@
"payment_status_empty": "Inga registrerade betalningar ännu.",
"reminders_card_title": "Påminnelser",
"reminders_description": "Automatiska påminnelser skickas när fakturan varit förfallen i {day1}, {day2} och {day3} dagar",
"reminders_disabled": "Automatiska påminnelser är avstängda i inställningarna.",
"reminders_empty": "Inga påminnelser har skickats ännu.",
"reminder_level_label": "Nivå {level}",
"reminder_level_1": "Vänlig påminnelse",