"Can you just look at last year's payroll journal? Something feels off."
That's the whole email. You open the file, because looking takes two minutes, and looking does take two minutes.
What takes three weeks is the six months sitting behind it, once you've seen the first one.
Nobody said a number at any point. Not in the email, not while you were in there, and not when you sent the same invoice you send every month.
That client signed a bookkeeping engagement letter. It's a good one. Monthly reconciliations, the close, the reports, the year-end handoff, two pages, a lawyer looked at it once.
It doesn't list a single thing you don't do.
So nothing got crossed, because nothing got drawn. The client didn't creep. They asked. Asking is free, and the answer was yes, because the letter gave you no line to point at and gave the ask no price.
Most owners inherit that letter. It came from an association, or a firm you used to work at, or a search. It was built to protect you in a dispute. It was never built to price a Tuesday.
And if you landed here because somebody handed you a letter to sign, this one is written for the firm on the other side of the desk.
What should a bookkeeping engagement letter include?
The usual parts: the parties, the period, the services, the fee terms, and how either side ends it. The part most letters skip is the one that does the work, which is an explicit list of what isn't included. Then three lines almost nobody writes. That you work from what the client gives you and don't verify it. What happens when something outside the scope turns up, which is a note carrying a number, sent before the work starts. And a date the engagement lapses if the client goes quiet. Keep the fee itself out of the body and point at a services list you can update without re-papering every client who ever signed.
Key Takeaways
An inclusions list is a menu, not a boundary - a menu invites additions, and every addition arrives with no price attached.
The out list is the working half of the letter - five categories cover most of what actually creeps, and each one is a sentence rather than a policy.
Keep the fee out of the letter body - the letter carries terms, the services list carries the number, and a price change stops being a re-papering exercise.
The crossing needs a mechanic - a two-sentence note with a real number and a real no, sent before the work rather than after it.
Say what you don't verify - one line that you work from what the client hands over, which is the difference between a correction and an argument.
A letter with no end date never closes - a client who signs, pays, and goes quiet leaves a file nobody can age out.
Why your inclusions list isn't a boundary
A service list answers one question, which is what do I get. It doesn't answer the second one, which is what happens when I ask for something else. When the letter is silent there, the answer defaults to yes. You're the one sitting there, the ask is small, and it's Tuesday.
A list that promises monthly reconciliations says nothing at all about last year's payroll journal, so last year's payroll journal is free.
My own firm, SDO CPA, has had a waitlist since June and still turns work away. We spent this spring rewriting our own letters anyway, and the change that mattered wasn't legal. It was the paragraph naming what a letter does not cover, and where the adjacent work goes instead.
The out list
Five categories cover most of what actually creeps. Write a line for each and you've written the working half of your letter.
Prior periods. Anything dated before your start date. The books you inherited are somebody else's work, and pricing them as though they were yours is how a two-month cleanup becomes free. Cleanup gets its own estimate.
A change in the client's shape. A new entity, a new state, a second location, a payroll provider they switched without mentioning it, a point-of-sale system swapped in March. The work changed. The number didn't, because nothing in the letter said it would.
Third-party requests. The lender package. The insurance audit. The landlord who wants a letter on your paper. The new accountant's document request in February. Every one of those is a real afternoon and none of them are the monthly close.
The client's other people. Training the bookkeeper they just hired. Cleaning up after the one they fired. Answering their attorney's questions. You're being useful, and you're being useful at zero.
Advice that belongs in its own engagement. The questions that open with "while I have you." Entity structure. What to pay yourself as an S-corp shareholder. Whether to buy the truck this year. Good questions. Not bookkeeping.
Each of those ends one of two ways. A price, or the sentence "that's a separate engagement." What you can't do is leave it unanswered, which is the option that gets taken by default.
Keep the fee out of the letter
The letter carries terms. The services list carries the number.
We took fees out of the body of ours entirely. The letter points at the services list in the system clients sign through, which turns a price change into one edit instead of a re-papering job across everybody who ever signed. Overages sit there too, next to the service they belong to, rather than buried in a terms section nobody reads twice.
If you don't have a services list yet, that's the smaller job and it comes first. One page or one screen, each package with what it includes and what it costs, somewhere you can edit it without asking anyone. The letter can point at a page on your own site. It just can't point at a number typed into a document eleven clients have already signed.
One thing about the paper itself. When terms change, don't edit them in place. Copy the file, date the copy, keep a changelog. Six months later somebody asks what a client actually agreed to and you can answer instead of guessing.
What a bookkeeping engagement letter does when the line gets crossed
An out list with no consequence attached is just a longer letter. The consequence is a note, and it goes out before the work does.
Two sentences. What they asked for, what it costs, does that work for you. No preamble about valuing the relationship.
The number comes off your own margin math, which is what to charge territory rather than this issue's.
Then wait. If the answer is no, nothing happens and nobody's annoyed, because nothing was done yet. If it's yes, it's on the invoice and it was agreed to in writing. The version that goes wrong is the one where you do the work first and mention it after. Then the price isn't a price. It's a bill for something they thought was included, and you're negotiating from behind.
While you're in there, add the line about what you don't verify. One sentence saying you work from the records and information the client provides and you aren't auditing them. It sounds like lawyer furniture and it's actually practical. The day a client hands you the wrong year-to-date payroll figures during a mid-year switch, that sentence is the difference between a correction and an argument.
The letter needs an end date
An engagement with nothing to end it stays open. Forever isn't an exaggeration. A client signs, pays, sends nothing, stops replying, and the file sits there being your responsibility.
Two dates fix it. A stall notice a few weeks in, when what you need hasn't arrived, which is a short email saying the clock is running and here's what's outstanding. Then a lapse date a few months out, after which the engagement is over and starting again means a new letter at current pricing.
This is about closing engagements that never got started, not about repricing the live ones. Those move on their own schedule. A re-signing is still a small sales conversation though, and issue three covers saying a number out loud without apologising for it.
Do this before Friday: open the last engagement letter you sent. Find the part that says what isn't included. If there isn't one, that's the finding. Write five lines, one per category above, in the words you'd actually use with a client. Then list the three biggest things you said yes to last quarter that weren't in any letter, and put a number beside each. You're not billing anyone retroactively. You're finding out what the missing paragraph has been costing.
Reply with the line you wish had been in your letter. Just the line, the single exclusion that would have saved you a quarter.
House ad. I build TracePrep, so weigh this however you want.
The fifth category up there is the expensive one, and its S-corp version is the worst of the set. A shareholder asks what they should be paying themselves, and the honest answer is a real piece of work that routinely gets absorbed inside a bookkeeping or tax engagement for nothing. TracePrep runs that as its own deliverable, a Reasonable Compensation Study, where every figure traces to a source and the Firm's own Reviewer controls the conclusion and signs it off. Finished workpapers stay firm-owned. It's in design-partner validation right now rather than general release, and it's built for CPA, EA, and accounting firms rather than pure bookkeeping practices, so if reasonable comp isn't work your firm performs, this one isn't for you. traceprep.com
Operator annex
What follows is the paper, and one warning that comes before all of it. I'm not a lawyer. Every template down here is a starting point for your own letter, not a form to sign. Your attorney or your professional-liability carrier reads it before a client ever does.
Plenty of places will hand you an engagement-letter template. What they don't hand you is the log that tells you which exclusion you're missing, the note you send when somebody crosses one, or a prompt that builds both off your own service list. That's what the rest of this is.
The scope and exclusions section
This is the section itself. It goes where your current services list is, or directly after it. Fill in your own brackets and cut anything that doesn't match how you work.
SCOPE
We will provide the following services for [Client] for the period beginning
[start date]: [your monthly services]. Books are current by the [Nth] of the
following month.
NOT INCLUDED
The following sit outside this engagement. Any of them can be added, and each
is estimated separately before any work begins:
- Any period before [start date], including cleanup of prior books
- Changes to your business structure, including a new entity, a new state, a
new location, or a change of payroll provider or point-of-sale system
- Requests from third parties, including lenders, insurers, landlords,
auditors, and other accountants
- Work involving your other staff or advisers, including training or
supervising your bookkeeper
- Tax, entity, and compensation advice, including what a shareholder-employee
should be paid
- [add your own]
WHAT WE RELY ON
We work from the records and information you provide. We do not audit or
independently verify them, and we are not responsible for errors arising from
incomplete or inaccurate information supplied to us.
IF SOMETHING OUTSIDE THIS SCOPE COMES UP
We will tell you what it is and what it costs before we begin. Nothing outside
this scope is performed, or billed, without your agreement first.
TERM
This engagement continues until either of us ends it in writing. If we have
not received what we need to begin within [90] days of signing, this
engagement lapses, and new work requires a new letter.
FEES
Fees for the services above are set out in [where your services and pricing
live]. Work outside this scope is estimated separately.Two things people get wrong adapting this. The exclusions have to name what your clients actually ask for, not a generic set copied out of somebody else's practice, so read your last quarter of email if you want the real ones. And the lapse period has to be a number you'll enforce, because a date you ignore is worse than no date. It's a term you've waived.
Lines to pick from
Fourteen of them. Take the ones matching what you genuinely get asked, change the wording until it sounds like you, and leave the rest.
Cleanup or correction of any period before [start date].
Rebuilding or re-categorizing prior-year books, whether or not we prepared them.
Sales tax registration, filing, and nexus review in any state.
Payroll processing, payroll tax filings, and setup with a new payroll provider.
1099 preparation and vendor W-9 collection.
Anything arising from a change in your entity type, ownership, or state of operation.
Lender, insurance, bonding, and landlord requests, including forms, letters, and document packages.
Responding to notices, examinations, or information requests from any taxing authority.
Training, supervising, or correcting the work of your staff or another bookkeeper.
Software migration, chart of accounts redesign, and connecting new systems.
Budgeting, forecasting, cash flow projections, and business plan support.
Tax planning, entity structure advice, and owner compensation decisions, including what a shareholder-employee should be paid.
Inventory counts, valuation, and costing.
Anything requiring attendance at your premises.The note you send when it happens
You'll send this more than anything else in here. Subject line first.
Quick one before I start: [what they asked for]Then the body.
[Name],
You asked about [thing]. That sits outside what we agreed in the engagement
letter, so I'd rather price it before I do it than after.
It's [$X], or roughly [X hours] at [rate] if you'd prefer it billed that way.
I can have it done by [date].
Say yes and I'll start [when]. Say no and nothing changes, we carry on as
normal.
[Your name]What makes it work is that it goes out before anything is done, and that it offers a real no. A note sent afterwards is a bill with an explanation attached, and people argue with those. Keep the money sentence plain, too. Adding a reason for the price invites a negotiation about the reason.
The log
One row every time you send that note. One row every time you don't. The second kind is the useful kind.
Seven columns, and what each one is actually for:
Client. Obvious, but sort on it later and you'll find one name accounts for most of the sheet.
Date asked. Not the date you did it. The date they asked, which is the date you had a choice.
What they asked for. Their words, short. "Look at last year's payroll" beats "prior period review."
In or out. In scope or outside it, judged against the letter rather than against how you felt about the request.
Priced at. What you'd have charged. Fill this in even when you didn't charge it, especially then.
Answer. Yes, no, or blank because you never asked.
Billed. Money that actually landed on an invoice.
The header row itself, tab-separated so it drops straight into columns:
Client Date asked What they asked for In or out Priced at Answer BilledThe rows that matter are the ones marked out with a number in Priced at and nothing in Billed. Those are the ones you did anyway. Three months in, the empty Billed cells start to cluster, and whatever they cluster around is the exclusion missing from your letter.
The reply that's already written
Put the note into your email client as a saved reply, brackets and all. Every client has the feature under some name: canned responses, templates, snippets.
Then the ask lands. You open the template, fill in three brackets, and it's gone inside ninety seconds, before the part of you that hates awkwardness gets a vote. Ninety seconds is the entire trick. A note you have to compose from nothing is a note you'll write on Thursday, and by Thursday you've already done the work.
Add one line at the bottom of your saved copy reading LOG THIS in capitals. It's an ugly hack and it works. You delete it before sending, and deleting it is what reminds you to add the row.
No recurring reminder here, deliberately. A weekly prompt to review scope creep arrives long after the moment that mattered. This one fires at the moment.
Two prompts (draft only)
Both stop at a draft, and that matters more here than usual. An engagement letter is a contract, so what an AI writes you is a first draft for your attorney, never a document for a client. What comes back is clause text and a spreadsheet file, sitting on your screen. Everything past that point is you.
Draft the out list off your own service menu.
I run a bookkeeping firm. Here is what my monthly service actually includes:
[paste your service list].
Here are the last ten things clients asked me for that weren't in that list:
[paste them].
Draft a "not included" section for my engagement letter. One line per
exclusion, in plain language a client will understand, with related items
grouped together. Base it on what I actually get asked for rather than a
generic template. Close with a short sentence saying anything on the list can
be added and is estimated separately before work begins.
Give me the draft as plain text so I can send it to my attorney. Do not write
indemnity, liability, or limitation-of-damages language. Do not edit any file.
Do not tell me the result is legally sufficient, because you can't know that.Build the log.
Build me a spreadsheet with these columns: Client, Date asked, What they asked
for, In or out, Priced at, Answer, Billed.
Make "In or out" a dropdown with two options, in scope and out of scope. Add
conditional formatting that highlights any row marked out of scope where the
Billed column is empty.
Give me the file as a draft I can open. Do not connect to my accounting
system, my email, or any client data, and do not fill in any rows. I'll enter
my own numbers.Count the exclusions in your current letter. Zero is the common answer, and it's one afternoon away from not being zero. The revenue takes a quarter to show up, but the next time somebody asks you to just look at something, you'll have a sentence ready and a number to put on it.


