TL;DR: A mid-size accounting practice in Portland sends 412 engagement letters every January. One office manager handles the entire process manually: creating each letter in Word from 12 template variations, tracking in a spreadsheet, sending through DocuSign, and chasing signatures for weeks. It takes three weeks. Last year, 23 letters went out with the previous year's fee structure. Nobody caught it until April. The firm honoured $18,700 in incorrect quotes. We built a five-stage agent that pulls client data, matches templates, populates fields, runs quality checks against prior-year letters, sends via DocuSign, and auto-chases signatures. Generation dropped from three weeks to one day. Zero fee errors. Signature completion from 10+ weeks down to 6. Agent cost: $160/month.

January 3rd

Karen walked in on the first working day of the year, coffee in hand, and opened the spreadsheet she'd been trying not to think about since mid-December.

Four hundred and twelve rows. Every row a client. Every client needing an engagement letter before anyone in the firm could touch their tax return.

Each letter is different. Individual returns get one template. Business returns get another. Clients with bookkeeping add-ons get a third. New clients need onboarding language. Clients who changed service levels need updated fee structures. Four partners, each with slightly different preferences for how their letters read.

Karen has done this for 11 years. She's fast. She's organized. It still takes three weeks.

Three weeks of the office manager's time before tax season has technically begun. Three weeks where partners are already asking "has the Johnson letter gone out yet?" while she's still generating Martinez's.

Last year, 23 letters went out with the previous year's fee structure. Nobody caught it until a client queried their April bill. By then, the firm had honoured the lower rate. Then checked how many others had the same problem. Twenty-three. Combined cost: roughly $18,700 in incorrect quotes the firm ate.

The Firm

Mid-size accounting practice in Portland, Oregon. Four partners, eight staff accountants, two admin. About 400 active clients across individual tax, business tax, bookkeeping, and advisory services.

AICPA professional standards require annual engagement letters. Every client, every year, signed before work begins. Twelve different template variations cover the firm's service mix, each customized by service type, fee structure, payment terms, partner assignment, and compliance language.

Karen's process: open last year's letter in Word, update fees and dates and any service changes, save as new, track in the master spreadsheet, upload to DocuSign, send, log, wait. After seven days unsigned, a reminder. After fourteen, another. After three weeks, flag for the partner. Timeline: January 3rd through January 24th for generation. February and March for chasing. Some clients still unsigned when returns are due in April.

The cost of Karen's three weeks: roughly $4,200 in salary. The cost of last year's fee errors: $18,700. Total known cost: nearly $23,000. The unsigned letters that delayed filing, the partner time spent chasing, the compliance exposure of working without signed engagement on file? Real costs, harder to measure.

Why Nothing Else Worked

Word mail merge handles names and addresses. It can't handle 12 template variations with conditional fee structures, partner-specific language, and custom terms that differ by client history. Mail merge is built for one template with variable fields. This is 12 templates with variable fields and conditional logic.

Practice management software with engagement letter modules runs $800 to $1,500 per month. The letter feature was one piece of a system they'd need to migrate their entire practice into. The partners couldn't justify the cost or the disruption for something they needed intensively three weeks a year.

Copy-paste from last year is what Karen actually did. It works when nothing changed. It breaks when something did. And in a 412-client firm, things change every year. The method relies on Karen remembering or checking every change for every client. Twenty-three errors isn't a catastrophe. But it's not zero.

Outsourcing was dismissed quickly. The customization is too firm-specific. An outside admin wouldn't know that Partner Davis adds personal notes for long-tenure clients, or that the Henderson account has a negotiated discount, or that three real estate clients share a parent entity and get coordinated billing. That institutional knowledge lives with Karen. It's not documented anywhere.

Everything was either too basic, too expensive, or too dependent on one person.

What We Built

Five stages, running as a connected workflow every January and on-demand for mid-year client additions.

Stage 1: Client data pull

The agent connects to the firm's QuickBooks instance and Karen's master spreadsheet. It pulls current service type, fee structure, payment terms, partner assignment, and client tenure for each active client. Then it cross-references against the prior year's data and flags any clients with changes: fee adjustments, service additions or removals, partner reassignments, new compliance requirements.

This flag is important. It's the step that the copy-paste method skips. Instead of Karen checking each client manually, the system tells her which ones changed and what changed.

Stage 2: Template selection and population

Matches each client to the correct template based on service mix. Individual tax only? Template 3. Business tax with bookkeeping? Template 7. Advisory with custom billing? Template 11. Applies partner-specific language preferences automatically. Davis gets his personal notes. Chen gets her itemized advisory line. Okafor gets his data security paragraph.

All variable fields populate from the data pull: names, addresses, fees, dates, special terms.

Stage 3: Quality check

This is the stage that would've caught the 23-letter problem. The agent compares each generated letter against the previous year's letter for the same client. It flags discrepancies for review: fee changes (intentional or not), service level changes, new compliance language, outdated dates, and any field that doesn't match the current client record.

Karen reviews the flagged items. A fee change that matches an approved rate increase? She confirms and clears the flag. A fee that didn't update and still shows last year's rate? She catches it before it goes out. The system turns "checking 412 letters for errors" into "reviewing 30-40 flagged discrepancies."

Stage 4: Batch send and track

Approved letters go out through DocuSign. The agent logs sent date, opened date, and signed date for every letter. At seven days unsigned, it sends a first reminder automatically. At fourteen days, a second. At twenty-one days, it escalates to the assigned partner with a brief: client name, service value, and how long the letter's been outstanding.

Karen used to spend two-plus hours per week chasing signatures through February and March. Now she checks a dashboard once a day.

Stage 5: Dashboard and compliance

Real-time view showing how many letters are sent, opened, signed, and outstanding. Broken down by partner. The compliance report shows all clients with current signed engagement letters, ready for peer review or regulatory inquiry. No more scrambling to prove the firm had signed engagement on file when a question comes up.

What We Learned Building It

The template logic was more complex than it looked. Twelve templates sounds straightforward until you account for combinations. A client with individual tax, business tax for two entities, and advisory services doesn't get three separate letters. They get one consolidated letter with specific scope sections for each service. The combinatorial logic took longer to map than the rest of the build combined. Karen spent two afternoons walking us through edge cases that existed only in her head. We documented everything. For the first time in 11 years, the firm has written rules for how engagement letters get assembled.

Partner preferences had to be extracted carefully. "Davis likes a personal touch" isn't a specification. We sat with each partner and got the actual rules. Davis adds a line referencing the client's tenure for anyone over 10 years, and mentions a specific detail from the prior year's work (pulled from last year's letter). Chen wants advisory billed separately regardless of how it's packaged internally. Okafor's data security paragraph has three versions depending on whether the client shares financial documents electronically. These aren't complicated rules. But they'd never been written down. They lived in Karen's memory and in informal conversations with partners over a decade.

The quality check was the MVP feature. We built it as a safety net. It turned into the most-used part of the system. In the first batch, 31 discrepancies were flagged. Eight were intentional fee increases the firm had approved. Fourteen were service changes that needed updating. Nine were genuine errors: wrong fee tiers, outdated compliance language, a client who'd dropped bookkeeping two years ago but was still getting the bookkeeping template. Karen said she would've caught most of them manually. Most. Not all.

The Numbers

Metric

Before

After

Letter generation time

3 weeks

1 day

Errors caught before sending

Minimal (manual spot-check)

31 discrepancies flagged

Incorrect fee structures sent

23

0

Time chasing signatures/week

2+ hrs

~15 min (dashboard check)

Weeks to full signature completion

10+

6

Karen's January availability

Near zero

Available for other work by Jan 4

Agent cost/month

N/A

$160

The ROI calculation is straightforward. $160/month for the agent. $4,200 in admin time recovered in January alone. $18,700 in fee errors prevented. The system paid for itself before the first return was filed.

But the number Karen mentioned first wasn't a dollar figure. "I actually got to do my job in January," she said. "For the first time in 11 years." Onboarding new clients. Coordinating partner schedules. Processing the documents that were already arriving. The work that makes tax season run properly instead of the assembly line that delayed everything else.

The agent didn't replace Karen. It replaced the three weeks of Karen's year that shouldn't have required Karen.

The Pattern

If you're running an accounting practice, or any professional services firm that sends bulk engagement letters, retainer agreements, or annual service contracts, and your process involves Word templates, copy-paste from last year's files, and manual signature chasing, three things are probably true.

You're paying senior admin rates for assembly-line work. Your error rate is higher than you think because you're not measuring it. And the unsigned letters sitting in someone's "to chase" pile are costing you compliance exposure every day they sit there.

The agent costs less than a single month of practice management software. It doesn't require migrating your firm to a new platform. It connects to what you already use. And it turns a three-week annual headache into a one-day review process.

Karen still reviews every letter. She still handles the edge cases. She still knows things about the Henderson account that no system will capture. The difference is she spends a day doing that instead of three weeks doing that plus 380 letters that didn't need her attention.

Want to see if your firm has a similar bottleneck hiding in seasonal admin? The AI Bottleneck Audit takes 10 minutes. No pitch. It shows you exactly where the gaps are.

Want to see 25+ agent architectures across different industries? Download Unstuck. It includes blueprints for conflicts checking, client intake, lead generation, and more.

by SP, CEO - Connect on LinkedIn
for the AdAI Ed. Team

Keep Reading