Tax forms
Cobalz collects W-9 and W-8BEN / W-8BEN-E forms from affiliates and produces Track1099- compatible CSVs for 1099-NEC (US individuals + businesses) and 1042-S (foreign individuals + entities) reporting at year-end.
Collecting forms
- Affiliates upload their signed PDF at
/a/<slug>/tax. - PDFs land in Supabase Storage
tax-formsbucket, with per-affiliate path-prefix RLS. - TIN values (SSN / EIN / ITIN / Foreign TIN) are stored separately in Supabase Vault — decrypted only at export time.
- You review at
/m/<slug>/affiliates/<id>. Approve or reject; the affiliate gets a notification.
Payout gating
With require_tax_form_before_payout on (default), affiliates without an approved tax form are skipped during payout runs and surfaced under blocked with tax_form_required. They receive a weekly reminder email (one per affiliate per 7 days, deduplicated).
1099-NEC export
- Lists every W-9 affiliate whose gross payouts crossed the IRS threshold for the tax year.
- Threshold table:
$600for 2024–2025,$2,000for 2026+ per Public Law 119-21 (OBBBA). - CSV is Track1099 / Tax1099 compatible:
Settings → Payouts → 1099-NEC eligibility export. - The export decrypts TINs at runtime and never logs them.
1042-S export
- Lists every W-8BEN or W-8BEN-E affiliate with any payouts in the tax year — no threshold.
- Default income code: 51 (royalties — other). Adjust in your accountant's upload step if your structure requires a different code.
- Withholding rate is left blank in our export — depends on the affiliate's treaty claim in Part II of the W-8.
- CSV at
Settings → Payouts → 1042-S export.
Heads up:Cobalz produces the CSV; we don't file the actual returns. Hand the CSV to your accountant or upload directly to Track1099 / Tax1099 by the IRS deadline (Jan 31 for 1099-NEC, March 15 for 1042-S).
On the roadmap
- IRS TIN-match API: pre-validate TINs before December.
- Direct e-file via Track1099 API (no manual upload).
- 1099-K for affiliates paid via third-party processors above the new thresholds.