How to Chase Missing Client Records With AI Before Deadlines

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for How to Chase Missing Client Records With AI Before Deadlines.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for How to Chase Missing Client Records With AI Before Deadlines.

Keep a live list of exactly what each client still owes you, then let AI turn each line into a short, specific chaser sent on a fixed schedule counted back from the deadline, roughly 30, 14, 7 and 3 days out. The AI writes the messages and sorts the replies; a person confirms what is missing and makes the final phone call.

Most chasing fails because the message is generic. "Please send your records for year end" gets parked. "We still need the April to June statements for the savings account ending 4471, and the invoice for the van you bought in May" gets answered, because the client can act on it in five minutes. Writing that level of detail for 70 clients by hand is what nobody has time for in the weeks before a deadline. That is the job AI does well: it turns a row of structured data into a polite, specific paragraph at whatever volume you need, and it reads the replies faster than you can.

Follow me on Instagram@sagnikteaches

Build the missing-items list before any AI gets involved

The AI can only chase what you have recorded. Every outstanding item needs its own row, not one row per client, because the chaser, the status and the reply all attach to the item.

Connect on LinkedInSagnik Bhattacharya
ColumnExample entryWhy it matters
Client reference and first nameC-0142, [first name]Personalises the message without pasting the full client record
Deadline15 MarchDrives the ladder dates
ItemBusiness current account statements, April to JuneThe exact thing the client must find
ReasonTo finish the bank reconciliationClients respond faster when they know why
How to sendPortal upload linkKeeps documents out of email attachments
Last chased2 Feb, rung 1Tells the automation which rung is next
StatusOutstanding / Partial / Received / Not needed / PausedThe column that stops embarrassing duplicates
Tone notesAlways late but reliable; prefers textsLets the draft match the relationship

If you use practice-management software, the list may already exist. Karbon and Financial Cents both have client requests where each item is a separate task, and Dext's Practice Advanced plan adds missing and requested paperwork plus deadline tracking to its client list. If you run on spreadsheets, a shared sheet with the columns above works, and it is the easiest thing to connect an automation to. The checklist you send new clients is the natural seed for this list; automating client onboarding in an accounting practice covers building one.

Subscribe on YouTube@codingliquids

What this looks like for a practice whose clients are mostly landlords: a typical client has four or five rows, such as the letting agent's annual statement, the lender's interest statement for each mortgaged property, repair invoices over a set amount, and any insurance renewal notice. Because the same five items recur for every landlord, the list can be pre-filled from a template each year and trimmed per client, which takes minutes rather than an afternoon.

One rule saves a lot of embarrassment: whoever receives records updates the status column the same day. A chaser for something the client uploaded yesterday does more damage to the relationship than no chaser at all.

A chase ladder counted back from each deadline

Fix the schedule before you write a single message. Counting back from the deadline, rather than forward from when you first asked, gives every client the same runway regardless of when their work was booked in.

RungWhenChannelToneAI's jobPerson's job
130 days beforeEmail with portal linkFriendly, full listDraft a personalised list from the rowsSpot-check the first batch
214 days beforeEmail, plus text if the client agreed to textsDirect, outstanding items onlyDraft, dropping received itemsApprove anything for clients flagged sensitive
37 days beforeEmail, copied to a second contact if on fileClear, consequence stated plainlyDraft using your approved consequence lineReview every message
43 days beforePhone callPersonalPrepare a call sheet: items, past replies, questions to askMake the call
AfterNext working dayEmail summaryNeutralDraft where things standPartner decides: extension, fee note or disengagement

Two details make the ladder work. Each rung lists only what is still outstanding, so a client who sent half their records after rung 1 sees a shorter list at rung 2, which feels like progress rather than nagging. And rung 4 is always a person. Clients who have ignored three emails rarely respond to a fourth; a call from someone who can say "I've got your file open, it's just the two statements" usually gets it done on the spot.

Choosing what actually sends the chasers

There are three sensible routes, and the right one depends mostly on what you already run.

Route 1: reminders built into practice software

If you already pay for practice management, check its reminder settings first. Karbon's client tasks can send automatic reminders on a Gentle schedule (seven days before the due date, on the day, then daily once overdue), an Urgent daily schedule or a custom one, and they stop after the fifth reminder. Automatic client reminders sit on Karbon's Business plan ($89 per user a month billed annually), not the Team plan. Financial Cents puts automatic follow-ups for client tasks on its Scale plan ($69 per user a month annually). Content Snare, which exists purely to collect documents, includes unlimited reminders on every plan, from $35 a month billed annually for 20 active requests and two users.

The limitation is wording. These tools send well-timed reminders, but the text is usually a template with the item list merged in. That is fine for rungs 1 and 2. For rung 3, where tone and context matter, you still want a drafted message. Karbon's built-in AI, released to all customers in March 2026, can draft client emails from tasks, which closes part of that gap.

Route 2: a spreadsheet, an automation tool and an AI step

Without practice software, a scheduled automation does the same job. A daily schedule finds rows where the next rung is due, an AI step drafts the message from that row, and an email step creates a draft (not a sent message) in Outlook or Gmail for someone to approve. In Zapier, triggers and filters don't count as tasks but each action step does, and an AI by Zapier step uses 1, 3 or 5 tasks depending on the model tier, so a four-step chaser can cost five to eight tasks. Make is credits-based from about $9 a month, and filtered-out bundles use no credits, which often suits bursty seasonal volumes better. Adding AI steps to Zapier walks through the drafting step itself.

Route 3: AI drafting, human sending

A sole practitioner with 30 deadline clients doesn't need automation. Export the outstanding rows, paste them into a business plan such as ChatGPT Business or Claude Team (neither trains on business content by default), ask for one draft per client, review and send. Expect about 20 minutes per rung. There are more wording variants in ChatGPT prompts for bookkeepers' queries, chasers and notes.

A rough rule: under about 40 deadline clients, route 3. Between 40 and 150 with no practice software, route 2. Already on Karbon, Financial Cents or similar, route 1 for the timing and AI drafting for rung 3 and the call sheets.

The prompt that turns one row into one chaser

Whichever route you choose, the drafting instruction is the same. Keep it fixed and feed it one client's rows at a time.

You write document chasers for an accounting practice.
Use only the data below. Do not add items, dates or amounts
that are not in it.

Client first name: {first_name}
Deadline: {deadline}
Rung: {rung} of 4 (1 = first friendly request, 3 = final written reminder)
Outstanding items, each with the reason we need it:
{items}
Received since the last reminder: {received}
How to send: {upload_link}
Consequence line (rung 3 only, use word for word): {consequence_line}
Tone notes: {tone_notes}

Write an email under 150 words:
- Thank them for anything received since the last reminder, by name.
- List outstanding items as bullets, each with its reason in brackets.
- One sentence on how to send, with the link.
- Rungs 1-2: friendly, no mention of consequences.
- Rung 3: include the consequence line exactly as given.
- No account numbers beyond the last four digits, no tax figures.
- Sign off as {sender_name}.
Return the subject line, then the email.

Here is an illustrative rung 2 draft for a client with two items left, exactly as a model might return it:

Subject: Two items left for your accounts (due 15 March)

Hi [first name],

Thanks for sending the business current account statements on Monday.

We still need:
- Savings account statements ending 4471, April to June
  (to confirm the interest received)
- Invoice for the van bought in May
  (so we can record it as an asset, not an everyday expense)

You can upload both here: [portal link]. It only takes a minute.

Best wishes,
[your name]

Two things to fix before it goes. "On Monday" isn't in the row; the statements actually arrived on Thursday, and the model filled the gap with a plausible day. "It only takes a minute" is also invented, and not true for someone hunting for a van invoice. Delete both. Small additions like these are exactly why someone reads the first batch of every rung, and why the row should carry a received date if you want the thank-you to mention one.

Each constraint is there for a reason. "Use only the data below" stops the model helpfully adding "and don't forget your mileage log" for a client who has no vehicle. The consequence line is fixed text because penalty rules vary by tax system and circumstance, and a model will confidently state a figure that is wrong. Keeping account numbers out matters because email is a weak channel for financial detail; the portal link is the whole point of the message.

Letting AI read and sort the replies

Replies are where the other half of the chasing time goes. "Sent the statements, not sure about the loan thing, also can we talk about my car?" contains an upload claim, a question and a new issue. A classification step splits these so each goes to the right place.

Classify this client reply with one or more labels:
SENT_CLAIMED, PARTIAL, NEEDS_HELP, QUESTION, UPSET, AUTO_REPLY, OTHER.
Then list any items the client says they have sent, using the
item names from this list exactly: {items}
Reply: {reply_text}
Return: labels | items claimed | one-line summary for the file.

For the reply above, an illustrative result looks like this:

SENT_CLAIMED, QUESTION, OTHER | Business current account statements |
Says statements sent; unsure what "loan statement" means;
wants to discuss a car purchase.

The catch: the client wrote "the statements", and this client had two statement items outstanding. The model picked one. When a claim could match more than one item, the rule should be "check the portal for both", not "trust the model's guess". The car question is a new-work conversation and belongs with the client manager, not in a chaser thread.

  • SENT_CLAIMED: check the portal, then mark received. Never mark an item received on the client's word alone.
  • PARTIAL: update the rows and send a short thank-you listing what remains.
  • NEEDS_HELP: create a task for someone to call. "I can't find it" is usually solved in two minutes on the phone.
  • QUESTION: route to the person who manages that client, with the summary line.
  • UPSET: straight to a partner, and pause the ladder for that client. No automated reply.
  • AUTO_REPLY: pause the ladder until the return date, or switch to the second contact.

Anything labelled QUESTION or UPSET should pass through a person before a reply goes out; adding human approval steps to AI automations shows how to do that without creating a queue nobody clears.

One season in a four-person bookkeeping practice

To make the numbers concrete, take an illustrative four-person bookkeeping and accounts practice with 70 clients sharing one filing deadline and no practice-management software.

  • Before: the partner and a senior spend about six hours a week for the last six weeks writing chasers and phoning, roughly 36 hours. A week before the deadline, 18 clients are still missing something.
  • Setup: six hours building the sheet and ladder dates, three hours testing the prompt on ten real clients' rows, one hour showing the team how statuses work. Ten hours in total, once.
  • Running costs: Make from about $9 a month for the season, plus ChatGPT Business at $25 per seat a month on monthly billing, with the two-seat minimum making $50. The practice already uses Outlook, so drafts land there.
  • Season time: 30 to 40 minutes reviewing each batch of drafts across three written rungs, about two hours triaging classified replies, and around three hours of rung-4 calls for the dozen clients who reach it. Call it eight to nine hours instead of 36.
  • What changed at the deadline: the number of clients still incomplete a week out is the figure to watch. If it doesn't fall by at least a third in the first season, the problem is probably the list (items missing or badly described), not the messages.

These figures are illustrative; your own will depend on how organised your clients are. The pattern that tends to hold is that the calls don't disappear, they just get concentrated on the clients who genuinely need them.

When automated chasing annoys the clients you most want to keep

  • Chasing what already arrived. The usual cause is a gap between upload and status update. Fix it with the same-day rule, and have the automation check the portal folder before each rung if your tools allow it.
  • The wrong entity or period. A client with a company and a rental property gets a chaser for the company's statements when they've sent the property's. Keep one row per entity per item.
  • Life events. A bereavement or illness turns a routine reminder into an insult. Add the Paused status and make sure the automation skips paused rows entirely.
  • Rewritten item names. The model "improves" "Loan statement, finance agreement 2291" into "your borrowing documents", and the client no longer recognises it. The prompt should require item names verbatim.
  • Replies into a void. Chasers sent from a no-reply address, or from a mailbox nobody watches in busy season, teach clients that replying is pointless.
  • Chasing former clients. Rows for disengaged clients must be closed, not left outstanding, or the ladder keeps firing.

Checking the system is earning its keep

Track four numbers each season: the share of clients complete 14 days before the deadline, how many reach rung 4, total staff hours spent chasing (log it honestly, including reply handling), and chasers sent in error. Compare them with last season's rough figures, even if those were guesses.

Then look at which items are always late. If loan statements and pension certificates dominate rung 3 every year, ask for them earlier, in the engagement or onboarding request, before the ladder even starts. That change often saves more time than any amount of better wording. For the wider picture of getting through the peak, see how small tax practices use AI through the busy season.

Chasing records with AI: follow-up questions

Can AI work out which records are missing by itself?

Partly. It can compare what has arrived against last year's list or your checklist and suggest gaps, and some capture tools flag missing paperwork per client. It cannot know about a new rental property or a closed bank account unless someone records it, so treat its gap list as a draft a person confirms before anything goes to the client.

How many reminders is too many?

Four scheduled rungs over a month, then a phone call, is plenty for most clients. Karbon, for example, stops auto-sending after the fifth reminder on a single client task. If a client needs more than that, the problem is usually a missing conversation rather than a missing email, so move them to a call with someone who knows the file.

Should a chaser mention penalties for missing the deadline?

Only at the later rungs, only as a plain statement, and only with wording you have approved, because penalty rules depend on the tax system and the client's circumstances. Never let AI generate penalty amounts. A line such as 'late filing can lead to penalties, and we would rather avoid that for you' is usually enough to prompt action.

Further reads

Sources: Karbon Help Centre (client task reminders) and Karbon pricing page; Financial Cents pricing page; Content Snare pricing page; Dext Help Centre (plans for accountants and bookkeepers); Karbon release notes, March 2026; Zapier and Make pricing and task-counting documentation.

Want your records chasing running itself next season?

On a 1:1 call we'll look at where your outstanding-items list lives today, choose whether your practice software or a small automation should send the chasers, and set the review points.

Book a 1:1 call with me