Tax Preparation
From Client Folder to Entry List: An AI-Assisted Tax Prep Workflow
Jump to a section
Key takeaways
- Have each step read the checked versions of its named inputs, following the chain table.
- Before an artifact moves on, a named person checks every row against its source, labels the version, and lists what's still open.
- Give each document an ID in the confirmed inventory, and have every later artifact cite that ID.
- Build each entry-list column from an earlier checked artifact, so every column answers a question the readback asks.
- When a document changes or the Reviewer returns an entry, trace its dependencies, reopen the affected artifacts, and mark reopened entries for the Reviewer.
- Keep one hand-off log per client and period with the workpaper; the Reviewer reviews the workpaper and signs off.
Every step in AI-assisted prep hands something to the step after it. The inventory feeds the citation rows, the citation rows feed the entry list, and the entry list goes to the Reviewer. Before passing an artifact on, check it and identify which later artifacts depend on it.
Run the chain only in an approved tool, under an account the Firm has cleared for client files. Anthropic's Cowork help page says: "Cowork is available to paid Claude plans (Pro, Max, Team, Enterprise) only." The Firm sets each step and can change it; the Reviewer signs off on the finished workpaper.
The chain at a glance
Step | Reads | Passes on | Checked by | Gate before the next step |
|---|---|---|---|---|
| The client folder | A named copy, plus a file list taken at copy time | Preparer | File list matches the copy |
| The working copy | Confirmed inventory with one document ID per file | Preparer | Every file in the copy has an ID |
| Inventory and working copy | One row per figure, citing a document ID | Preparer | Every row checked against its page |
| Inventory and the Firm's expected-documents list | Open-item rows and the client request | Preparer | Request checked before it goes out |
| Inventory and last period's final copy | Difference rows with notes | Preparer | Every row checked and noted |
| Checked rows from steps 2 to 4 | Versioned entry list | Preparer | Every entry cites a row or an open question |
| The entry list | Readback record | Reviewer | Every returned entry closed |
Steps 3 and 4 both read the inventory, so run them in either order. Close both sets of checks before step 5 starts.
Each step in two sentences
Step 0. Anthropic's Cowork help page says: "On desktop, Claude can read from and write to your local files without manual uploads or downloads." Anthropic's Cowork help page also says "Claude can only read and write files in folders you've connected", so connect the named working copy alone, freeze its file list when you make it, and see the ChatGPT prep piece for what goes in the copy and how to name it.
Step 1. The confirmed inventory gives each document an ID, and every later artifact cites that ID instead of a file name. Steps 2 to 4 find documents only through the confirmed inventory.
Step 2. Each figure gets a citation row that names its step 1 document ID, set up as in the citation piece. The row's status travels forward unchanged, and K-1 packets follow the branch in the K-1 piece.
Step 3. Build the request as in the missing-items piece. Each open row becomes a client question with its own ID that the entry list can refer to, and a client reply starts a new working copy.
Step 4. Run the comparison from the prior-period piece. Rows for documents seen only last period go to step 3 as possible requests, and notes on changed rows go to the entry list.
Step 6. The Reviewer reads the entry list back to its pages, following the readback piece. An entry sent back travels upstream to the step that caused it, as the rework table below shows.
The gate between steps
Before any artifact moves on, three things hold:
- Every row has been checked against its source by a named person, who initials and dates it.
- The artifact carries a version label: v1, then v2 when it's redone.
- Open items, such as "could not find it" rows and unanswered client questions, are listed on it. Nothing open drops off because a later version looks cleaner.
The next step reads only the checked version. Keep drafts out of the location the next step reads from.
Run each step on Doe files with known answers before it touches client files; the known-answer test shows how. When the tool or a step's instruction changes, run that test again before the chain resumes.
Build the entry list so it can be read back
No earlier step produces the entry list. The Preparer assembles it from checked rows, one column at a time:
- Entry ID: assigned at step 5 and used in the readback record and the hand-off log.
- Figure: the amount as it goes into the tax software, taken from the checked citation row.
- Citation row IDs: one or more, from step 2. A figure without one goes on the list only with a client question ref.
- Status: copied from the citation row as written. "Could not find it" stays on the entry until a newer citation row closes it.
- Note: required for any combined figure or judgment entry, and for any step 4 note that bears on the entry.
- Client question ref: the step 3 question ID, when the entry waits on the client.
- Prepared by: Preparer initials and date.
Each column answers a question the readback asks, so fill every column before the list goes to the Reviewer.
When something changes upstream
Event | Start again from | What else reopens |
|---|---|---|
The client sends a new or corrected document | Step 0: working copy v2, then inventory v2 | Citation rows citing the replaced document ID, the entries built on them, and any client question the document answers |
The readback sends an entry back | The entry's citation row | A wrong row is fixed at step 2, a wrong document at step 1, then the entry at its next version |
A prior-period row shows a document missing this period | Step 3: add it to the request | Entries that need the document stay open with a client question ref |
The Firm changes the tool or a step's instruction | That step's Doe test | That step's output for this client, rerun once the test passes |
Mark every reopened entry as reopened and send it to the Reviewer that way, so it's read again in full under the readback routine. Keep the earlier version and mark it superseded instead of deleting it.
Keep one hand-off log
Keep one log per client and period. Add a row each time an artifact version is checked: step, artifact name, version, checked by and date, open items carried forward, and superseded by.
The log names artifacts and where they're filed. It doesn't copy their contents. When something reopens, the new version gets its own row and the old row gets its "superseded by" filled in. The Firm names one owner per log, such as the Preparer on the file. File the log with the workpaper, where the Reviewer can walk the chain from either end (for reviewers).
Doe Holdings, traced through one correction
Doe Holdings is the client and Jane Doe is its owner. Alex Doe is the Preparer and Pat Doe is the Reviewer. This excerpt from the hand-off log shows one chain and one correction.
Step | Artifact | Version | Checked by | Open items carried | Superseded by |
|---|---|---|---|---|---|
0 | Working copy | v1 | Alex Doe | None | Working copy v2 |
1 | Inventory | v1 | Alex Doe | None | Inventory v2 |
2 | Citation rows | v1 | Alex Doe | One "could not find it" row | Citation rows v2 |
3 | Client request | v1 | Alex Doe | One client question | None |
5 | Entry list | v1 | Alex Doe | One entry waiting on the client question | Entry list v2 |
0 and 1 | Working copy and inventory | v2 | Alex Doe | None | None |
2 | Citation rows | v2 | Alex Doe | None | None |
5 | Entry list | v2 | Alex Doe | Reopened entries marked for readback | None |
Jane sent a corrected statement that answered the open question. Alex made working copy v2 and inventory v2, which gave the corrected statement a new ID and marked the old one replaced. The citation rows that cited the old ID reopened, along with the entries built on them, and every other row carried forward unchanged. Entry list v2 went to Pat with those entries marked reopened. The Firm's tax software computes the return from the checked entries Alex keys in, and Pat signs off on the workpaper as the Reviewer.
Optional: chain the instructions
If the Firm writes a standing instruction for each step, chain them. The list sets rules only; write the instruction text into the Firm's procedures.
- Name every input artifact and its version, including the source documents and reference lists the Firm has selected for that step.
- Require every output row to cite an ID from that input.
- Carry "could not find it" and every other open status forward exactly as received.
- List anything that matches no input ID separately, instead of folding it into the output.
- State the output's step, name and next version label, so its hand-off log row is ready to fill.
When an input version changes, update the version the instruction names before running it again.
Where TracePrep fits
TracePrep's one shipped workflow today is the Reasonable Compensation Study for an S-corporation shareholder-employee. It's a different job from this chain, and it keeps the same kinds of records:
In this chain | In the Study |
|---|---|
A citation row ties each figure to a document ID | Every figure traces to its source, occupation, geography, and period, at field level |
Each artifact carries a version label | Wage evidence is versioned |
A judgment entry carries a note | Each Preparer adjustment carries a documented rationale |
The hand-off log names who checked each version | The audit log records who prepared, who changed what, and who approved |
The log is filed with the workpaper | Finalized evidence stays with the Firm, with an immutable evidence manifest |
The Reviewer reads entries back before sign-off | A qualified Reviewer controls the conclusion and signs off |
We've built a TracePrep plugin that runs these steps in your Firm's workflow.
This is general information, not tax or legal advice. Your licensed professional and your Firm's Reviewer are responsible for every return and every conclusion. Keep client data inside the systems your Firm has approved. As general guidance only, not advice: if you use an AI tool with client data, firms generally look for a business or commercial plan whose terms cover how that data is handled; read the vendor's current terms before you do.
Frequently asked questions
In what order do the steps run?
Can the missing-items and prior-period steps run in parallel?
What reopens when a corrected document arrives after the entry list exists?
Who owns the hand-off log?
Does the chain change when the Firm changes tools?
Bobby Huang · founder of TracePrep Inc.
Bobby Huang is the founder of TracePrep Inc. TracePrep is a tax-prep platform for CPA, EA, and accounting firms, and it also produces the Reasonable Compensation Study.
Related reading
- Tax Preparation
AI Drafts, Professionals Sign: Keeping the Reviewer in Control
How a CPA or EA firm sorts AI output into three kinds, writes the line task by task, handles a draft that crosses it, and records who moves it.
Bobby Huang7 min read - Tax Preparation
Writing Instructions an AI Tool Can Follow on Tax Documents
Build an AI instruction for tax-document work from six checkable parts, change it one part at a time with a change log, and version and retire it on purpose.
Bobby Huang6 min read - Tax Preparation
ChatGPT for Tax Preparation: Chat, Work and Business Data
How a CPA or EA firm sets ChatGPT's Chat and Work modes per task, what goes in the folder it can modify, and which plans OpenAI's training default covers.
Bobby Huang7 min read