Year-end tax package preparation pipeline for QBO-connected clients. Generates a 9-tab Excel workbook: Tax Summary, Income, Expenses, Depreciation, 1099s, St...
Prepare a complete year-end tax package for client filing. Pulls full-year financial data from QBO, reads the client SOP for entity configuration, and generates all tax-ready schedules with IRS form mapping.
Use when:
NOT for:
month-end-close.pybank-reconciliation.pypl-deep-analysis.pybash
# Standard run — pulls full year from QBO
python3 scripts/pipelines/tax-package-prep.py --slug my-client --year 2025
# Skip GL drill (faster, less vendor detail)
python3 scripts/pipelines/tax-package-prep.py --slug my-client --year 2025 --skip-gl
# Custom output directory
python3 scripts/pipelines/tax-package-prep.py --slug my-client --year 2025 --out ~/Desktop/tax-2025
# QBO sandbox
python3 scripts/pipelines/tax-package-prep.py --slug my-client --year 2025 --sandbox
bash
pip install openpyxl
# QBO auth token must already be configured
TabContentsTax SummaryEntity info, key tax metrics, special flags (crypto/FBAR/vehicle/home office), SOP watch itemsIncome ScheduleRevenue by category with IRS Sch C / 1120 / 1065 line mappingExpense ScheduleExpenses with IRS line mapping, 50% meal limit applied, deductible amountsDepreciationFixed assets from GL + BS, MACRS / Section 179 / Straight-Line detection1099 VendorsVendors paid >$600, form type (NEC/MISC), corp exemption flag, W-9 action listState NexusMulti-state revenue/expense pattern detection, HIGH/MEDIUM/LOW risk ratingCrypto FlagForm 8949 flag, wallet address, FBAR assessment, action item checklistChecklistREADY / NEEDS INPUT / MISSING for every tax package itemCDC LogYear-over-year income and expense position changes
The pipeline reads clients/{slug}/sop.md to auto-configure:
SOP SignalWhat It TriggersS-Corp / 1120-SEntity = S-Corp, officer W-2 flag, K-1 checklist itemC-Corp / 1120Entity = C-Corp, E&P tracking, charitable 10% limitPartnership / 1065K-1 prep checklist, partner basis tracking0x[wallet] (ETH address)Crypto flag, Form 8949, wallet address in outputcrypto / bitcoin / defiCrypto flag, Form 8949 requiredvehicle / mileageVehicle schedule, mileage log requirementhome office / Form 8829Home office flag, sq footage action itemsSAFE / convertible noteSAFE treatment watch itemforeign / offshoreFBAR flag, FinCEN 114 actionNOL / loss carryforwardCarryforward analysisSection 179 carrySection 179 carryover checkinterest expenseWatch item: verify deductibility
Scans all GL expense accounts and aggregates by vendor name:
Scans GL memos, vendor names, and account names for US state indicators:
Physical nexus (employees, office), economic nexus ($100K revenue threshold), and payroll nexus are all flagged.
Crypto:
FBAR (FinCEN 114):
Each run saves a snapshot to .cache/tax-package-prep/{slug}-{year}.json.
The next year's run computes year-over-year deltas for income and expense accounts.
CDC events are shown in the CDC Log tab sorted by absolute dollar change.
Scans GL and Balance Sheet for:
Output includes: account, year-end balance, period activity, detected method, Section 179 flag.
Scans GL for estimated tax payment entries:
StatusMeaning✅ READYData found in QBO — no client action needed⚠ NEEDS INPUTRequires additional documentation from client❌ MISSINGNot found — QBO pull failed or data doesn't exist
scripts/pipelines/tax-package-prep.py.cache/tax-package-prep/{slug}-{year}.json~/Desktop/TaxPackage_{slug}_{year}.xlsx (or --out dir)skills/tax-package-prep/SKILL.mdDecimal — no float rounding errors