About this template
You paid the designer $250 three times. That's a 1099.
It's January. A year of contractor payments in the books and a deadline. You sort by amount, catch the obvious ones, and miss the $750 payee — because you tested invoice by invoice instead of aggregating the person.
Then you issue a 1099-NEC to someone you paid by credit card, which the processor already reported on a 1099-K.
Aggregate first, then test
Every payment to one payee gets summed across the whole year before the $600 threshold is applied. Invoice-by-invoice testing is the single most common way a 1099 gets missed.
The threshold isn't the whole test
Two carve-outs make threshold-only logic wrong:
- Payment method. Card and third-party network payments are reported by the processor on 1099-K — you generally don't issue a NEC for those. Cash, check and ACH generally do. No method column in your export? It says so up front, because method decides who's reportable.
- Entity type. Payments to a C-corp or S-corp are generally exempt. Individuals, sole props, partnerships and most LLCs aren't. No W-9 means entity type is unknown — not "assume reportable".
Plus NEC vs MISC: services go on NEC, rent and prizes on MISC. Rent doesn't go on a NEC.
The section that saves you money comes first
Payees over threshold with no W-9 on file, with the amount at stake. That's what you have to chase and what causes penalties, so it leads the packet.
Then NEC candidates with TIN last-four, MISC candidates with the box and the reason, and Excluded with a mandatory reason — under threshold, card-paid, or a corporation. An exclusion with no reason is a defect.
Anything undeterminable comes back UNKNOWN_METHOD or UNKNOWN_ENTITY. Never a
reportable-by-default guess, and never an invented TIN.
Never a full TIN
Last four digits only. A 1099 packet is a file that gets emailed.
What you supply
Your own Claude Code login, plus a vendor payment export for the year
(QuickBooks: Reports → 1099 Transaction Detail, or Expenses by Vendor) dropped
into ~/1099/exports/.
No QuickBooks API key. The export is the input, which is also why nothing can file.
Where this stops
NOT TAX ADVICE on line one of every packet. It does not file, e-file, or send
anything to a contractor.
It won't tell you whether someone is a contractor or an employee — that's a legal determination, so it flags the question and routes it to the For your CPA section along with state filing and deadlines. It says "confirm the current deadline" on purpose: a stale date in a packet is worse than no date.
Verified on build: the skill, the working tree, both guards, the aggregation rule, both carve-outs and the TIN rule are present on a fresh fork. Running it on your own books is yours to do.