Stop being the one who has to ask for the money.
Log an invoice once. A day or two after it’s due, a reminder goes out automatically (gentle at first, firmer if it stays unpaid) until you mark it settled.
Some setup. The guide walks you through it.
- Price
- $49 · once
- Inside
- 13 files, source + README
- Tests
- 27 automated
- Needs
- Python 3.9+

Rather have us set it up? Done for you, $499, live in 5 business days. Request setup →
Real source code, yours to keep · Secure Stripe checkout · Works alongside any invoicing tool you already use
This is the ZIP.
Every file, before you pay.
- Files
- 13 files in one ZIP
- Tests
- 27 automated tests
- Guide
- Setup README included
- Payment
- One payment, ever
- You need
- Runs on Mac, Windows or Linux with Python 3.9 or newer (free). On a Mac your passwords stay in the keychain; on Windows and Linux, in an environment variable. Never in a file.
Invoice-Chaser-Kit.zipSee all 13 files
- businesses/1 file
- example-studio.json
- src/5 files
- cli.py
- creds.py
- engine.py
- send.py
- + 1 more
- tests/5 files
- test_cli.py
- test_creds.py
- test_engine.py
- test_send.py
- + 1 more
- README.md
- requirements-dev.txt
The full fileWhat it does, every part, and questions
The follow-up you keep meaning to send
Log it once, forget it. `add-invoice` takes thirty seconds when you send the bill; the kit remembers to follow up so you don't have to.
Escalates automatically. Gentle at day 3, firmer at day 7, final notice at day 14: configurable tiers, distinct tone for each.
Never nags twice for the same tier. Once a reminder tier goes out, it's marked. No accidental double-sends.
Stops the instant it's paid. `mark-paid` ends the chase for that invoice, permanently.
Works alongside any invoicing tool. This isn't a replacement for how you bill. It's the follow-up you keep meaning to send.
Fails loud, not silent. If your email isn't configured, it tells you exactly which invoice didn't go out.
A small, tested engine, not a platform
Real Python source. Bring your own email account, edit one config file, run the tests, put one line in cron.
- CLI
Three commands
`add-invoice` logs it. `mark-paid` stops it. `run-due` sends whatever's ready. That's the entire workflow.
- ESCALATION
Three tiers, one habit
Default 3/7/14 days overdue, each with its own tone, friendly reminder to final notice. Fully configurable per business.
- EMAIL
SMTP, any provider
Gmail with an app password, or any SMTP account you already have. No new service to sign up for.
- SMART
Jumps to the right tone
An invoice 20 days overdue with nothing sent yet gets the Final Notice, not a belated gentle nudge from three weeks ago.
- SAFE BY DEFAULT
Dry-run first
`run-due` without `--send` shows exactly what would go out and to whom, before anything actually sends.
- TESTED
27 automated tests
Escalation logic, idempotent tier tracking, credential fail-closed behavior, and a real end-to-end CLI run.
For anyone who’s ever let an unpaid invoice slide
- Freelancers and solo operators using any invoicing tool
- Small agencies without a dedicated bookkeeper chasing payment
- Anyone who's felt awkward asking a client to just pay the bill
- Owners comfortable running a terminal command and a cron job
Not a full invoicing platform. It doesn’t generate invoices or take payments. It follows up on the ones you’ve already sent.
Straight answers
- Does this replace my invoicing tool?
- No. This is a companion, not a replacement. Keep sending invoices however you already do (including SoloInvoice, if you use it); this kit just handles the follow-up you'd otherwise have to remember yourself.
- Do I need to know how to code?
- You need to be comfortable running terminal commands and editing one config file. The README walks through setup, plus wiring a daily cron job so run-due --send fires on its own.
- What does it cost to run?
- Essentially free. It uses an SMTP account you likely already have (Gmail, or any provider).
- Will this annoy my clients?
- Each invoice gets at most one reminder per tier: three total, at most, spread across two weeks. There's no daily nagging built in on purpose.
- What happens after I buy?
- Your success page unlocks an instant ZIP download: full source, the full test suite, and a setup README with a worked example.
Own it: download once, yours permanently. No subscription required.
All sales final · fixed or refunded if it doesn't work as described · instant download · Refund policy
You’re responsible for your own email account and compliance with CAN-SPAM and applicable regulations for collections correspondence in your jurisdiction.