# Create or update multiple forms

Source: https://developer.avalara.com/products/avalara-1099-and-w9/integration-guides/1099-and-w-9/kjy5368487286324/

Guide: 1099 & W-9

# Create or update multiple forms

Learn how to create or update multiple 1099 forms using bulk operations.

This section describes how to create and update 1099 forms using a batch job.

**Endpoints**:

-   `POST /1099/forms/bulk-upsert` - Submit multiple 1099 forms for creation or update
-   `GET /jobs/{id}` - Check the status of a submitted bulk job

**Use case**:

Use this functionality when you need to upload or correct many 1099 forms at once. This is ideal for:

-   Year-end mass filing
-   Uploading data from accounting, payroll, or ERP systems
-   Performing batch corrections before or after IRS submission
-   Running a `dryRun` to validate a data set before committing it

## **Supported behavior**

-   All supported form types (`1099-NEC`, `1099-MISC`, `1099-K`, and so on).
-   Accepts forms for multiple Issuers in a single request.
-   Don’t accept mixed form types in a single request. Set the form type for each request.
-   Performs creates or updates based on the `referenceId` + `issuerId` combination.
-   Accepts incomplete or draft forms for later editing.
-   Supports a maximum of 5,000 forms per request.

## **Form identification rules**

-   If a form with the same `referenceId` and `issuerId` already exists, the system will update it.
-   If no match is found, the system creates the form as new.
-   The IRS automatically treats changes to forms that were already submitted as corrections. You don’t need special flags.

## **The dryRun flag**

Add `"dryRun": true` to validate the payload without saving any records. This helps detect:

-   Structural issues
-   Field format problems
-   Required field omissions

If the payload is valid, the system will return a simulated success response. If errors exist, the response returns them in the `errors` array.

`dryRun` doesn’t store or process data when enabled.