Get paid without spending your evening asking
Every Monday it reads your receivables, drafts a reminder for each past-due invoice with the PDF already attached, and steps up the tone as the debt ages. Including the retainage nobody billed at closeout.
Receivables — Monday morning
9 open
Past due
$74,310
- 2214
Coldbrook Property Co
$18,75063 days - 2231
M. Reyes — basement
$9,40041 days - RET-09
Brennan job — retainage
$21,600unbilled - 2248
Halloway Ave duplex
$12,30022 days - 2259
J. Carrick — bath
$4,4808 days
The retainage line has been sitting there since the job closed out in March.
Works with
- QuickBooks
- Xero
- Gmail
- Outlook
- Google Sheets
It reads your receivables out of QuickBooks or Xero and pulls the invoice PDF straight from there, so what gets attached is the real document rather than something regenerated.
The chore
How this goes right now
You know roughly who owes you. You could name the two worst ones without looking. What you couldn't tell me is the total, or which of them crossed sixty days last week, because that would mean opening QuickBooks on a Sunday night and you have done enough for one week.
So the chasing happens in bursts, usually when something else forces it — a supplier wants paying, or payroll is Thursday and the numbers are tight. Then you fire off four apologetic emails in ten minutes, all in the same tone, none of them attached to the actual invoice, and you feel like the bad guy for asking to be paid for work you finished in March.
And underneath all of it is the retainage. Five or ten per cent of a job you completed months ago, held back until closeout, which you never invoiced because closeout wasn't a day, it was a slow fade of punch list items. Nobody is refusing to pay it. Nobody has been asked.
The difference
Chasing in bursts versus chasing on a rhythm
Try it
Walk through it yourself
This is the actual shape of the workflow — the same trigger, the same steps, the same draft waiting for your say-so. Click through it.
Chase unpaid invoices
Monday receivables check
Reads the aged receivables report. Nine open invoices, four of them past due, and one retainage line still unbilled since March.
What it does
Pull the aged receivables and work out the buckets
$74,310 past due across four invoices. Two have crossed 60 days. Nothing has been chased in 19 days.
QuickBooksCheck the retainage column against closed-out jobs
Brennan job closed 14 March with $21,600 retainage held. No invoice was ever raised against it.
Google SheetsFetch the invoice PDFs to attach
Four PDFs retrieved, so each reminder carries the original document rather than asking them to dig it out.
QuickBooksDraft a reminder per invoice, pitched to its age
Invoice 2259 gets a light nudge. Invoice 2214 at 63 days gets a firm one naming the contract payment terms.
Gmail
Draft comparison — nothing has been sent
| Invoice | Client | Amount | Age | Draft |
|---|---|---|---|---|
| 2214 | Coldbrook Property Co | $18,750 | 63 days | Firm — terms cited |
| RET-09 | Brennan job — retainage | $21,600 | Unbilled | Raise invoice |
| 2231 | M. Reyes — basement | $9,400 | 41 days | Follow-up, second |
| 2248 | Halloway Ave duplex | $12,300 | 22 days | Polite reminder |
| 2259 | J. Carrick — bath | $4,480 | 8 days | None — not yet due |
The retainage line isn't a reminder — it's an invoice that was never raised. That one needs you to confirm the job is genuinely closed out before it goes anywhere.
Send the four reminders and raise the retainage invoice?
Open any reminder and change the wording or the tone. Drop one if you spoke to that client on site yesterday. The retainage invoice in particular is worth reading — it's the only one here creating a new document rather than chasing an existing one.
Reminders go out, and the chase gets recorded
Each reminder sends from your own inbox with the PDF attached. The tracker records what was chased and when, so next Monday it knows which of these is on a second ask and which has gone quiet twice.
That's the whole workflow.
It drafts, you approve, nothing sends on its own.
How it works
What it's actually doing
A weekly run against your accounts package. QuickBooks and Xero have no event triggers, so this is a scheduled check — not something that fires the instant an invoice tips over.
- 1
- QuickBooks
- Xero
It reads the receivables, not a copy of them
The aged receivables report comes straight out of QuickBooks or Xero on the schedule you set. What's paid is paid — if a cheque cleared on Friday, that invoice isn't in Monday's list.
- 2
- Google Sheets
- ExExcel
It tracks retainage separately, because your books don't
Retainage isn't a native field in most small-contractor QuickBooks files, so it lives in a column on your job tracker. It reads that column against jobs marked closed out and surfaces anything held back that was never invoiced.
- 3
- Gmail
- OuOutlook
It escalates by age rather than sending one template
A fortnight late gets a light nudge that assumes it's an oversight, because it usually is. Sixty days gets a firm note citing the payment terms in your contract. Ninety gets a shorter, colder one that mentions stopping work if the job is live.
- 4
- QuickBooks
- Gmail
It attaches the actual invoice
The PDF is pulled from your accounts package and attached to the reminder, which removes the most common stalling answer — that they can't find it.
It drafts the chase. You decide who gets chased.
Money is the most relationship-sensitive thing on this list. A firm email to a client you're mid-job with, or one who genuinely paid last week, does real damage. So nothing goes out without you reading it, and the escalation never runs on its own.
Step one
It drafts
Step two — you
You read it and approve
Step three
Only then does it send
Every reminder waits
Four past-due invoices means four drafts sitting together. Send them all, send two, or send none. The aging summary is still worth having even on a week you chase nobody.
You control the escalation
It suggests a tone based on age, but the step from polite to firm is a judgement call about a relationship it can't see. You can override any draft down or up, and it remembers the preference for that client.
It never threatens anything
No mention of legal action, lien rights, collections, or interest unless you write it yourself. Those carry deadlines and consequences that vary by state and by contract, and it is not qualified to raise them on your behalf.
Retainage needs your confirmation
Raising a retainage invoice creates a new document against a job you said was finished. It'll surface it and prepare it, but it won't issue one until you confirm the job is genuinely closed out.
Setup
What setting this up involves
- 1
Connect
- QuickBooks or Xero — whichever holds your receivables
- Gmail or Outlook, to draft and send from
- Your job tracker in Google Sheets or Excel, for the retainage column
- 2
Tell it how you work
- Your payment terms, so the firm reminders cite something real
- What day you want the run — Monday morning is the common answer
- How the tone should step up, and at what ages
- Which clients are handled personally and should never be auto-drafted
- 3
Then it runs
About 40 minutes, once
Longer than the others, because the retainage column usually needs setting up properly first. If you already track it, this is a twenty-minute job.
Edge cases
Where it's careful, and what it won't do
What it handles
Payment that crossed in the post
It reads live receivables at the moment of the run, so anything settled since last week is already gone from the list. It also won't chase an invoice that's part-paid without saying what's outstanding rather than the original total.
Disputed invoices
If a thread on that invoice contains a complaint or a query, it won't draft an escalating reminder over the top of an unanswered question. It flags it as disputed and leaves it for you.
Clients with several open invoices
Three past-due invoices for the same client become one email listing all three, not three separate chases in the same hour. Nothing makes you look less organised than that.
Live jobs versus finished ones
The tone is different when you're still on site. A firm reminder to somebody whose kitchen you're standing in tomorrow is a bad idea, and it treats those differently by default.
What it does not do
It doesn't advise you on liens
Preliminary notices and mechanics lien deadlines are statutory, vary by state, and get missed by days. It can flag that an invoice is aging, but the lien question is for you and your attorney, and it will not tell you what to file or when.
It doesn't add interest or fees
Even where your contract allows late fees, applying them is a decision with consequences for the relationship. It won't calculate or add them.
It doesn't take payment
No payment links, no card capture, no portal. It chases what your accounts package says is owed, and payment happens the way it always has.
It doesn't call anyone
The sixty-day conversation is usually a phone call, and it should be. This makes sure you know which call to make.
Time back
Five to eight hours a month, and considerably faster payment
- Time back
- Five to eight hours a month, and considerably faster payment
- Spent on
- The work that bills
- What it costs
- $49 / monthGrowthplan — see what’s included
How that’s worked out: Based on 15–30 open invoices with a handful past due at any time, at roughly 10 minutes each to look up, write and attach — plus the monthly hour of reconstructing who owes what. The hours are the smaller half. The larger half is retainage that gets billed at all, which for a lot of contractors is five figures a year they had written off in their heads.
Fair questions
The things contractors ask first
My clients would find automated chasing rude.
So would we, which is why nothing is automated at the point of sending. What arrives is an email from you, with the invoice attached, in a tone you chose. The rudeness contractors actually worry about comes from the opposite problem — chasing in a burst when cash is tight, which reads as panicky because it is.
We track retainage on paper, not in QuickBooks.
That's normal, and it's why this reads retainage from a column on your job tracker rather than from your books. QuickBooks doesn't model retainage usefully for most small contractors, so pretending to read it from there would be the wrong answer.
Won't it chase someone who's already paid?
It reads your live receivables at the moment of the run rather than a cached list, so a payment that landed on Friday means that invoice isn't in Monday's drafts. The gap is a payment received but not yet recorded in QuickBooks — that one it can't see, which is a reason to keep reading the drafts before you send.
More construction chores
Other things that keep falling off the list
Collect lien waivers
Which subs still owe you a waiver on this draw, chased automatically, checked for the right type and through date, and filed by job.
Chase change order approvals
A reminder to the client on anything unsigned past two days, and a running total of work you're performing without a signature behind it.
Request reviews after handover
The ask goes out a few days after final payment clears — mentioning their actual job, with the direct review link, while they still like you.
Chase unanswered estimates
Three days of silence on a proposal, and a follow-up is waiting in your drafts with the scope and price already in it.
Collect subcontractor COIs
Thirty days before a certificate lapses, the request goes to the sub and their agent. What comes back gets filed and dated.
Compare supplier quotes
One RFQ to every supplier, and the replies read into a single table so you can see who's actually cheapest line by line.
The same job in other trades and industries
FAQ
Questions worth answering properly
Does it chase invoices the day they go past due?
No, and any tool claiming that against QuickBooks is overselling it. QuickBooks and Xero don't publish event triggers, so this runs as a scheduled check — usually Monday morning. An invoice that tips over on Wednesday gets picked up in the next run.
How does the escalation actually work?
The tone is chosen by the age of the debt against thresholds you set. A common setup is a light nudge at 14 days, a firmer note citing your payment terms at 45, and a short direct one at 75. You can override any individual draft, and it remembers if a particular client should always be handled gently.
Can it find retainage that was never billed?
Yes, provided you track it. It compares the retainage column on your job tracker against jobs marked closed out, and surfaces anything held back with no invoice raised against it. It prepares that invoice but won't issue it until you confirm the job is genuinely closed.
Does the original invoice get attached?
Yes — the PDF is pulled from QuickBooks or Xero and attached to the reminder. That removes the most common delay, which is the client saying they can't find it and another week going by.
What happens if a client disputes an invoice?
It stops escalating that one. If the thread contains a query or a complaint, sending a firmer reminder over the top of an unanswered question makes things worse, so it flags the invoice as disputed and leaves it to you.
Will it tell me when to file a lien?
No. Lien and preliminary notice deadlines are statutory and differ by state, and getting them wrong has real consequences. It will show you that an invoice is aging badly. What you do about that is a conversation with your attorney.
Find out what you're actually owed
Connect QuickBooks or Xero and your job tracker. Monday morning you'll have an aging summary and a set of drafts waiting — including the retainage.
Start free