Chasing invoices is one of the most universally disliked jobs in any business, and one of the easiest to automate well. It is also the automation I am asked for most often.
This is the full workflow, stage by stage, with the safeguards that keep it from embarrassing you.
The workflow in one picture
| Stage | What happens | Human involved? |
|---|---|---|
| Trigger | A project is marked complete, or a billing date arrives | Only to mark complete |
| Generate | Invoice built from your records, as a PDF | No |
| Send | Emailed to the client with a payment link | Approval above a set amount |
| Track | Payment status watched automatically | No |
| Remind | Polite nudges on a schedule | Escalation only |
| Close | Payment confirmed, receipt sent, record updated | No |
Step 1: the trigger
Decide what makes an invoice exist, and make that one event the only trigger. For project work it is usually "status changed to complete" in your project tool or a column in a sheet. For retainers it is a date.
The common mistake is having several things able to create an invoice. Pick one source of truth, otherwise you will eventually bill the same job twice.
Step 2: generate and send
Pull the client, line items, amounts and tax from your records and fill a template. Generate a PDF, give it a unique invoice number, and email it with a clear subject line and a payment link.
- Unique numbering assigned by the system, never typed.
- The payment link in the email body, not only the PDF. Every extra click costs you money.
- The due date stated plainly, in the message as well as on the document.
- A saved copy in a folder or database, so you can always find it.
Step 3: track payment
This is where automation pays for itself. Instead of someone checking a bank app, let the payment provider tell your workflow. Providers such as Stripe, Paystack and Flutterwave can send a notification the moment a payment succeeds, which your workflow receives as a webhook.
When it arrives, the workflow finds the matching invoice and marks it paid. For bank transfers with no automatic notice, a reconciliation step matching incoming payments to open invoices by reference or amount does the same job.
Step 4: remind, politely
A schedule that works for most businesses:
- Day before due: a friendly heads-up.
- Day 7 overdue: a polite reminder with the link again.
- Day 14: firmer, referencing the original date.
- Day 21: escalate to a person, who decides what happens next.
This is a good place for a modest amount of AI: drafting the reminder in a tone that suits that client and mentions the specific invoice. Keep the facts, amount, date and number, filled from your records rather than generated, so the model only adjusts the wording.
Step 5: confirm and file
On payment, send a receipt, update the invoice status, record the payment date and amount, and push the entry to your accounting tool if you use one. Stop all pending reminders immediately. Few things damage a client relationship faster than a "your invoice is overdue" email arriving after they have paid.
The safeguards that matter
Idempotency
Networks retry. A webhook can arrive twice. If your workflow is not built for that, the client gets two receipts or, worse, is charged twice. Record the ID of every event you process and ignore repeats. This is one of the nine failure patterns in 9 AI automation mistakes that kill projects.
Validation
Before sending, check that the total equals the sum of the lines, the client has a valid email address, and the amount is within a plausible range for that client. Fail loudly and send the problem to a person.
An approval threshold
Let small, routine invoices go straight out. Hold anything above an amount you choose, or to a new client, for a one-click approval.
Monitoring
If the workflow fails silently, invoices simply stop going out and nobody notices for a month. Alert a channel you actually watch on any failure, and send a periodic heartbeat so silence itself is a signal.
Your accounts, your data
Build it on your own accounts and keep documentation. A system only its builder can open is a dependency, not an asset.
For the payback maths on a project like this, see what AI automation actually costs, and for more ideas in the same family, 18 AI automation ideas that save 20+ hours a week.
Built with the safeguards above, this is a quiet, dependable system. Invoices go out the day work finishes, reminders happen without anyone feeling awkward, and the only time a person gets involved is the day-21 case that genuinely needs one.