feat: invoice due date email alerts, add favicon

- Daily cron (8:00 AM) checks created and received invoices
- Alerts 3 days before due date and on due date
- Summary email to INVOICE_ALERT_EMAIL with grouped tables
- Tracks sent alerts in invoice_alert_log to prevent duplicates
- node-cron scheduler runs inside the app process
- Favicon files copied from PHP project

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
BOHA
2026-03-26 11:02:22 +01:00
parent baceb88347
commit 30278a9642
11 changed files with 311 additions and 17 deletions

View File

@@ -177,6 +177,21 @@ async function start() {
});
}
// --- Invoice alert cron (daily at 8:00 AM) ---
if (config.email.invoiceAlert) {
const cron = await import("node-cron");
cron.default.schedule("0 8 * * *", async () => {
try {
const { checkInvoiceAlerts } =
await import("./services/invoice-alerts");
await checkInvoiceAlerts();
} catch (err) {
app.log.error(err, "Invoice alert cron failed");
}
});
console.log("Invoice alert cron scheduled (daily 8:00)");
}
// --- Start ---
const port = config.isProduction ? config.port : 3000;
try {