Electuni · niloy@electuni.com
Reminders stop automatically when the balance reaches zero, and pause if the client replies. These steps apply to every invoice unless a client or invoice overrides them.
| Step | Offset | Tone | Subject line |
|---|---|---|---|
| #1 Heads-up | -3 days | Notice | A note about invoice {{invoice.number}} |
| #2 Due today | due date | Notice | Invoice {{invoice.number}} is due today |
| #3 Follow-up | +7 days | Follow-up | Invoice {{invoice.number}} — {{invoice.balance}} outstanding |
| #4 Second notice | +21 days | Firm | Second notice — invoice {{invoice.number}} |
| #5 Final notice | +35 days | Final notice | Final notice — invoice {{invoice.number}} |
| ⌘K | Command palette — search clients, invoices, projects; run actions |
| g then d / c / p / i / e / r | Go to Dashboard, Clients, Projects, Invoices, Emails, Reminders |
| / | Focus search in the current list |
| j / k | Move the row selection, or step records inside a drawer |
| Enter | Open the focused row |
| x | Toggle the focused row's checkbox |
| r | Send a reminder on the focused invoice |
| Esc | Close the drawer or modal, then clear the selection |
| ⌘Enter | Submit the open drawer or modal |
This build runs on mock fixtures. Wire these to real services by replacing the data layer in lib/store.ts.