Modify tax forms using CSV
Stripe automatically generates tax forms for all connected accounts that have transactions in a given tax year. You can modify the values on a tax form by exporting the tax forms to a CSV file, making your changes, and then importing the tax forms in the Dashboard.
Export tax forms
You can export tax forms to verify data at scale against your internal systems or to prepare for a subsequent import. Whatever your rationale, you can export tax forms by clicking the Export button, then Export CSV. Choose the type of tax form to export, which also defines the CSV file that you download. This choice overrides any tax form type filter, if set. If you have multiple types of 1099 forms (e.g., 1099-K for some recipients and 1099-NEC for others), you must export them separately.
You can also choose whether or not to export the tax identification number (TIN). If you don’t include the TIN, the TIN column shows a masked value (e.g., *********
). If you include the TIN, the value appears masked to the last 4 digits (e.g., *****1234
). If you require the full TIN in the export, contact Stripe support to enable this feature.
The export considers any filters that you apply. You can see any applied filters by hovering over the information icon in the lower left corner of the export dialog.
After you initiate an export you can monitor it on the Exports & imports tab. An export expires 7 days after initiation.

Import tax forms
Stripe provides values for payee data and form totals whenever possible. However, you may want to supply your own totals-for example if you provided reimbursements or otherwise altered the totals. Or you may want to import data to correct a filed tax form.
Importing tax forms allows you to override nearly all values that Stripe supplied on the initial tax form. When you import, your values are authoritative. If you need to return to the Stripe-supplied values, contact Stripe support.
You can import tax forms by clicking the Import button. Choose the type of tax form to import and specify whether you’re modifying unfiled forms or correcting filed forms.
You’re not required to supply a payee’s TIN on import. If you provide a 9-digit number for the TIN, it overrides the Stripe-supplied value. Any other value is ignored, retaining the Stripe-supplied value.
After you initiate an import you can monitor it on the Exports & imports tab.

Override the tax form status
Stripe calculates a status for each tax form based on the type of form, year-to-date amount, and information completeness. You can override a tax form’s status by setting a value for the filing_requirement
field on import. This field can have one of the following values:
NOT_REQUIRED
– Don’t file the form, even if it meets the threshold and is complete.REQUIRED
– File the form, even if it doesn’t meet the threshold or is incomplete. Conceptually this is the combination ofFILE_EVEN_IF_INCOMPLETE
andFILE_EVEN_IF_BELOW_THRESHOLD
.FILE_EVEN_IF_INCOMPLETE
– File the form if it’s above the threshold, even if it isn’t complete.FILE_EVEN_IF_BELOW_THRESHOLD
– File the form if it’s complete, even if it’s below the threshold.
1099 CSV schema
The schemas for 1099-NEC, 1099-K, and 1099-MISC are similar overall. Most fields in the CSV file map directly to a box on the tax form and are named accordingly.
Refer to the IRS website for instructions on 1099 tax forms (e.g., 1099-NEC instructions).
Field | Description |
---|---|
form_id | The ID of the tax form. You can’t change this value. |
email_address | The payee’s email address. |
status | The federal filing status of the tax form. You can’t change this value. To force a tax form into a different status, use filing_requirements . |
postal_delivery | Whether to mail the form. You can use this field to override your postal delivery default in tax form settings. |
delivery_status | The postal delivery status of the tax form. You can’t change this value. |
stripe_account_id | The payee’s Stripe account ID. You can’t change this value. |
filing_requirement | Use this field to override a tax form status. |
payee_name_line_1 | The payee’s name. |
payee_name_line_2 | Overflow for the payee’s name, sometimes used for a doing business as (DBA) name. |
payee_tin | The payee’s TIN. On export this is masked by default. Masked values are ignored on import. |
payee_tin_type | The type (business or individual) of a payee’s TIN. This field may be necessary for some state filings. |
payee_address_line 1 | The first line of the payee’s address. |
payee_address_line 2 | The second line of the payee’s address. |
payee_city | The payee’s city. |
payee_region | The payee’s state or region. |
payee_postal_code | The payee’s postal code. |
payee_country | The payee’s country. |
payee_account_number | The account number on the tax form. This field defaults to the stripe_account_id , but you can override the value on import. |
box_1_nonemployee_compensation | The total compensation paid to the non-employee. |
box_4_federal_income_tax_withheld | The total amount withheld from federal income taxes, if any. |
box_5_state_tax_withheld | The total amount withheld from state income taxes, if any. |
box_5_other_state_tax_withheld | The total amount withheld from the other state income taxes, if any. |
box_6_state_filer_id | The payer’s ID for filing in the state. |
box_6_other_state_filer_id | The payer’s ID for filing in the other state. |
box_7_state_income | The payee’s state income. |
box_7_other_state_income | The payee’s other state income. |
fatca_filing | Whether to check the Foreign Account Tax Compliance Act (FATCA) filing requirement. |
second_tin_notice | Use this field to specify whether the payer has received a TIN notice for the payee twice in 3 calendar years. |