# Test 1099 integrations

Test Stripe 1099 tax reporting integrations.

## Overview

You can partially test the Stripe 1099 tax reporting integrations in a sandbox, but a full end-to-end test (from form generation through delivery) isn’t possible outside of an active filing season. Use this guide to learn what you can and can’t test, and how to work around the limitations.

Use [Sandboxes](https://docs.stripe.com/sandboxes.md) to test your integration.

## What you can test in a sandbox 

You can use a sandbox to test the general implementation of embedded components and API integrations. Specifically:

- You can verify that your embedded component renders correctly in your product’s UI.
- You can confirm that your API integration is structured correctly (authentication, API calls, and error handling).
- You can test webhook delivery and confirm that your endpoint receives events.

If you can’t access the tax reporting Dashboard in your sandbox, contact your Stripe account team to enable access.

## What you can’t test before filing season 

The following parts of the 1099 workflow are not testable before the IRS filing season opens in January:

- **End-to-end form filing**: You can only file 1099 forms after the IRS e-filing portal opens in January. Filing isn’t available in a sandbox outside of this window.
- **Documents embedded component with realistic data**: The documents embedded component displays forms that have already been filed and delivered. In a sandbox, no filed forms exist until filing season has occurred. If a connected account has e-delivered forms from a prior tax year, you can use those forms to verify the embedded component’s display behavior.
- **E-delivery confirmation**: E-delivery of tax forms is triggered by the filing event. Because filing isn’t available before the season opens, e-delivery testing isn’t possible before filing season. Stripe doesn’t send e-delivery email notifications in sandboxes, including during filing season.

## Using the tax.form.updated webhook

Stripe sends the tax.form.updated webhook when a form is filed or when its IRS or state filing status changes (for example, from `pending` to `accepted` or `rejected`). To test your webhook handler before filing season, you can use the webhook event simulator in the Stripe Dashboard to send a sample tax.form.updated event payload to your endpoint.The event includes the form ID, updated status, and relevant filing metadata. Use this to confirm that your application handles status changes correctly.

Verify incoming [webhook signatures](https://docs.stripe.com/webhooks.md#verify-events) before processing events from Stripe. If your endpoint uses network allowlisting, use the [Stripe public IP addresses](https://docs.stripe.com/ips.md). Test your API authentication and error handling separately from the filing lifecycle.

## E-delivery and the documents embedded component

In live mode, when a form is filed, Stripe sends an email notification to connected accounts that have given e-delivery consent (if the Stripe outreach program is enabled, or if the platform has submitted consent through the API). The email contains a link to the form, which the connected account can view through the documents embedded component.If the documents embedded component returns empty for a connected account, check:

- Whether the account has any filed and e-delivered forms on record.
- Whether the account’s e-delivery consent has been recorded correctly.
- Whether the component is configured to display the correct form types.

## Timing expectations

The IRS e-filing portal typically opens in mid-January. The Stripe filing season begins at that time.

IRS filing deadlines depend on the form type:

- Form 1099-NEC: January 31 for both paper and electronic filing.
- Forms 1099-MISC and 1099-K: February 28 for paper filing and March 31 for electronic filing.

Recipient copies are generally due by January 31, whether delivered by mail or electronically. For Form 1099-MISC reporting amounts in boxes 8 or 10, the recipient deadline is February 15.

These deadlines fall in the year following the tax year. If a deadline falls on a Saturday, Sunday, or legal holiday, it moves to the next business day. See the [IRS general instructions](https://www.irs.gov/instructions/i1099gi) for filing and recipient delivery requirements.

Plan your integration testing timeline to allow for functional testing of non-filing components (component rendering, webhook handling, API calls) before filing season, with live end-to-end validation occurring in January after the portal opens.
