prompting for accountants April 17, 2026 • 7 min read

Prompting for CPAs After Tax Day: Extension Workflows, IRS Notice Responses, and Amended Returns That Don't Hallucinate Code Sections

A post-April-15 playbook for tax pros using Claude and GPT to handle the messy 6-month tail of the 2026 filing season

Tax Day 2026 closed two days ago. If you're a CPA, EA, or tax attorney, you are now sitting on a pile of Form 4868 extensions, a stack of CP2000 notices dated April 10 through 14, and a queue of 1040-X amendments driven by the refund mismatches that hit clients in late March.

You are also being pitched, hard, on a new class of $97 consumer tools that promise to draft your IRS response letters for you. Some of your clients have already used one.

Here is the problem with every one of those tools, and with the ChatGPT tab you have open right now. Claude and GPT will confidently cite an IRC section that does not exist. They will invent a Rev. Proc. number. They will attribute a holding to a Tax Court case that was never decided. Stanford's RegLab found legal-domain AI tools hallucinate on roughly one in three queries. The AI Hallucination Cases database now tracks more than 800 documented filings across 25+ jurisdictions where fake citations made it to a court or tribunal. Anthropic's own lawyers had to apologize in May 2025 after Claude fabricated a citation in the Universal Music case.

Your job for the next six months, running through October 15, is to not be in that database. This post gives you the prompting patterns that get you there.

The reviewer-agent pattern is your moat

The CP2000 on your desk was generated by the IRS Automated Underreporter algorithm. It is AI output. If you respond with AI output that no human verified, you have removed yourself from the process entirely, and your client is paying you $600 to be a mail forwarder.

The defensible workflow is two models with two different jobs. Model one drafts. Model two, running a different prompt and ideally a different provider, verifies every citation against a primary source URL. You, the human, sign the letter only after the verifier clears it.

Claude is a stronger default for IRC and Treasury Regulation prose because that corpus is stable and well-covered in training. GPT-5 with web grounding is stronger for recent Rev. Procs., IRS press releases, and anything issued after the model cutoff. Use both.

Prompt 1: CP2000 structured extraction

Start here. Before you draft a response, get the notice into structured fields. This is the safest possible use of an LLM on a tax notice because you are not asking it to reason, just to read.

The Prompt:

You are a tax document parser. I will paste the text of an
IRS CP2000 notice. Extract the following fields as JSON.
Do not infer, guess, or fill in missing fields. If a field
is not clearly present in the text, output null.

Fields:
- notice_date (YYYY-MM-DD)
- response_deadline (YYYY-MM-DD, calculated as notice_date + 30 days)
- tax_year
- proposed_additional_tax (USD, number only)
- proposed_penalties (USD, number only)
- proposed_interest (USD, number only)
- total_amount_due (USD, number only)
- discrepancy_items: array of { income_type, payer_name, 
  amount_reported_by_payer, amount_on_return, difference }
- taxpayer_agrees_deadline (YYYY-MM-DD)

Return only valid JSON. No prose.

NOTICE TEXT:
{paste notice body here, with SSN and name redacted}

Why This Works: Structured output prompting forces the model into a mechanical extraction job instead of an analytical one. The explicit "do not infer" instruction and the null fallback reduce the temptation to hallucinate fields. Redacting the SSN and client name before you paste keeps you on the right side of IRC §7216 and Circular 230 confidentiality rules.

Expected Output:

json { "notice_date": "2026-04-08", "response_deadline": "2026-05-08", "tax_year": 2024, "proposed_additional_tax": 4217, "proposed_penalties": 843.40, "proposed_interest": 312.15, "total_amount_due": 5372.55, "discrepancy_items": [ {"income_type": "1099-B proceeds", "payer_name": "Coinbase Inc.", "amount_reported_by_payer": 47210, "amount_on_return": 0, "difference": 47210} ], "taxpayer_agrees_deadline": "2026-05-08" }

Crypto cost-basis mismatches and brokerage gross-proceeds-without-basis are the most common false-positive patterns in the CP2000 series. The extraction tells you what to argue before you draft anything.

Prompt 2: Form 4868 client memo with penalty math

Extensions are where most preparers let an AI freewheel, and it shows. The fix is to give the model the numbers and make it do arithmetic, not law.

The Prompt:

Role: You are drafting a plain-English memo to a tax client
explaining their Form 4868 extension. You have 20 years of
practice experience. You do not invent penalty rates. You
use only the values I provide.

Inputs:
- Client name: {first name only}
- Tax year: 2025
- Extension filing date: 2026-04-15
- New filing deadline: 2026-10-15
- Estimated tax liability: ${X}
- Amount paid with 4868: ${Y}
- Underpayment if any: ${X minus Y}

Penalty rules to apply (verbatim, do not modify):
- Failure-to-pay penalty: 0.5% per month of unpaid tax,
  capped at 25%.
- Interest: federal short-term rate plus 3%, compounded daily.
  Do NOT state the current rate. Tell the client I will
  confirm the current rate before the October filing.
- Failure-to-file penalty does NOT apply because 4868 was
  timely filed.

Output format:
1. One-paragraph summary of what the extension does and
   does not do.
2. A numbered list of the exact dollar amounts at risk.
3. Three action items with dates.

Do not cite any IRC section, Rev. Proc., or case. This memo
is plain English only.

Why This Works: You have explicitly told the model not to cite law, because a client memo does not need law and citations are where hallucinations live. You have given it the penalty rule verbatim, so it has nothing to invent. The "do not state the current rate" instruction blocks the most common failure mode, which is confident recitation of last year's short-term rate.

Expected Output:

Your extension was filed on April 15, 2026, which moves your filing deadline to October 15, 2026. It does not extend the deadline to pay. Any tax you owed for 2025 was due on April 15.

Amounts at risk as of today: 1. Estimated underpayment: $3,400 2. Failure-to-pay penalty accruing at 0.5% per month on the unpaid balance, capped at 25%. 3. Interest at the federal short-term rate plus 3%, compounded daily. I will confirm the current rate before we file in October.

Action items: pay as much of the $3,400 as you can by May 15 to reduce penalty accrual. Send me your K-1s by August 1. Book your October filing review by September 15.

Prompt 3: The reviewer agent

This is the prompt that earns your fee. Run it on every letter, memo, or 1040-X narrative that cites any authority before the client or the IRS sees it.

The Prompt:

You are a citation verifier. You do not draft, rewrite,
or improve the text I give you. Your only job is to find
every citation and classify it.

For each citation found, output a row with:
- citation_text (exact string from the document)
- citation_type (IRC, Treas. Reg., Rev. Proc., Rev. Rul.,
  IRS Pub, Form, Case, Other)
- verification_url (the single primary-source URL where
  this citation can be confirmed. Use only irs.gov,
  law.cornell.edu/uscode/text/26, law.cornell.edu/cfr/text/26,
  federalregister.gov, or ustaxcourt.gov. If the citation
  cannot be resolved to one of these domains, output
  "UNVERIFIED".)
- confidence (HIGH only if you are certain the citation
  exists at that URL. Otherwise LOW.)

Do not write any prose. Do not defend or explain the
citations. Output a markdown table and nothing else.

If any row is UNVERIFIED or LOW confidence, append at
the end: "BLOCK: human verification required before send."

DOCUMENT:
{paste the drafted response letter here}

Why This Works: You have collapsed the model's job from "be helpful" to "be suspicious." The allowlisted domain list is the key. A model that cannot point to irs.gov or Cornell LII for a citation does not get to pass it through. The BLOCK sentinel gives you a mechanical stop condition that you can wire into your review checklist.

Expected Output:

citation_text citation_type verification_url confidence
IRC §6013(b) IRC https://www.law.cornell.edu/uscode/text/26/6013 HIGH
Rev. Proc. 2024-17 Rev. Proc. UNVERIFIED LOW
Form 1040-X instructions Form https://www.irs.gov/forms-pubs/about-form-1040-x HIGH

BLOCK: human verification required before send.

You then pull up irs.gov in a browser and confirm Rev. Proc. 2024-17 says what the drafter claimed. Nine times out of ten it does. The tenth time is why you run this prompt.

One rule about client data

Do not paste a client's name, SSN, EIN, or dollar figures into consumer-tier ChatGPT or Claude accounts. The default terms train on your inputs. That is a §7216 problem, a Circular 230 §10.51 problem, and an AICPA SSTS problem stacked on top of each other. Use the API tiers with data-retention disabled, or a vendor with a signed BAA-equivalent. Redact before you paste.

Professional liability insurers are already writing AI-use disclosure and verification-standards clauses into new policies. A claim that surfaces a fabricated citation in a client letter, with no documented human verification step, is the case your carrier will exclude.

Your edge through October 15

Consumer tools will keep selling $97 AI-drafted notice responses. Your clients will keep forwarding them to you and asking if they should use one. The honest answer is that the draft will look fine and the citations will be a coin flip.

Your defensible workflow is three prompts and a human. Extract the notice. Draft with the rule given to the model, not inferred by it. Verify every citation against a primary source before anything leaves your office. That is a service the $97 tool cannot sell, because the $97 tool is the thing you are verifying.

Want hands-on prompt engineering training for your tax team before Q3 extension season hits? We run live sessions on reviewer-agent patterns, citation verification pipelines, and §7216-safe workflows for CPAs and EAs. Connect with Kief Studio on Discord or schedule a session.

Training

Want your team prompting like this?

Kief Studio runs hands-on prompt engineering workshops tailored to your stack and workflows.

Newsletter

Get techniques in your inbox.

New prompt engineering guides delivered weekly. No spam, unsubscribe anytime.

Subscribe