Tax forms
The affiliate payments by year view, the paid-in-year basis, the conservative $600 tracking threshold, and the year-end CSV export.
When you pay U.S. affiliates through Rekomi, Rekomi (Uplup Inc.) is the payer of record. Year-end 1099-NEC filing is handled through Stripe under Rekomi's name; you do not file anything for your affiliates. What this page covers is the visibility you get on top of that: Rekomi watches each affiliate's year-to-date earnings, flags everyone who could plausibly need a 1099-NEC, and gives you a candidates CSV for your own records and your accountant.
How the underlying tax form is collected depends on the affiliate's payout method. Affiliates paid on Stripe Express provide their tax details to Stripe during Express onboarding (a W-9 for U.S. persons), and Stripe holds the form. Affiliates paid via PayPal (countries Stripe Express does not cover) upload their W-8 directly to Rekomi; their payouts are held until a current form is on file.
The Affiliate payments by year view
/dashboard/payouts/tax shows every affiliate whose payments in the year (valued at the USD amount actually paid, the rate locked on each payout line), or whose earnings in the year, have crossed the $600 candidate threshold. Pick the tax year at the top (the current year and the three before it); the view and the CSV export follow it. Payments lead because that is the basis a 1099-NEC reports; earnings sit beside them for your own books. Refund recoveries deducted from a payout are not counted as paid. Each row:
- Affiliate name + email
- Tax form status (a Missing badge, or the newest form on file: W9, W8BEN, W8BENE)
- Paid this year
- Earned this year
A note above the table names the payer of record (Uplup Inc d/b/a Rekomi) so nobody mistakes the list for a filing list: brands do not file for these payments.
The payout method and any tax conflicts appear in the CSV export.

The $600 threshold is deliberately conservative, not a statutory rule. The statutory 1099-NEC threshold for tax year 2026 onward is $2,000, but Rekomi surfaces candidates from $600 so nobody who might need a form slips through, and so the records hold up under older or stricter standards too. Treat the list as a heads-up: the forms themselves go out through Stripe to the affiliates who meet the statutory threshold.
W-9 vs W-8BEN vs W-8BEN-E
- W-9: U.S. persons and U.S. business entities. Provides the affiliate's TIN (SSN or EIN).
- W-8BEN: non-U.S. individuals. Certifies foreign status.
- W-8BEN-E: non-U.S. business entities. Same purpose as W-8BEN for legal entities.
For Stripe-rail affiliates, Stripe collects the form during Express onboarding. PayPal and bank-deposit affiliates are prompted to pick the right W-8 on /a/settings and upload a signed PDF plus a canvas e-signature.
Where tax forms are stored
Forms uploaded to Rekomi (the PayPal and bank-deposit rails) live in private storage on DigitalOcean Spaces. (Stripe-rail forms are held by Stripe, not Rekomi.) The persisted URL is an opaque marker, never a directly-servable public URL. The file itself is opened only by the affiliate who uploaded it (GET /api/me/tax-form, behind their /a/settings page) and by Rekomi's own administrators for filing and support, each time through a short-lived pre-signed URL (5-minute TTL). Your dashboard shows the form's status, type and submission date, never the file: Rekomi is the payer of record, so the SSN or ITIN on the form never needs to reach your browser, and it never travels through a public CDN path.
CSV export for your records
From /dashboard/payouts/tax, pick the tax year and click Export CSV. The export covers the selected tax year and downloads through your signed-in dashboard session, so it needs no extra authentication step. The CSV contains one row per candidate affiliate with these columns:
affiliate_id, email, full_name, tax_form_type, tax_form_status, paid_in_year_cents, paid_in_year_dollars, earned_in_year_cents, earned_in_year_dollars, rail, payout_method, latest_tax_form_type, tax_conflict, payer_of_record, basis, tax_year
The file is named rekomi-affiliate-payments-{year}.csv. How the two money columns are counted: earned_in_year_cents is commission earned in the tax year, valued in USD at the reference rate on each conversion's date; paid_in_year_cents is what was actually paid during the year, at the USD amount on each payout line, less any refund recoveries deducted from the payout. payer_of_record and basis (paid in the year, UTC day bounds) ride every row so the file explains itself in a spreadsheet. A payment reversed inside the same tax year (a refund clawed back on or before December 31) does not count toward paid_in_year_cents. A reversal dated in a later year does not reduce it: the payment stays in the year it was made, and the later year's export footnotes the clawback in a # NOTE line rather than netting it against that year's payments. Rows without a USD reference rate for their date (a currency with no usable stored rate) are left out of both totals rather than guessed; the export counts those rows and names the currencies in a # NOTE line at the bottom of the CSV, and the same warning is flagged on the tax page above the candidates table, so the totals can understate until FX coverage is restored.
Deliberately absent: TINs and addresses. The export is a records worksheet, not a filing file, so it never carries an SSN or EIN through your browser or a spreadsheet; the filing itself happens through Stripe, which holds the affiliate's tax form.
A note on full_name: this column is the name the affiliate entered on your campaign's application form, included so the worksheet is readable. It is not the tax identity. The legal name that matters for W-9/W-8 and 1099 purposes lives on the tax form itself or the affiliate's Stripe account, both collected during payout setup, so an informal or edited signup name never affects filing.
Because Rekomi is the payer of record, the 1099-NECs are filed through Stripe at year end; the CSV tells you who is likely to receive one and how much was paid to them, for your records.
CSV formula injection guard
The CSV export prefixes any field that starts with =, +, -, or @ (plus tab and carriage-return prefixes) with a single quote, so spreadsheet apps do not interpret them as formulas. This is a standard defense against CSV injection attacks where a malicious affiliate could embed a formula in their full_name that runs when you open the file. Safe by default.
Retention
Rekomi keeps uploaded tax forms for the seven-year retention window that applies to payer records (26 CFR 1.6001-1). A daily cleanup deletes a form only once it is more than seven years old and no longer needed: superseded forms (a newer form exists for the same affiliate) and forms belonging to anonymized affiliates. The stored file is removed first, then the record. The most recent form of an active affiliate is never deleted, even past seven years.
Erasure is the exception. When an affiliate's account is erased (a GDPR or CCPA deletion request: the affiliate deletes their own account, or you forward the request to support), their tax-form records and files are removed as part of erasure rather than waiting out the retention window. Export the 1099-NEC candidates CSV before a US affiliate you have paid is erased, so your own records stay complete.
Affiliate-side tax form upload
The affiliate's view is at /a/settings. See Affiliates: Tax forms for what they see, how the canvas signature works, and what they can re-upload.