tax-season-organizer

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Tax Season Organizer

税务季整理工具

Framing: This skill produces prep material for a CPA, not tax advice. Say so early and state every assumption explicitly so the accountant can adjust.
框架说明: 该技能生成的是供CPA使用的准备材料,而非税务建议。请提前说明这一点,并明确列出所有假设,以便会计师进行调整。

Quick start

快速开始

Determine which mode the user needs, pull the relevant data, calculate or compile, and deliver a structured document the accountant can work from directly.
User: "what do I owe for estimated taxes this quarter?"
→ Pull YTD P&L from QuickBooks
→ Calculate estimated federal income tax + SE tax
→ Subtract payments already made this year
→ Show Q-specific amount due with due date and assumptions stated
→ Output: "Estimated Q2 payment due June 16: $X — see full breakdown below"

User: "I need to send out 1099s"
→ Pull all contractor/vendor payments from QuickBooks + PayPal + Stripe
→ Identify contractors paid ≥ $600 YTD
→ Flag records missing W-9 / EIN
→ Output: 1099-NEC candidate list + missing W-9 action list
确定用户需要的模式,提取相关数据,进行计算或整理,交付一份会计师可直接使用的结构化文档。
User: "what do I owe for estimated taxes this quarter?"
→ Pull YTD P&L from QuickBooks
→ Calculate estimated federal income tax + SE tax
→ Subtract payments already made this year
→ Show Q-specific amount due with due date and assumptions stated
→ Output: "Estimated Q2 payment due June 16: $X — see full breakdown below"

User: "I need to send out 1099s"
→ Pull all contractor/vendor payments from QuickBooks + PayPal + Stripe
→ Identify contractors paid ≥ $600 YTD
→ Flag records missing W-9 / EIN
→ Output: 1099-NEC candidate list + missing W-9 action list

Determine mode

确定模式

Read the user's message and context to decide which path applies:
  • Quarterly estimate — keywords: estimated payment, quarterly taxes, how much to set aside, safe harbor, Q1/Q2/Q3/Q4
  • Year-end 1099 prep — keywords: 1099, 1099-NEC, year-end, contractors, W-9, send 1099s, file 1099s
  • Combined — some users will ask "year-end summary" and need both. Run quarterly last; run 1099 prep first since it drives the most action items.
If the intent is ambiguous, ask: "Are you looking at your estimated tax payment for this quarter, or are you preparing 1099s for your contractors — or both?"

读取用户的消息和上下文,判断适用的流程:
  • 季度预估税款 — 关键词:预估付款、季度税款、需要预留多少、安全港、Q1/Q2/Q3/Q4
  • 年末1099表单准备 — 关键词:1099、1099-NEC、年末、承包商、W-9、发送1099表单、提交1099表单
  • 组合模式 — 部分用户会询问“年末汇总”,需要同时处理两种模式。先处理1099表单准备(因为它会生成最多行动项),最后处理季度预估税款。
如果意图不明确,询问:“您是在查看本季度的预估税款支付,还是在为承包商准备1099表单——或者两者都需要?”

Path 1: Quarterly estimated tax

流程1:季度预估税款

1. Pull YTD financials

1. 提取年初至今财务数据

Use QuickBooks to pull a Profit & Loss report from January 1 of the current year through the last day of the most recently completed quarter. Capture:
  • Gross revenue (total income)
  • Total expenses (operating expenses, COGS, etc.)
  • Net ordinary income = revenue − expenses
If QuickBooks is not connected, ask the user to upload a P&L as CSV or paste the key numbers. For field names and query approach, see reference/connector-queries.md.
使用QuickBooks提取当年1月1日至最近完成季度最后一天的损益表(P&L)。获取:
  • 总收入(总营收)
  • 总支出(运营费用、销货成本等)
  • 净普通收入 = 营收 − 支出
如果未连接QuickBooks,请用户上传CSV格式的损益表或粘贴关键数据。字段名称和查询方法请参考reference/connector-queries.md

2. Ask about prior estimated payments

2. 询问过往预估税款支付情况

Before calculating, ask: "How much have you already paid in estimated taxes so far this year?" If the user doesn't know, note that you'll calculate total liability — they can subtract payments themselves or check with their accountant.
计算前,询问:“今年到目前为止,您已经支付了多少预估税款?”如果用户不知道,说明您将计算总应缴金额——他们可以自行减去已付款项或咨询会计师。

3. Calculate estimated liability

3. 计算预估应缴金额

See reference/calculation-assumptions.md for the full math and the assumptions table you must include in output.
Short version:
  1. SE tax = net profit × 0.9235 × 0.153 (then halve it — the deductible half offsets income)
  2. Adjusted net = net profit − (SE tax / 2)
  3. Federal income tax = apply the bracket rate appropriate to the user's business type and estimated annual income (default to 22% unless the user tells you their bracket; note this assumption explicitly)
  4. Total annual liability = federal income tax + SE tax
  5. Quarterly payment = (total annual liability − payments made) ÷ quarters remaining
  6. Safe harbor check — note whether the user should verify against prior-year tax (100% of prior year, or 110% if AGI > $150k)
完整的计算方式和必须包含在输出中的假设表,请参考reference/calculation-assumptions.md
简化版本:
  1. 自营职业税(SE tax) = 净利润 × 0.9235 × 0.153(然后减半——可抵扣的一半用于抵消收入)
  2. 调整后净收入 = 净利润 −(自营职业税 ÷ 2)
  3. 联邦所得税 = 根据用户的企业类型和预估年收入适用税率(默认22%,除非用户告知其税率区间;需明确标注此假设)
  4. 年度总应缴金额 = 联邦所得税 + 自营职业税
  5. 季度付款金额 =(年度总应缴金额 − 已付款项)÷ 剩余季度数
  6. 安全港检查 — 提醒用户应核实是否符合上一年度税款的100%(或AGI超过15万美元时的110%)标准

4. State assumptions and deliver output

4. 列明假设并交付输出

Use this output structure:
Structure the output as a document with these sections in order:
  1. Header — H2 with "Estimated tax summary" followed by the quarter and year. Subline: prepared date and "For review by your accountant."
  2. YTD snapshot — Bold lines showing YTD net profit with date range, estimated annual net profit (annualized from YTD), and assumed business type (sole proprietor, S-corp, etc. — flag as assumed, not confirmed).
  3. Self-employment tax — Show the SE tax calculation: net profit times 92.35% times 15.3%, and the deductible SE half.
  4. Federal income tax estimate — Adjusted net income, assumed bracket (default 22%, note to confirm with accountant), and the federal estimate.
  5. Total estimated annual liability — SE tax plus federal income tax.
  6. Quarterly payment — Total liability minus payments already made, divided by quarters remaining, with the specific dollar amount due and the due date.
  7. Safe harbor note — Remind the owner to ensure total payments meet 100% of prior-year tax (or 110% if AGI exceeded $150k).
  8. Assumptions — Bullet list of every assumption: bracket rate, business structure, state taxes excluded, deductible SE half included, and deductions not applied (home office, QBI, depreciation).

使用以下输出结构:
将输出整理为文档,按顺序包含以下部分:
  1. 标题 — H2格式的“预估税款汇总”,后跟季度和年份。副标题:生成日期及“供会计师审核使用”。
  2. 年初至今快照 — 加粗显示年初至今净利润(含日期范围)、预估年度净利润(由年初至今数据年化得出)以及假设的企业类型(独资企业、S型股份有限公司等——标注为假设,未确认)。
  3. 自营职业税 — 展示自营职业税计算过程:净利润 × 92.35% × 15.3%,以及可抵扣的自营职业税减半部分。
  4. 联邦所得税预估 — 调整后净收入、假设的税率区间(默认22%,标注需与会计师确认),以及联邦所得税预估金额。
  5. 预估年度总应缴金额 — 自营职业税加联邦所得税。
  6. 季度付款金额 — 总应缴金额减去已付款项,除以剩余季度数,显示具体到期金额和截止日期。
  7. 安全港说明 — 提醒企业主确保总付款金额达到上一年度税款的100%(或AGI超过15万美元时的110%)。
  8. 假设列表 — 列出所有假设的项目符号列表:税率区间、企业结构、未包含州税、包含可抵扣的自营职业税减半部分、未应用的扣除项(家庭办公、合格业务收入、折旧)。

Path 2: Year-end 1099 prep

流程2:年末1099表单准备

1. Pull contractor payments from all sources

1. 从所有来源提取承包商付款数据

Query each connected source for all payments made to individuals or businesses for services in the tax year. Do not include payments for goods, refunds, or internal transfers.
QuickBooks — try live connector first, fall back to CSV if needed:
  1. Try live connector. Attempt to pull vendor-level payment records via the QuickBooks MCP. If the connector returns individual payee records with name, amount, and account category, use them directly and skip the CSV step.
  2. Detect aggregate-only response. If the MCP returns only category-level totals (e.g. "Contract labor: $7,500" with no payee breakdown), the connector does not yet support vendor-level queries. In this case, prompt the user:
    "QuickBooks returned summary data only — I need payee-level detail to build your 1099 list. Please export a Transaction List by Vendor report (QuickBooks → Reports → Expenses → Transaction List by Vendor, filtered to this tax year) and upload the CSV here. I'll process it automatically."
  3. Process CSV via Desktop connector. Map columns: payee name, amount, date, payment method, EIN/SSN status. Follow the same aggregation and threshold logic below regardless of whether data came from the live connector or CSV.
Note for future connector versions: If the QuickBooks MCP is upgraded to expose vendor payment records directly, step 1 will succeed and the CSV fallback will be skipped automatically. No changes to this skill are needed — the try-first logic handles it.
For field names and query approach, see reference/connector-queries.md.
PayPal: Pull all "Goods & Services" payments sent. Note: PayPal issues its own 1099-K to contractors above the threshold — flag these separately in output so the accountant can determine whether a 1099-NEC is also needed.
Stripe: Pull all transfers/payouts made to external parties. Same 1099-K caveat as PayPal applies.
Desktop/CSV: If the user uploads a CSV directly (without going through QuickBooks export), map columns: payee name, amount, date, payment method, EIN/SSN status.
查询每个已连接来源,获取纳税年度内向个人或企业支付的所有服务款项。不包含商品付款、退款或内部转账。
QuickBooks — 优先尝试实时连接器,必要时退用CSV:
  1. 尝试实时连接器。尝试通过QuickBooks MCP提取供应商级付款记录。如果连接器返回包含姓名、金额和账户类别的单个收款人记录,直接使用这些记录,跳过CSV步骤。
  2. 检测仅汇总响应。如果MCP仅返回类别级总计(例如“合同劳务:7500美元”,无收款人明细),说明连接器暂不支持供应商级查询。此时提示用户:
    "QuickBooks仅返回汇总数据——我需要收款人级别的明细来生成您的1099名单。请导出一份按供应商分类的交易列表报告(QuickBooks → 报告 → 费用 → 按供应商分类的交易列表,筛选至当前纳税年度)并上传CSV文件。我会自动处理。"
  3. 通过桌面连接器处理CSV。映射列:收款人姓名、金额、日期、付款方式、EIN/SSN状态。无论数据来自实时连接器还是CSV,均遵循以下相同的汇总和阈值逻辑。
未来连接器版本说明: 如果QuickBooks MCP升级为直接暴露供应商付款记录,步骤1将成功,自动跳过CSV备用方案。无需修改本技能——优先尝试逻辑会自动处理。
字段名称和查询方法请参考reference/connector-queries.md
PayPal: 提取所有已发送的“商品与服务”付款。注意:PayPal会向超过阈值的承包商自行发放1099-K表单——在输出中单独标记这些记录,以便会计师判断是否还需要1099-NEC表单。
Stripe: 提取所有向外部方进行的转账/付款。与PayPal相同,需注意1099-K表单的相关提示。
桌面/CSV: 如果用户直接上传CSV文件(未通过QuickBooks导出),映射列:收款人姓名、金额、日期、付款方式、EIN/SSN状态。

2. Aggregate by payee

2. 按收款人汇总

Combine across sources and sum payments by individual or business entity. Deduplicate by name (watch for "John Smith" vs "John A. Smith" — flag likely duplicates for human review rather than auto-merging).
合并所有来源的数据,按个人或企业实体汇总付款金额。按姓名去重(注意“John Smith”与“John A. Smith”这类疑似重复项——标记供人工审核,而非自动合并)。

3. Apply the $600 threshold

3. 应用600美元阈值

  • Flag for 1099-NEC: any payee paid ≥ $600 for services (contractors, freelancers, consultants)
  • Flag for 1099-MISC: any payee paid ≥ $600 for rent, attorney fees, prizes/awards
  • Near-threshold alert: flag payees paid $400–$599 — close to the threshold, accountant may want to verify
Corporations (Inc., Corp., LLC taxed as C or S corp) generally do not need a 1099-NEC — note this but flag for accountant confirmation.
  • 标记为1099-NEC候选:服务付款≥600美元的收款人(承包商、自由职业者、顾问)
  • 标记为1099-MISC候选:租金、律师费、奖金/奖励付款≥600美元的收款人
  • 接近阈值提醒:标记付款在400-599美元之间的收款人——接近阈值,会计师可能需要核实
公司(Inc.、Corp.、按C型或S型股份有限公司纳税的LLC)通常不需要1099-NEC表单——标注此点,但仍标记供会计师确认。

4. Check W-9 status

4. 检查W-9状态

For each flagged payee, note whether a W-9 / EIN is on file in QuickBooks. Mark as:
  • ✅ W-9 on file (EIN/SSN recorded in QuickBooks)
  • ⚠️ Missing — W-9 not on file; must collect before filing
  • ❓ Unknown — cannot determine from available data
对于每个标记的收款人,记录QuickBooks中是否存有W-9/EIN。标记为:
  • ✅ 已存有W-9(QuickBooks中记录了EIN/SSN)
  • ⚠️ 缺失——未存有W-9;提交前必须收集
  • ❓ 未知——无法从现有数据判断

5. Deliver the 1099 prep package

5. 交付1099表单准备包

Use this structure:
Structure the 1099 prep output as a document with these sections:
  1. Header — H2 with "1099 prep list" and the tax year. Subline: prepared date, "For review by your accountant," and "Not tax advice."
  2. Summary — Bullet counts: total contractors paid, number requiring 1099-NEC (at or above $600 for services), number missing W-9 (with filing deadline note for Jan 31), and number near-threshold flagged for review.
  3. 1099-NEC candidates table — Columns: payee name, total paid, data sources, W-9 status (on file / missing / unknown), and notes. Flag any payee paid via PayPal or Stripe with a note that the platform may issue its own 1099-K.
  4. Missing W-9 action list — Numbered list of contractors who need to provide a W-9 before filing, with amounts paid and a reminder to request the form.
  5. Near-threshold table — Payees paid $400-$599 flagged for accountant review, with a note to verify no additional payments were missed.
  6. Payment processor note — Explain that PayPal and Stripe issue their own 1099-K forms and the accountant should confirm whether a 1099-NEC is also needed for contractors paid exclusively through those platforms.
  7. Next steps checklist — Action items for the accountant: collect missing W-9s, confirm unknowns, review near-threshold payees, verify corporation exemptions, confirm 1099-K overlap handling, file by January 31.

使用以下结构:
将1099表单准备输出整理为文档,按顺序包含以下部分:
  1. 标题 — H2格式的“1099表单准备名单”,后跟纳税年度。副标题:生成日期、“供会计师审核使用”以及“非税务建议”。
  2. 汇总 — 项目符号统计:已付款的承包商总数、需要1099-NEC表单的人数(服务付款≥600美元)、缺失W-9的人数(标注1月31日的提交截止日期)、接近阈值需审核的人数。
  3. 1099-NEC候选表 — 列:收款人姓名、总付款金额、数据来源、W-9状态(已存有/缺失/未知)、备注。对通过PayPal或Stripe付款的收款人标记备注,说明平台可能自行发放1099-K表单。
  4. 缺失W-9行动清单 — 编号列表,列出提交前需提供W-9的承包商,包含付款金额和提醒请求表单的内容。
  5. 接近阈值表 — 付款在400-599美元之间、需会计师审核的收款人,标注需核实是否遗漏额外付款。
  6. 支付处理器说明 — 说明PayPal和Stripe会自行发放1099-K表单,会计师应确认对于仅通过这些平台付款的承包商是否还需要1099-NEC表单。
  7. 下一步行动清单 — 会计师的行动项:收集缺失的W-9、确认未知项、审核接近阈值的收款人、核实公司豁免情况、确认1099-K重叠处理方式、在1月31日前提交。

Guardrails

约束规则

  • Not tax advice. Open every deliverable with this: "Prepared for review by your accountant — not tax advice." Include it in the document header, not just in chat.
  • State every assumption. If you assumed a 22% bracket, say so. If you excluded state taxes, say so. The accountant will adjust; give them the levers.
  • Don't merge payees automatically. Flag likely duplicates for human review.
  • Don't file anything. The output is prep material. Filing is out of scope.
  • Corporation exemption is a judgment call. Note it; don't auto-exclude.
  • 非税务建议。每份交付件开头均需标注:“供会计师审核使用——非税务建议”。将其包含在文档标题中,而非仅在聊天中提及。
  • 列明所有假设。如果假设使用22%的税率区间,需明确说明。如果未包含州税,也需说明。会计师会进行调整,请提供调整依据。
  • 不要自动合并收款人。标记疑似重复项供人工审核。
  • 不要提交任何文件。输出仅为准备材料。提交不在本技能范围内。
  • 公司豁免需判断。标注此点,但不要自动排除。

Reference files

参考文件

  • reference/calculation-assumptions.md — full tax math, bracket table, and SE tax walkthrough
  • reference/connector-queries.md — how to pull data from QuickBooks, PayPal, and Stripe
  • reference/gotchas.md — Good / Bad patterns for common failure modes
  • reference/examples/quarterly-estimate.md — worked quarterly estimate example
  • reference/examples/year-end-1099.md — worked year-end 1099 prep example
  • reference/calculation-assumptions.md — 完整的税务计算方式、税率区间表和自营职业税分步说明
  • reference/connector-queries.md — 如何从QuickBooks、PayPal和Stripe提取数据
  • reference/gotchas.md — 常见故障模式的正确/错误示例
  • reference/examples/quarterly-estimate.md — 季度预估税款示例
  • reference/examples/year-end-1099.md — 年末1099表单准备示例