← Back to Home

Case study · Accounting · Custom Implementation

How a CPA firm cut new-client intake from 90 minutes to 15 with an AI-assisted workflow

Intake-to-engagement-letter dropped from 90 minutes to 15. Same staff, same software, same compliance posture.

Time per new client
90 min to 15 min

Measured across 47 intakes in the 30 days post-launch.

Manual data re-entry
Eliminated

Address, EIN, prior-year return data populate the engagement letter automatically.

Build cost
Recouped in week 4

Based on the firm’s own internal cost-per-hour for partner and admin time.

The situation

A four-partner CPA firm in the Northeast was spending roughly 90 minutes of partner-and-admin time on every new client they took on. The bottleneck wasn't the work itself - it was the intake. New clients sent prior-year returns, a driver's license, an EIN letter, and a few utility bills as PDF attachments across two or three emails. An admin re-keyed the structured fields (legal name, DBA, address, entity type, EIN) into the firm's practice management system, then a partner reviewed the package and drafted an engagement letter from a Word template.

The firm had looked at intake software before. The off-the-shelf tools either didn't read PDFs, didn't integrate with their practice management system, or required clients to create an account before uploading a document. None of those were acceptable.

What we built

We replaced the email step with a hosted intake form. Clients upload their documents and answer a short structured questionnaire. On submit, a small server-side workflow runs three steps in sequence.

First, the documents go through an LLM-driven extractor that pulls the structured fields - legal name, DBA, principal address, EIN, entity classification - from the prior-year return and the EIN letter, with confidence scores attached. Second, the extracted fields are validated against the questionnaire answers. Conflicts are flagged for the partner; matches go through. Third, the validated record is written to the practice management system over its existing API, and the engagement letter is generated by populating the firm's existing Word template - same template, same language, same review path.

The partner still reviews and signs every engagement letter. Nothing is sent to a client without partner approval. That gate was non-negotiable for the firm and we built around it.

What we measured

We tracked two metrics for the first 30 days after launch: total time per intake (clock-in to engagement letter signed) and the number of fields that needed manual correction after extraction. Across 47 intakes, the median time dropped from 90 minutes to 15. The extraction step required correction on roughly one field in twelve - usually a DBA that didn't match the legal name on the prior-year return - which the partner caught at review.

The firm chose to keep the freed time as capacity for higher-value advisory work rather than taking on more intakes at the same rate. That's a business decision, not an AI decision, but it's worth naming: the win was capacity, not throughput.

Where AI didn’t help

We considered using an LLM to draft the engagement letter itself, not just populate the template. The firm's risk-and-compliance review correctly flagged that as out of scope: engagement-letter language is reviewed by the partners and changes carry liability. Generating it from an existing, partner-approved template was the right call. Off-the-shelf tools that pitch ‘AI engagement letter drafting’ would have moved that liability into a place the firm couldn't audit.

We also passed on adding a chatbot to the intake form. Clients filling out a tax intake form do not want a chatbot; they want a short form they can finish.

What we used

  • Hosted intake form (custom, Next.js)
  • PDF text extraction + LLM structured-data parsing
  • Practice management system API for write-back
  • Existing Word engagement letter template (unchanged)

This case study describes a representative engagement. The firm’s identifying details have been anonymized at their request. Outcome figures reflect that engagement’s actual measurements over the first 30 days post-launch.

Have a workflow like this?

The fastest way to find out if a similar approach fits your situation is a 30-minute call. No prep required.