Demo: Invoice Folder Watcher → Weekly Summary Email Draft
Demonstration project. The invoice files in invoices/ are synthetic.
This is a small, complete example of the "boring automation" tier of our work:
a script that removes a recurring 30-minute manual chore.
The chore it replaces
Every Monday someone opens last week's invoice exports, adds up what went out, checks what got paid, hunts for overdue invoices, and writes a status email. It takes half an hour, it's error-prone, and it silently stops happening when that person is busy — which is exactly when receivables slip.
What the automation does
invoice_watcher.py watches a drop folder where the accounting tool (or a
bookkeeper) exports invoice CSVs.
- Ingests only new/changed files (state in
.seen_files.json— nothing double-counted; a re-exported file with corrections simply supersedes the old rows by invoice number) - Tolerates real-world mess: mixed date formats,
$1,234.56amounts, extra columns - Every Monday (or on demand) writes a ready-to-send email draft: invoices issued and week-over-week movement, payments recorded, total outstanding, and a named, dated overdue follow-up list
- Runs anywhere Python runs;
--watchmode polls the folder,--oncesuits a scheduled task (cron / Task Scheduler)
See the real output of this demo run: outbox/weekly_summary_2026-07-13.md —
note it flagged INV-3107 (fictional Lakeshore Legal Group), $3,150 at 22 days
past due. Drafts are marked for human review before sending; we can wire actual
delivery (Gmail/Outlook/Slack) in a client engagement.
Why it's in the portfolio
Dashboards answer questions; automations delete chores. Most clients who buy a dashboard have three of these chores lying around. They're small fixed-scope builds (typically bundled into our Reporting System package or a Data Care plan), and this one is fully runnable so you can judge the code quality:
python3 invoice_watcher.py --once --as-of 2026-07-20
Files
invoice_watcher.py— the automation (commented, auditable)invoices/*.csv— three synthetic weekly exports, defects includedoutbox/weekly_summary_2026-07-13.md— the generated draft.seen_files.json— ingestion state (created on first run)
Built by Modular Enrichment. AI-assisted delivery, human-QA'd — openly.