Expert guide
Tax Season Client Document Tracker in Excel
Expected, received, missing: one view of every return, and one list per client to chase
Call us at +1 (385) 386-3860
Short answer: build an Expected Documents table (one row per client per document, seeded from last year's return), mark each row Received with a date as documents arrive, calculate each client's completeness percentage, generate a missing-items list per client with TEXTJOIN for reminder emails, and route complete clients to a preparer queue. Log every reminder. We automate the intake and reminders as AI workflow automation for accounting firms.
Every tax season, accounting firms lose hundreds of hours not to preparing returns but to waiting for documents and working out what is still missing. A client sends four PDFs, then two more a week later, and the preparer opens the file three times to check. Clients get generic reminders and reply "I sent everything". A document tracker answers one question precisely for every client: what exactly do we still need?
The Structure
| Table | Columns | Purpose |
|---|---|---|
| tblClients | ClientID, Name, Email, Preparer, ReturnType, DueDate, Extension (Y/N) | Who and when |
| tblExpected | ClientID, DocType, Issuer, Required (Y/N), Received (Y/N), ReceivedOn, Notes | The checklist, one row per document |
| tblReminders | ClientID, SentOn, Channel, ItemsListed | Chase history |
| tblDocTypes | DocType, Description for clients | Plain-language names in reminders |
Seeding the Checklist From Last Year
Export last year's list of received documents (from your tax software or last year's tracker) and copy it into tblExpected for the new year with Received cleared. Then add items from client organisers: new employer, sold property, new brokerage account. Mark items that are optional or "if applicable" as Required = N so they do not block completeness.
Completeness and Status
On tblClients:
Required docs: =COUNTIFS(tblExpected[ClientID], [@ClientID], tblExpected[Required], "Y")
Received docs: =COUNTIFS(tblExpected[ClientID], [@ClientID], tblExpected[Required], "Y",
tblExpected[Received], "Y")
Complete %: =IF([@[Required docs]] = 0, 0, [@[Received docs]] / [@[Required docs]])
Status:
=IFS([@[Complete %]] = 1, "Ready to prepare",
[@[Complete %]] >= 0.75, "Nearly there",
[@[Received docs]] > 0, "In progress",
TRUE, "Nothing received")
Days to due date: =[@DueDate] - TODAY()The Missing-Items List per Client
Missing items as a bullet list for an email:
=TEXTJOIN(CHAR(10), TRUE,
"• " & FILTER(
XLOOKUP(tblExpected[DocType], tblDocTypes[DocType], tblDocTypes[ClientDescription])
& IF(tblExpected[Issuer] <> "", " from " & tblExpected[Issuer], ""),
(tblExpected[ClientID] = [@ClientID]) *
(tblExpected[Required] = "Y") * (tblExpected[Received] <> "Y"),
"Nothing outstanding"))This produces lines such as "• Year-end wage statement from Riverside Health" and "• Mortgage interest statement from First County Bank". Client-friendly descriptions in tblDocTypes matter: clients do not know form numbers, but they recognise "the statement from your bank showing mortgage interest".
Reminder Cadence
| Stage | Trigger | Action |
|---|---|---|
| Kick-off | Season opens | Send each client their full expected list |
| First chase | 10 days after kick-off, items missing | Email with only the missing items |
| Second chase | 10 days later | Email plus text, mention the deadline |
| Call | After two emails, or 30 days before due date | Preparer or admin phones |
| Extension decision | Agreed date before due date | File extension, set new target |
Last reminder date:
=MAXIFS(tblReminders[SentOn], tblReminders[ClientID], [@ClientID])
Reminders sent:
=COUNTIFS(tblReminders[ClientID], [@ClientID])
Chase today:
=AND([@Status] <> "Ready to prepare",
OR([@[Reminders sent]] = 0, TODAY() - [@[Last reminder date]] >= 10))A VBA macro can create one Outlook email per client with the missing-items list in the body, saved as drafts for review, and log each one in tblReminders. The code pattern is in personalized emails from Excel.
Preparer Queues and Capacity
Each preparer's queue: clients Ready to prepare, sorted by due date.
Capacity view: ready returns per preparer versus hours available this week.
Bottleneck view: clients Nearly there for more than 14 days, often waiting on one item.
Extension pipeline: clients unlikely to be complete before the deadline, flagged early.
Where AI Speeds Up Intake
Classify uploads
Identify the document type, issuer and tax year of each uploaded PDF and suggest which checklist row it satisfies.
Spot surprises
Flag documents that were not expected, such as a new brokerage account, so the checklist and engagement are updated.
Read client emails
Summarise messages like 'I don't have the HSA form, the account closed' into a note on the right row.
Client tax documents are confidential; use only approved, secure tools, and keep a preparer review on every classification. The extraction technique is covered in extracting PDF data with AI and the agent pattern for chasing in AI agents and Excel.
After the Season
Keep the year's tracker as next year's seed, and review which clients needed the most chasing: they may need an earlier start or a different engagement. Firms that also run monthly bookkeeping for clients can use the same expected-versus-received approach for month-end; see the month-end close checklist. Consolidating trackers from several preparers or offices is what Excel data consolidation handles.
FAQ
Tax document tracker FAQ
Checklists, chasing and AI intake for firms