Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Vendor Compliance 1099

v1.0.2

1099 vendor compliance pipeline for accounting firms. Pulls full-year General Ledger from QBO, aggregates vendor payments, applies IRS $600 threshold, classi...

0· 243· 3 versions· 1 current· 1 all-time· Updated 19h ago· MIT-0

Skill: vendor-compliance-1099

Description

1099 vendor compliance pipeline for accounting firms. Pulls the full-year General Ledger from QBO, aggregates vendor payments by name, applies IRS $600 threshold, classifies 1099-NEC vs 1099-MISC, checks corporate exemptions, tracks W-9 and TIN status, filters credit card payments (1099-K handled by processor), calculates late-filing penalties, and produces a year-over-year CDC. Outputs an 8-tab Excel workbook.

Trigger phrases: "run 1099 compliance," "vendor 1099 check," "pull 1099 list," "who needs a 1099," "1099 vendor scan," "W-9 tracker," "1099-NEC list," "1099-MISC list"

NOT for: payroll W-2 compliance, 1042-S foreign withholding, 1099-K reconciliation (CC processor), or non-US entities.


Pipeline Location

scripts/pipelines/vendor-compliance-1099.py

Usage

# Standard run
python3 scripts/pipelines/vendor-compliance-1099.py --slug my-client --year 2025

# QBO sandbox
python3 scripts/pipelines/vendor-compliance-1099.py --slug my-client --year 2025 --sandbox

# Custom output directory
python3 scripts/pipelines/vendor-compliance-1099.py --slug my-client --year 2025 --out ~/Desktop/1099s

# Skip GL pull (empty vendor list — testing only)
python3 scripts/pipelines/vendor-compliance-1099.py --slug my-client --year 2025 --skip-gl

Arguments:

FlagRequiredDefaultNotes
--slugQBO client slug
--yearTax year (e.g. 2025)
--sandboxfalseUse QBO sandbox
--skip-glfalseSkip GL pull (empty output — testing only)
--out~/DesktopOutput directory

Output: 8-Tab Excel Workbook

TabContents
Vendor SummaryAll vendors: total paid, ACH/check/wire vs CC split, form type, corp exempt flag, action required
1099-NEC ListContractors/service vendors ≥$600 (reportable amount only), W-9 status, TIN status, action
1099-MISC ListRent, royalties, prizes ≥$600 with MISC box classification (Box 1/2/3/6/10)
ExemptionsCorp-flagged vendors (LLC/Inc/Corp/Ltd) requiring manual entity-type verification before skipping 1099
W-9 TrackerPer-vendor W-9 received/pending/missing status; persisted between runs; editable date/TIN fields
Payment MethodsACH/check/wire vs. credit card split per vendor; CC excluded from 1099 reportable amount
Penalties CalcIRC §6721/6722 penalty scenarios: on-time, 15/30/45/60/90 days late + today's actual exposure
CDC LogNew vendors (not in prior year), dropped vendors, amount changes ≥10% or ≥$500 YoY

Output filename: VendorCompliance_1099_{slug}_{year}.xlsx


Key IRS Rules Implemented

$600 Threshold

  • Applied to ACH/check/wire amounts only — credit card payments excluded (processor files 1099-K)
  • Threshold is per-vendor, full calendar year aggregate

1099 Type Classification

FormWhenKeyword triggers
1099-NECNon-employee compensation: contractors, consultants, attorneys, sole proprietorscontractor, freelance, consultant, attorney, repair, cleaning, design, etc.
1099-MISCRent, royalties, prizes, medical paymentsrent, royalty, prize, award, medical, healthcare

Default is 1099-NEC — NEC is assumed for all service payments unless account/memo indicates MISC category.

Corporate Exemption

  • Vendor names matching LLC|Inc|Corp|Ltd|Co.|Company|etc. → flagged as potentially exempt
  • Still appear in Exemptions tab for manual verification
  • Exception — always file regardless of entity type:
    • Attorneys (IRC §6045(f)) → 1099-NEC
    • Medical providers → 1099-MISC Box 6

Payment Method Filter

  • Credit card keywords in memo/txn_type/split → classified as CC, excluded from reportable amount
  • ACH/check/wire → included in reportable amount
  • Unclassified payments → included (conservative — better to over-report)

W-9 & TIN Tracking

  • W-9 status persisted at .cache/vendor-compliance-1099/{slug}-w9.json
  • New vendors auto-default to NO status
  • TIN status persisted at .cache/vendor-compliance-1099/{slug}-tin.json
  • Backup withholding: 24% applies if vendor fails to provide valid TIN

Filing Deadlines

FormRecipient CopyIRS PaperIRS e-File
1099-NECJanuary 31January 31January 31
1099-MISC (Box 7)January 31January 31January 31
1099-MISC (other boxes)January 31February 28March 31

e-File required if filing 10+ information returns.


Penalty Rates (IRC §6721/6722 — 2024)

Days LatePer FormSmall Biz Annual Cap
≤30 days$60$232,500
31–60 days$120$664,500
>60 days$310$1,329,000
Intentional disregard$630 minimumNo cap

Small business = avg annual gross receipts ≤$5M for 3 prior years.


Cache Files

FilePurpose
.cache/vendor-compliance-1099/{slug}-{year}.jsonYoY snapshot for CDC (auto-saved each run)
.cache/vendor-compliance-1099/{slug}-{year-1}.jsonPrior year snapshot for comparison
.cache/vendor-compliance-1099/{slug}-w9.jsonW-9 status (persisted, editable manually)
.cache/vendor-compliance-1099/{slug}-tin.jsonTIN status (persisted, editable manually)

Updating W-9 status manually:

# Edit cache file directly to update W-9 status
cat .cache/vendor-compliance-1099/my-client-w9.json
# Modify "VendorName": "YES" | "NO" | "PENDING"
# Then re-run pipeline — status will be loaded automatically

Integration Requirements

  • QBO Client: Node.js QBO client (auth token must be set)
  • Python packages: pip install openpyxl
  • GL access required: Pipeline reads full-year GL — ensure QBO auth has GL report access
  • No write access to QBO — read-only integration

Decimal Math

All financial calculations use Python Decimal with ROUND_HALF_UP at 2 decimal places. No float arithmetic. Same pattern as tax-package-prep.py and pl-deep-analysis.py.


When NOT to Use This Skill

  • Payroll / W-2 compliance → separate payroll workflow
  • 1099-K reconciliation → CC processor provides (not Sam's responsibility)
  • Foreign vendor withholding → Form 1042-S, different rules
  • State-level 1099 filing → varies by state, not covered here
  • 1099-INT / 1099-DIV / 1099-B → investment/bank-issued, not vendor compliance

Workflow Checklist

Run this pipeline as part of year-end close:

  1. November/December: Pre-screen — run pipeline to identify missing W-9s before year-end
  2. January (early): Final run — full year GL aggregation
  3. January 15: W-9 collection deadline (internal)
  4. January 25: Prepare and review filings
  5. January 31: File 1099-NEC (recipient + IRS)
  6. February 28 / March 31: File 1099-MISC (IRS paper/e-file)

Version tags

latestvk97ekatq0fnpkrkded3384x47983dqex