Skill detail

tax-prep

Runs a books-first tax chain: confirms the ledger is closed and reconciled, then computes quarterly estimated payments or builds year-end 1099-NEC lists and accountant packets.

Why we recommend it: Prepares quarterly estimates and 1099 packets from closed books, directly serving tax and reporting facets.

MatchDirectRecommended for Accounting
Sourceanthropics/​knowledge-work-pluginsExternal source
Reported installs1,684Popularity signal only

Inspect before use

Read the source instructions and check the requirements before you install this skill.

Saved source preview

SKILL.md

The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.

---
name: tax-prep
description: Prepares tax materials as a two-link chain — month-end-prep confirms the books are closed and reconciled first, then tax-season-organizer calculates the quarterly estimated payment or builds the year-end 1099-NEC list and accountant packet from those closed numbers. Requires a ledger (MYOB, NetSuite, QuickBooks, Xero, or Zoho Books); uses Gusto, PayPal, and Stripe when connected, else CSV upload. US federal tax math; a non-US business gets the closed-books packet. Prep material for a CPA, never tax advice, nothing filed. Trigger on "quarterly taxes," "estimated tax payment," "how much should I set aside," "1099s," "1099-NEC," "W-9s," "year-end tax prep," "get my books ready for my accountant," any phrasing that suggests a tax deadline is coming, or a question about net profit or YTD income that sounds like worry about a tax bill. An owner who says the period's books are already closed routes to tax-season-organizer directly.
allowed-tools: Read, WebFetch
---

Run the tax chain. Books first, then tax materials. The dependency is not optional — an estimate calculated on unreconciled books is a number the owner will send to the IRS.

Parse arguments:
- `--mode` (default: infer from the date — Oct through Jan defaults to `both`, otherwise `quarterly`) — `quarterly`, `1099`, or `both`
- `--year` (default: current year)

**Framing:** open every deliverable with "Prepared for review by your accountant — not tax advice."

**A ledger is required** — MYOB, NetSuite, QuickBooks, Xero, or Zoho Books, whichever is connected (`../../shared/connector-neutrality.md`). Without one, ask for a P&L export and a payee-level payment export before starting.

**Check the country before Step 1.** Read `Country` from the `## Business context` block (`../../shared/currency-and-locale.md`). The tax math in Step 2 is US federal. If the business is not in the US, say so in one line, run Step 1 so the books are closed, and hand the owner the closed-books packet for their accountant in place of a US estimate or 1099 list. Do not run the US calculation.

**Expensify, when connected, is read-only and adds one thing worth having:** the expenses with
no receipt attached. Surface that total and count alongside the estimate — an unsubstantiated
deduction is the item the accountant will ask about first, and it is cheaper to find now than
in April.

## Step 0 — Confirm the mode

If `--mode` was not given, state the inferred mode in one line and let the owner redirect: "It's late January, so I'll prepare both the Q4 estimate and your 1099 list. Want something different?" Do not run a discovery interview — the owner typed /tax-prep.

## Step 1 — Books first (month-end-prep)

Run `month-end-prep` over the periods the tax work depends on: year-to-date through the last completed quarter for `quarterly`, the full tax year for `1099`.

**Verify before you re-close.** Check whether each month in scope is already closed — reconciled, no open flagged items, packet produced.

- **Already closed** → verify only. Confirm the reconciliation stands, confirm nothing was posted after the close, and say so in one line: "March through June are already closed and still reconcile. Moving to the estimate." Do not re-run the full close on a month the owner finished last week.
- **Not closed** → run the close for the open periods. `month-end-prep`'s own Step 6 sign-off gate holds.
- **Partially closed** → close only the open months and verify the rest.

**In:** the periods in scope. **Out:** reconciled YTD net income, reconciled vendor and contractor payment detail, and a list of anything still unresolved.

### The gate before Step 2

Do not calculate anything until the books in scope are settled. If items are still open, say what they are and what they do to the tax number:

> "Eleven transactions are still uncategorized, totalling USD 6,800. Until those are coded, your estimate could be off by roughly USD 1,500 either way. Categorize them, or tell me to pr
Read the full source on GitHub (opens external page)
Context

Related work