← All workflows
Workflow · 2026-08-07

How to Automate Your Accounting or Bookkeeping Practice With Claude: The Full System

A complete, step-by-step guide to running a solo bookkeeper or small accounting practice's weekly writing on Claude: the business context file, the ten prompts, the weekly cadence, and the confidentiality and disclaimer rules most AI guides skip.

Most bookkeepers and small accounting practices who try AI stop after one good client email. It worked, they closed the tab, and by the next billing cycle they're back to writing document requests, discrepancy explanations, and fee conversations from scratch, one at a time, usually after everyone else has logged off for the day. The prompt was never the problem. The problem is that nobody turned "an email that worked once" into something that runs every week without being rebuilt from memory each time.

This guide is that system, built specifically for Claude, not for a generic AI chat window. It covers the ten pieces of writing a solo bookkeeper or small accounting practice repeats every week, a business context file that makes every output sound like your practice instead of a generic template, a fixed weekly cadence for when each piece runs, a confidentiality and disclaimer section most AI guides skip entirely, and what to do when Claude gets it wrong. By the end you'll have a working system, not just a list of prompts to lose in a chat history.

Everything here works in Claude.ai (a Project) or Claude Code (a CLAUDE.md file), and the underlying prompts are also in the Accounting prompt pack as a standalone reference if you just want to copy one at a time.

What you're building

Two pieces, working together.

The first is a business context file: a short document that tells Claude who you are, so it stops writing like a generic accounting bot and starts writing like your practice. Without this, every client email sounds the same regardless of which bookkeeper or preparer sent it. With it, Claude knows your engagement types, your tone, and the confidentiality line it should never cross.

The second is a weekly cadence: the same ten prompts from the prompt pack, placed on fixed days instead of used whenever you happen to remember them. A prompt you use once is a trick. A prompt on a fixed day is a system.

MonOnboardingNew clients get a welcome email and a specific document checklist before anything else.
TueDocument follow-upAnyone still missing requested documents gets a direct, deadline-aware chase.
WedFinancial summaryMonthly or quarterly statement summaries go out, same day every cycle.
ThuHarder conversationsDiscrepancy explanations and fee-increase conversations, prepared before the call.
FriMoney and referralsOverdue invoices get chased, closed engagements get a referral ask, and one educational post goes out.

Engagement letters and tax notice explanations aren't on the calendar. They run the moment a new client signs or a notice actually arrives, while the details are specific enough to write about accurately.

What you need

  • A Claude account. Either works: Claude.ai with a Project (simpler to start), or Claude Code with a CLAUDE.md file in a folder (more setup, but it remembers everything across sessions without you re-pasting context, and can eventually reference your actual client list and engagement terms directly).
  • Ten to fifteen minutes to write your business context file once. This is the only setup step. Everything after this is copy, paste, review, send.
  • Nothing else. No practice-management integration, no API keys, no code. If you later want Claude to reference your engagement records directly, Claude Code can do that too, but it's not required to get value from this system.
  • A clear rule about what never goes into a prompt. More on this in the confidentiality section below, but read it before Step 1, not after.

Step 1: Write your business context file

This is the step that separates a system from a party trick. Paste this into a Claude Project's custom instructions, or save it as accounting-context.md if you're working in Claude Code.

I run a bookkeeping/accounting practice. Here's my context:

Practice: [your practice name, or "independent" if solo]
Services: [what you actually offer, e.g. "monthly bookkeeping and
  quarterly review" or "bookkeeping plus annual tax prep" or "tax
  prep only, no bookkeeping"]
Client base: [the kind of client you mostly serve, e.g. "solo
  service businesses under $500k revenue" or "small retail and
  restaurant clients"]
Tone: [pick one and be specific: warm and reassuring / direct and
  no-nonsense / formal and precise]
Things I never say: [e.g. "don't worry about it", any phrase that
  understates a real deadline or risk, any promise about a specific
  refund amount or audit outcome]
Confidentiality: Never include a client's real SSN, EIN, full bank
  account or routing number, or full account balances in anything
  you draft for me. Use placeholders like [SSN on file] or [account
  ending in the last 4] instead, and I will fill in specifics myself
  after review, in the software I actually use to send financial
  documents.
Disclaimer rule: Never state a final tax position, a guaranteed
  outcome, or a certain result as if it's settled. Draft language
  should read as a starting point for my professional review, not
  a final answer a client could act on directly.

Fill in the brackets with real details, not placeholders. "Warm and reassuring" produces different output than "direct and no-nonsense," and Claude will actually follow whichever one you pick, so it's worth being specific rather than generic. The confidentiality and disclaimer lines aren't optional. More on why in a few sections.

If you're using Claude Code, put this in a CLAUDE.md at the root of a folder you work from. Claude Code reads that file automatically at the start of every session in that folder, so you never re-paste it. If you're using Claude.ai, paste it once into a Project's custom instructions and every conversation inside that Project inherits it.

Step 2: Load the ten prompts

The prompt pack has all ten, each with a copy button. In Claude Code, the cleanest setup is a prompts.md file in the same folder as your CLAUDE.md, so both are always available together. In Claude.ai, add them as Project knowledge, or just keep the pack open in a tab and paste from there.

Either way, you don't need to memorize them. You need to know which one runs on which day, which is the next section.

Setting this up in Claude.ai versus Claude Code

Both work. The difference is where the context lives and how much it does on its own.

Claude.ai (a Project). Create a Project, name it something like "Practice Assistant." Paste your business context file from Step 1 into the Project's custom instructions. Add the ten prompts as Project knowledge files, or just keep the prompt pack page open in a browser tab. Every new conversation started inside that Project automatically has your context loaded, no re-pasting. This is the right starting point if you've never used Claude for work before, since there's nothing to install and no files to manage.

Claude Code. Create a folder on your computer, something like practice-ai/. Save your business context file as CLAUDE.md in that folder, Claude Code reads this automatically at the start of every session there. Save the ten prompts as prompts.md in the same folder. The real advantage over Claude.ai shows up once you want Claude working with actual files: drop a redacted client roster, a running engagement log, or past correspondence templates into that same folder, and Claude Code can read and reference them directly instead of you copying details in by hand each time. Keep genuinely sensitive documents (actual tax returns, bank statements, anything with real account numbers) out of that folder entirely, redacted summaries only. It's more setup for less daily typing, which is worth it once this system is a genuine weekly habit rather than something you're still testing.

Start with Claude.ai if you're not sure yet. Move to Claude Code once you're running this every week and the copy-paste is the part that's starting to feel repetitive.

Step 3: Run the weekly cadence

Here's each day with a real worked example, not just the prompt in the abstract.

Monday: onboarding

Any new client signed the previous week gets a welcome email and a document checklist first, before anything else. Writing this Monday morning, not "once I have a minute," is what actually gets the engagement started on time instead of drifting for two weeks while nobody sends anything.

Worked example. Your raw notes on a new client:

Client: Harbor & Co. Coffee, single location, LLC. Signed for monthly
bookkeeping plus quarterly review, no tax prep (they use a separate
CPA for filing). Previously did their own books in a spreadsheet, no
prior bookkeeper. Wants to start with the current fiscal year, not a
full historical cleanup. Uses Square for POS, a business checking
account at a regional bank, no separate payroll system yet (owner
pays two part-time staff by hand).

The prompt (from the pack):

I just signed a new client for . Here's what I know about them: . Write a welcome email that sets expectations for how we work together, followed by a specific document checklist for exactly what I need from them and by when, not a generic "please send your financial documents" list. Keep the checklist to items that actually apply to , not every document type that exists.

A reasonable Claude output, with your business context file loaded:

Welcome aboard. Here's how this will work: I'll reconcile your books monthly and send a plain-English summary within the first week of the following month, plus a deeper quarterly review four times a year. To get started on the current fiscal year, here's what I need: read access to your Square POS reporting, online access (or monthly statement exports) for your business checking account, and a list of your two part-time staff's pay rates and hours, since there's no payroll system tracking that yet. I don't need anything from before this fiscal year, we're starting fresh from here. If you can get me checking access this week, I can have your first month's books done within two weeks of receiving it.

Notice what it didn't do: no generic "please send all your financial documents," no request for a historical cleanup nobody asked for. It used the actual scope, monthly plus quarterly, no tax prep, current year only, and asked for exactly the three things this specific client's setup requires.

Tuesday: document follow-up

Anyone still missing requested documents gets a direct, deadline-aware chase. This is the prompt most bookkeepers skip because it feels like nagging, but a document that's two weeks late in June is a filing crisis in April, and the earlier the chase happens, the less painful it is for everyone.

The prompt needs one real input to work well: the actual deadline this affects, not just "please send when you can." "This affects your quarterly estimated payment due the 15th" turns a generic reminder into one with a reason a client will actually act on. If there's genuinely no near-term deadline at risk, the prompt still produces a reasonable plain follow-up, but naming the real stakes when they exist is what gets documents moving faster than a third identical "just checking in" email.

Wednesday: the financial summary

One summary email per client, sent the same day every cycle. The content changes each period, the day doesn't. A summary sent whenever you get around to it reads as an afterthought; the same summary sent the first Wednesday of every month reads as a service the client can plan around.

Worked example. This period's raw numbers for a client:

Client: Harbor & Co. Coffee, July financials.
Revenue: $34,200 (up from $29,800 in June)
Expenses: $27,600, largest increases: cost of goods (coffee/dairy
  pricing up) and one-time equipment repair ($1,400)
Net income: $6,600 (up from $4,100 in June)
Note: July had two extra weekend days of foot traffic vs. June,
  partly explains the revenue jump, not purely operational
  improvement

A reasonable Claude output:

July was a strong month: net income came in at $6,600, up from $4,100 in June. Revenue grew to $34,200, though it's worth knowing July had two extra weekend days of foot traffic than June, so some of that jump is calendar timing, not purely the business getting stronger, worth watching next month to see if it holds. On the expense side, the increase mostly tracks coffee and dairy costs, plus a one-time $1,400 equipment repair that won't repeat. Bottom line: the core business is healthy and the equipment cost was a one-off, not a trend to worry about.

Notice it didn't just report four numbers in a row. It picked the one that mattered, net income improving, led with it, then immediately flagged the one number that could mislead the client if left unexplained, the calendar effect on revenue, instead of letting them assume July was simply a breakout month.

Thursday: harder conversations

Anything requiring a harder conversation, a discrepancy explanation, a fee increase, gets prepared with the relevant prompt before the call, not improvised during it. This is talking points, not a script to read verbatim. Claude is good at ordering the argument and keeping the tone level; it has no independent judgment about whether a discrepancy is actually routine or a real problem, so you still need to know the answer before you ask it to explain one.

Worked example. A discrepancy you found during reconciliation:

Client: Harbor & Co. Coffee. Found a $2,300 gap between Square's
reported deposits and what actually hit the bank account for the
week of July 14. Traced it: Square held a portion of that week's
deposits for a standard rolling reserve tied to a recent processing
volume increase, funds are not lost, just delayed, expected to
release within 5 business days per Square's standard policy. Not an
error on the client's part or mine.

A reasonable Claude output:

Wanted to flag something I found during this week's reconciliation, nothing to worry about, but worth explaining so the numbers make sense to you. There's a $2,300 gap between what Square reported as sales and what actually hit your bank account for the week of July 14. I traced it: Square is holding a portion of that week's deposits in a standard rolling reserve, which happens when processing volume increases quickly, in your case likely from July's stronger sales. The funds aren't lost, they're delayed, and Square's standard policy releases reserve holds within about 5 business days. I'll confirm it hits your account and let you know either way. Nothing needed from you on this one.

Notice the tone: plain about what was found, calm because the cause is genuinely routine, and closed with exactly what happens next and whether the client needs to do anything. A fee-increase conversation the same day would take the same shape, but firmer: lead with the real reason (scope grew, rates hadn't moved in years), state the new number once without hedging, and have one line ready for pushback.

Prefer this built and wired up for your business instead of adapting it yourself? Apply for a strategy call.

Friday: money and referrals

Overdue invoices get a follow-up calibrated to how overdue they actually are. Any engagement that closed cleanly this week, a filing season wrapped, a cleanup project finished, gets a referral ask while the relief is still fresh. And one short educational post goes out, a common deduction, an upcoming deadline, something clients actually find useful instead of generic "tax tips" filler. All three get skipped constantly because none feels urgent on a Friday, and all three compound if they aren't done, an invoice that's easy to send at 5 days overdue is awkward at 45.

As they happen: engagement letters and tax notices

The engagement letter and the tax notice explanation aren't scheduled because they can't be, they run the moment a new client signs or a notice actually arrives, while the details are specific enough to draft accurately.

Worked example. A tax notice a client just forwarded you:

Client received a CP2000 notice from the IRS. It proposes an
additional $3,100 in tax owed, citing unreported 1099-NEC income of
roughly $14,000 that doesn't appear on their filed return. Client
says they do recall doing some consulting work that year but isn't
sure if it matches this amount. Response deadline is 30 days from
the notice date.

A reasonable Claude output:

This is a CP2000, which the IRS sends when income reported to them by a third party, in this case a 1099-NEC, doesn't match what shows up on your filed return. It's proposing about $3,100 in additional tax based on roughly $14,000 in consulting income the IRS believes wasn't reported. This is not a bill and not final, it's a proposal, and you have 30 days from the notice date to respond, either agreeing, disagreeing, or asking for more time. Since you recall doing some consulting work that year, the first step is pulling your actual 1099s and comparing them against what was filed, to see whether this was a genuine omission, a different form entirely, or a reporting error on the payer's side. I'll need copies of any 1099s you received for that year before we can figure out the right response, and we want to get that response in well before the 30-day window closes.

Notice what it deliberately didn't do: no stated final position on whether the client owes the money, no promise about the outcome. It explained what the notice actually is, what the deadline pressure genuinely is, and what information is needed before a real professional judgment can be made, which is the correct shape for this kind of message every time.

The confidentiality and disclaimer rules most guides skip

Client financial information is sensitive by default, and this is genuinely not optional context. A Social Security number, an EIN, a full bank account number, none of that belongs in a prompt to any AI tool, ever, regardless of how the tool describes its data handling. The business context file in Step 1 includes an explicit instruction against this for exactly that reason: it's the cheapest possible insurance against a real problem, and it means you never have to remember the rule mid-task, Claude enforces it by default once it's loaded.

The practical habit: when you're pulling details from a client's actual records to build a prompt, redact before you paste, not after. Write "[SSN on file]" or "[account ending 4471]" instead of the real number, every time, even when it feels like extra friction. The five seconds it takes to redact a number is cheaper than the conversation you'd have to have if it didn't need to be redacted and you're wrong.

The second rule is about certainty, not privacy. Anything Claude drafts that touches a tax position, an audit outcome, or a "you'll definitely get X back" claim needs to read as a draft for your professional review, never as a final answer a client could act on directly. A few concrete patterns worth having memorized, since these are the ones that slip through most often:

  • Instead of "you'll get a $2,400 refund," write "based on what I have so far, here's the range I'm seeing, I'll confirm the exact number once everything's finalized."
  • Instead of "this deduction is guaranteed to be accepted," write "this is a reasonable position based on what you've told me, I'll want to see the supporting documentation before we file."
  • Instead of a definitive answer to "will this trigger an audit," write "here's what I can tell you about how this is typically treated, I can't promise how any specific return will be selected for review."
  • Instead of letting a draft state a client's tax liability as settled before your review, add an explicit line: "pending my final review of your complete file."

The pattern across all four: draft language should describe your process and your current read, never a promised outcome. This isn't legal or professional-standards advice, and if you have real questions about what you're required to disclose or how a specific engagement should be worded, your state board of accountancy or a professional-liability advisor is the right call, not this article. But it's a well-established habit worth building into every single client-facing draft, not just the ones that feel obviously sensitive.

One more line worth being explicit about, separate from the above: never let Claude, or any AI tool, generate a client's actual filed tax return, final numbers, or a return position that goes out without your direct professional review. This system is built entirely around drafting communications, welcome emails, follow-ups, summaries, explanations, letters, not producing the final work product itself. Every number a client acts on needs to come from your actual accounting software and your own sign-off, informed by AI-assisted drafting of the words around it, never generated by it.

What Claude gets wrong, and how to fix it

It invents specificity when your notes are thin. If you give it three words about a client's situation, it will sometimes fill the gaps with generic accounting language instead of asking you for more. Fix: feed it more detail, not less. Five real details from your notes produce a better draft than fifteen generic phrases.

It defaults to reassuring language unless told not to. "Don't worry about it," "this should be fine," these read as comforting but can understate a real deadline or risk if the situation actually warrants attention. The "things I never say" line in your business context file is what stops this. If it still slips through occasionally, just tell it directly in that conversation: "don't soften this, the deadline is real."

It can't tell a routine discrepancy from a real problem. When you ask it to draft an explanation, it will write in whatever tone you frame the situation with, but it has no independent judgment about whether the underlying cause is actually routine. Confirm the real cause yourself before drafting the explanation. Claude organizes the message; you're still the one who verified what actually happened.

It doesn't know your state's specific rules or your firm's actual policies. Every practice operates under specific state board requirements, engagement-letter standards, and internal policies Claude has no way of knowing. This is exactly what the business context file is for, and it's worth updating it the first few times you notice Claude missing something your specific practice always does a certain way.

Extending this to your own business

Every prompt in this system follows the same shape: give Claude real specifics with sensitive fields redacted, name what you don't want, ask for a length limit and a clear next step. If you want to add an eleventh prompt for something this pack doesn't cover, a payroll-setup explainer, a year-end tax planning check-in, write it the same way. The business context file does most of the real work; the individual prompts just point it at a specific task.

If you're not in accounting, the shape of this system, ten pieces of recurring writing plus a business context file plus a fixed weekly cadence, is the same one used for the real estate, recruiting, and marketing agency prompt packs. The specific prompts change. The system underneath doesn't.

FAQ

Do I need Claude Code, or does Claude.ai work? Claude.ai with a Project works fine to start. Claude Code is worth it once you want Claude referencing a redacted client roster or engagement log directly instead of you copying details in by hand every time.

Will this sound like every other practice using the same prompts? Only if you skip the business context file. The prompts are the same for everyone who copies them; your services, your tone, and your specific client details are not. Two practices running this exact system on two different clients will produce two different outputs, because the inputs are different.

How long does this take once it's set up? The business context file is a one-time, fifteen-minute setup. After that, each individual prompt takes under a minute to run, the time is in reviewing and editing the output, not generating it, which is the point: it should save you the blank-page time, not the professional judgment time.

What if Claude writes something inaccurate about a client's finances? Treat every output as a first draft prepared in thirty seconds instead of ten minutes, not a finished answer. You still need to verify every factual claim, a balance, a deadline, a notice's actual terms, against your real records before it goes out. Claude doesn't know your client's actual books unless you give it accurate, redacted details in that conversation.

Does this replace my practice-management software's automated reminders? No, and it isn't trying to. An automated reminder is the same templated email to every client regardless of what's actually going on with their file. This system produces one specific, individually reasoned message per person, which is a different kind of tool for a different part of the job. Many practices run both: the software handles routine scheduling on autopilot, this handles the writing that genuinely needs a human read of the situation.

What happens the first week I skip a day? Nothing breaks, and that's the point of building this as a cadence rather than a fragile all-or-nothing routine. If Tuesday's follow-ups don't happen, they're still worth doing Wednesday, a slightly late chase beats no chase. The value isn't in perfect adherence, it's in the writing getting done on most weeks instead of the rare week you happen to have spare time.

Can I use this for a team, not just a solo practice? Yes, with one change: give each preparer or bookkeeper their own business context file rather than sharing one. The tone and client relationship should reflect the individual person writing the message, not a single firm-wide voice, otherwise every staff member's clients start receiving messages that sound identical to every other staff member's clients, which undercuts the personal relationship the whole system is meant to strengthen.

What this doesn't replace

None of this reconciles an account, files a return, or decides a tax position. Every output here needs a human read before it goes out, especially anything touching a client's actual numbers or a filing decision, where the professional judgment is not something a prompt should make for you.

Getting started today

Write your business context file first. It's the one step that makes every prompt after it better, and it takes fifteen minutes. Then pick one day, Monday is the easiest since it only requires one new client or a client roster to exist, and run the onboarding prompt once on a real engagement. If the output needs one edit, you're ready for the rest of the week. If it needs five, your notes going in were too thin, not the prompt failing, so add more specifics and try again.

Want this built for your business?

Everything here is yours to copy and adapt. If you'd rather have it built and wired up for your specific business instead of adapting it yourself, apply for a strategy call and describe what you're trying to automate.