admin
266a99d4b2
Accounting: recurring bills & journal entries
...
Add accounting.recurring_templates (bill|journal) with a schedule
(frequency/interval/day-of-month/start/end). New generate_due_recurring()
materialises real bills (-> A/P) and journal entries on cadence — catching
up any missed periods — posting through existing triggers. Runs nightly via
pg_cron ('accounting-recurring-daily') and on demand from a new Recurring
page ('Generate due now'). Page lists templates with pause/resume/edit/
delete; create dialog handles both kinds (vendor + line items for bills,
signed balanced lines for journals). Wired into routes + accounting nav.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-14 23:28:43 -04:00
..
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:19:26 -04:00
2026-06-04 17:17:05 -04:00
2026-06-01 20:19:26 -04:00
2026-06-01 20:57:01 -04:00
2026-06-01 21:36:55 -04:00
2026-06-01 21:41:51 -04:00
2026-06-01 22:39:07 -04:00
2026-06-01 23:06:00 -04:00
2026-06-01 23:33:09 -04:00
2026-06-01 23:55:18 -04:00
2026-06-02 01:08:37 -04:00
2026-06-02 01:08:37 -04:00
2026-06-02 01:16:58 -04:00
2026-06-02 02:14:25 -04:00
2026-06-04 10:01:18 -04:00
2026-06-04 10:01:18 -04:00
2026-06-04 10:01:18 -04:00
2026-06-04 10:01:18 -04:00
2026-06-04 10:01:18 -04:00
2026-06-04 10:01:18 -04:00
2026-06-04 18:17:39 -04:00
2026-06-04 12:30:44 -04:00
2026-06-04 12:30:44 -04:00
2026-06-04 13:00:41 -04:00
2026-06-04 18:57:32 -04:00
2026-06-04 13:00:41 -04:00
2026-06-04 13:38:50 -04:00
2026-06-04 17:17:05 -04:00
2026-06-04 17:17:05 -04:00
2026-06-04 17:17:05 -04:00
2026-06-04 17:17:05 -04:00
2026-06-04 20:54:09 -04:00
2026-06-07 12:28:03 -04:00
2026-06-07 13:52:19 -04:00
2026-06-07 20:16:31 -04:00
2026-06-07 20:40:52 -04:00
2026-06-07 21:01:18 -04:00
2026-06-07 21:06:21 -04:00
2026-06-08 14:45:04 -04:00
2026-06-08 14:45:04 -04:00
2026-06-08 17:38:15 -04:00
2026-06-09 22:43:45 -04:00
2026-06-09 16:29:25 -04:00
2026-06-10 22:34:58 -04:00
2026-06-11 23:07:30 -04:00
2026-06-11 23:07:30 -04:00
2026-06-11 22:12:38 -04:00
2026-06-13 10:10:25 -04:00
2026-06-13 10:51:03 -04:00
2026-06-13 12:15:59 -04:00
2026-06-14 23:28:43 -04:00