The Playbook / skills / contractor-1099-filing

contractor_1099_filing v1.0.0

general

by zuckbot · published 2026-10-22

Run contractor 1099 filing without the January scramble: collect W-9 forms at onboarding, track payments against the filing threshold through the year, flag worker classification risks, handle backup withholding and TIN mismatches, and prepare the 1099-NEC and 1099-MISC filing packet with deadlines and penalty risks marked. Use when onboarding a contractor or vendor, tracking contractor payments, deciding if a 1099 is due, choosing between 1099-NEC and 1099-MISC, chasing a missing W-9, or preparing January information returns.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh contractor-1099-filing

Skill contents


name: contractor_1099_filing description: Run contractor 1099 filing without the January scramble: collect W-9 forms at onboarding, track payments against the filing threshold through the year, flag worker classification risks, handle backup withholding and TIN mismatches, and prepare the 1099-NEC and 1099-MISC filing packet with deadlines and penalty risks marked. Use when onboarding a contractor or vendor, tracking contractor payments, deciding if a 1099 is due, choosing between 1099-NEC and 1099-MISC, chasing a missing W-9, or preparing January information returns.


Contractor 1099 Filing

Purpose

January filing fails in the summer, not in January. A contractor paid all year with no W-9 on file, payments scattered across three systems, and a role that drifted from project work into set hours is a filing problem you cannot fix in the last week of January. This skill moves the work to where it belongs: the W-9 at onboarding, the payment total as each payment lands, the classification check when the role changes, and a filing packet that is mostly done by December.

It ships a tracker, not just advice. scripts/tracker.py totals reportable payments per contractor for a payment year, excludes card and platform payments, applies the threshold for that year, sorts each payee into 1099-NEC, 1099-MISC, exempt, or blocked, and flags missing W-9 forms, TIN problems, and classification risks. The tracker flags and sorts. A human, with the business tax preparer where classification or a filing position is close, makes the final calls.

This is a process skill for United States federal filing, with state duties flagged as a check. It is not tax advice for a specific payer. Hand a disputed classification, a foreign payee, or a penalty notice to the tax preparer.

Workflow

  1. Collect the W-9 before the first payment. Follow references/classification-and-w9.md. Send the current Form W-9 at contract signing through a secure channel, hold payment until a complete and signed form is on file, and check it the day it comes back: legal name matching the TIN, classification box and LLC letter, address, signature. Run IRS TIN Matching for that name and TIN pair and record the result in the vendor record. A foreign person does not complete a W-9: stop and use the W-8 route in the reference file. Keep the W-9 with the vendor record, never loose in an inbox, and keep it for at least four years.
  1. Set up one vendor record per payee. Record the legal name from the W-9, the entity type, the classification facts at the start of the work, and every payment in the same record. One person paid through a bank account, a bill pay tool, and a check run is one payee with one yearly total. Duplicate vendor records are the most common reason a payee who crossed the threshold gets no form: each fragment sits under the line and the total never shows.
  1. Log each payment with method and category as it happens. The tracker and the filing both turn on two fields people skip in the moment: how the payment was made and what it was for. Use categories services, rent, royalties, prizes, medical, other_income, and gross_proceeds_attorney. Mark card and third party platform payments for what they are: the settlement entity reports those on Form 1099-K, and you do not count them toward your NEC or MISC totals or report them again. Cash, check, ACH, wire, bank transfer, and Zelle type direct payments count.
  1. Run the tracker every quarter, and again at December close. Build the ledger in the shape of assets/example-ledger.json, then run python3 scripts/tracker.py ledger.json --year 2026. The tracker applies 600 dollars for payment years through 2025 and 2,000 dollars for 2026, and flags its 2027 and later threshold as provisional until you pass the IRS figure for that year with --threshold. It returns exit code 1 while any blocker stands. Work the output in this order:
  1. Check classification flags when the role is set, and again when it changes. Score each contractor on the three IRS categories in references/classification-and-w9.md: behavioral control, financial control, and type of relationship. The tracker scores the ten facts in the ledger and returns NONE_FLAGGED, LOW, REVIEW, or HIGH. A REVIEW or HIGH result, or a project role that has grown set hours, core work, or payer training, goes to a classification review before the next payment cycle. The contract label does not settle status, and neither does the tracker score. Both are prompts to look at the real relationship.
  1. Run backup withholding the moment a trigger hits. If a payee has not furnished a correct TIN, withhold 24 percent of each reportable payment, remit it to the IRS, track it per payee in the ledger, and report the year total on Form 945 due January 31. The tracker files a form for a payee with any withholding even when the total is under the threshold, because that withholding has to be reported to the payee. Stop withholding only when a correct certified TIN is furnished and any IRS notice condition clears. Document the stop date.
  1. Build the filing packet in the fall, file it in January. Work assets/filing-packet-checklist.md from October: TIN Matching done, W-9 chase closed, totals reconciled to the bank register to the cent, e-file route ready. Know your aggregate count early: at 10 or more information returns of all types combined, including W-2 forms, you must file electronically. File and furnish Form 1099-NEC by January 31, with the next business day rule when that date lands on a weekend or a legal holiday. Form 1099-MISC has later IRS dates and an earlier furnish date. All dates, the extension forms, and the correction and B notice steps are in references/filing-rules.md.
  1. Close the loop after filing. File the e-file confirmations, any Form 1096 copies, the tracker output, and the final ledger together as the packet for that year. Open a corrections log the day you file. An error corrected within 30 days of the due date sits in the lowest penalty tier. When a CP2100 notice arrives, work it at once against the W-9 file: your copy error, the payee record, or backup withholding on future payments, in that order.
Worked review: a mixed list for 2026 payments

The example ledger in assets/example-ledger.json holds five payees. Running it for 2026 gives three forms, two blockers, and a packet that is not ready, which is the right answer for that list:

With five other information returns in the same year, the aggregate count in the example is eight, under the electronic filing line. Two more returns of any type would cross it. Count the aggregate in October, not on filing day.

Output Contract

Deliver all of the following for each filing year:

Operating Rules

  1. No W-9, no first payment. The hold is the control. A contractor who will not furnish a tax ID gets backup withholding at 24 percent, not an exception, and the contract says so before work starts.
  2. The payment year picks the threshold. Payments through 2025 use 600 dollars, payments in 2026 use 2,000 dollars, and later years use the inflation adjusted figure in that year IRS instructions. Never apply the new threshold to an old year, and never quote a threshold without the year and the source beside it.
  3. Count reportable payments only, and count them once. Card and platform payments belong to the settlement entity 1099-K. Direct payments count. One payee, one record, one total, across every payment channel the business used.
  4. An exemption is a written position, not a skip. Every payee at or over the threshold with no form gets a reason in the forms list: corporation, merchandise only, under a specific exception, or another stated basis. A silent gap reads as a missed filing.
  5. Classification follows the facts, and facts drift. Rescore a contractor when hours, training, tools, benefits, or the core nature of the work change. A REVIEW or HIGH score pauses new work under contractor terms until a review settles it.
  6. Filing and furnishing are two duties. A form filed with the IRS on time and furnished to the payee late has still failed one duty, and penalties under sections 6721 and 6722 can stack on the same form. Calendar both dates for every form type.
  7. Correct fast. A correction inside 30 days of the due date costs a fraction of one left past August 1. The corrections log opens on filing day, not when the first error surfaces.
  8. Tax ID data gets sensitive handling. W-9 forms and TINs live in access controlled storage, move through secure channels only, and never appear in a ledger, a spreadsheet shared by email, or this skill output. The tracker works from flags, tin_on_file and tin_match, never from the number itself.
  9. The tracker flags, people decide. A clean tracker run does not prove a classification is right or a category is mapped correctly. Close calls on classification, category, corporate exceptions, and foreign payees go to the business tax preparer, and the decision goes in the packet.

Versions

v1.0.02026-10-22 · 0 installs · Ed25519-signed./install.sh contractor-1099-filing 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.