> ## Documentation Index
> Fetch the complete documentation index at: https://paypal-sb-staging.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Submit tax report corrections

You can regenerate Form 1099-K after merchants update their profile information through KYC verification. PayPal processes corrections for up to 5 years after the original form generation.

## When to submit corrections

You need to submit a correction request in these situations:

* Merchant updates their legal name.
* Merchant updates their address.
* Merchant updates their TIN/SSN information.
* Merchant completes KYC verification after KYC revocation.

<Warning>
  PayPal automatically enables the tax reporting capability when merchants complete KYC verification and disables it when KYC is revoked.
</Warning>

## Correction workflow

1. Merchant updates information through your platform and completes KYC verification.
2. You submit correction request to PayPal through the API.
3. PayPal validates KYC and tax reporting capability, regenerates the form within 3 days, and files it with IRS and state agencies.
4. PayPal sends a webhook notification when the corrected form is available.
5. You retrieve the corrected form and deliver it to the merchant.

## 1. Verify KYC completion

Ensure the merchant completes KYC verification for their updated information before you submit a correction request. PayPal rejects correction requests when the merchant's KYC is revoked.

## 2. Submit correction request

You can submit a correction request using one of two approaches:

### Quick request

Use a <a href="/developer/how-to/api/get-started#2-get-an-access-token" target="_blank" rel="noopener noreferrer">valid access token</a> and make a POST call to the `/v2/taxes/reports/{reportId}/corrections` endpoint to regenerate the form using the merchant's current KYC-verified information. Include the following parameters:

**Path parameter**: `reportId` is the ID of the original report you want to correct, retrieved from the <a href="/limited-release/manage-tax-reports/retrieve-tax-reports#1-list-available-tax-reports" target="_blank" rel="noopener noreferrer">List available tax reports</a> response.

| <span style={{textAlign: 'left', display: 'block'}}>Parameter</span>                                                                                    | <span style={{textAlign: 'left', display: 'block'}}>Action</span>                                                                                                                                                        |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `type`<br /><span style={{color: 'red', fontSize: 'smaller'}}>Required</span>, <span style={{color: '#95a5a6', fontSize: 'smaller'}}>string</span>      | Set the type of correction request.<br /><br />**Possible values:**<br />`TAX_DATA_CORRECTION` - Correct profile data or aggregated transactions<br />`ZERO_OUT` - Correct report for customers not subject to reporting |
| `requester`<br /><span style={{color: 'red', fontSize: 'smaller'}}>Required</span>, <span style={{color: '#95a5a6', fontSize: 'smaller'}}>string</span> | Set the entity requesting the correction.<br /><br />**Possible values:**<br />`USER` - For partner-initiated corrections on behalf of merchants.<br />`ADMIN` - For operations team-initiated corrections.              |
| `quick_correct`<br /><span style={{color: '#95a5a6', fontSize: 'smaller'}}>boolean</span>                                                               | Set to `true` to regenerate the form using current verified data on file. When `true`, PayPal uses the merchant's current KYC-verified information without requiring explicit correction details.                        |

<CodeGroup>
  ```bash Sample request theme={null}
  curl -X POST 'https://api-m.sandbox.paypal.com/v2/taxes/reports/11EF-A741-C86DDAC4-BE58-CF8F5BF706E8/corrections' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <ACCESS-TOKEN>' \
  -d '{
      "type": "TAX_DATA_CORRECTION",
      "requester": "USER",
      "quick_correct": true
  }'
  ```

  ```json Sample response theme={null}
  {
      "id": "11ED-FABB-440B8FA8-9CB0-43A289BCF687",
      "account_id": "5U29WL78XSAE",
      "tax_year": 2024,
      "status": "PROCESSING_REPORT",
      "type": "TAX_DATA_CORRECTION",
      "requester": "USER",
      "submitted_time": "2025-05-25T05:16:13.253Z",
      "original_report_id": "11EF-A741-C86DDAC4-BE58-CF8F5BF706E8",
      "links": [
          {
              "href": "https://api.paypal.com/v2/taxes/reports/corrections/11ED-FABB-440B8FA8-9CB0-43A289BCF687",
              "rel": "self",
              "method": "GET"
          },
          {
              "href": "https://api.paypal.com/v2/taxes/reports/corrections/11ED-FABB-440B8FA8-9CB0-43A289BCF687?fields=status",
              "rel": "status",
              "method": "GET"
          }
      ]
  }
  ```
</CodeGroup>

A successful call returns a `200 OK` response. The response includes the following parameters:

| <span style={{textAlign: 'left', display: 'block'}}>Parameter</span>                        | <span style={{textAlign: 'left', display: 'block'}}>Description</span>      | <span style={{textAlign: 'left', display: 'block'}}>Further action</span>                                      |
| ------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `id`<br /><span style={{color: '#95a5a6', fontSize: 'smaller'}}>string</span>               | Unique identifier for the correction request.                               | <a href="#3-check-correction-status">Check correction status</a> using this ID.                                |
| `corrected_report`<br /><span style={{color: '#95a5a6', fontSize: 'smaller'}}>object</span> | HATEOAS link to the corrected report. Populated when status is `COMPLETED`. | <a href="#4-retrieve-corrected-report">Retrieve the corrected report</a> using the report ID from this object. |

### Detailed request

Use a <a href="/developer/how-to/api/get-started#2-get-an-access-token" target="_blank" rel="noopener noreferrer">valid access token</a> and make a POST call to the `/v2/taxes/reports/{reportId}/corrections` endpoint with the specific correction details you want to apply. Include the following parameters:

**Path parameter**: `reportId` is the ID of the original report you want to correct, retrieved from the <a href="/limited-release/manage-tax-reports/retrieve-tax-reports#1-list-available-tax-reports" target="_blank" rel="noopener noreferrer">List available tax reports</a> response.

| <span style={{textAlign: 'left', display: 'block'}}>Parameter</span>                                                                                    | <span style={{textAlign: 'left', display: 'block'}}>Action</span>                                                                                                                                                        |
| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `type`<br /><span style={{color: 'red', fontSize: 'smaller'}}>Required</span>, <span style={{color: '#95a5a6', fontSize: 'smaller'}}>string</span>      | Set the type of correction request.<br /><br />**Possible values:**<br />`TAX_DATA_CORRECTION` - Correct profile data or aggregated transactions<br />`ZERO_OUT` - Correct report for customers not subject to reporting |
| `requester`<br /><span style={{color: 'red', fontSize: 'smaller'}}>Required</span>, <span style={{color: '#95a5a6', fontSize: 'smaller'}}>string</span> | Set the entity requesting the correction.<br /><br />**Possible values:**<br />`USER` - For partner-initiated corrections on behalf of merchants.<br />`ADMIN` - For operations team-initiated corrections.              |
| `correction_details.account_profile`<br /><span style={{color: '#95a5a6', fontSize: 'smaller'}}>object</span>                                           | Provide the corrected account profile information.                                                                                                                                                                       |
| `correction_details.account_profile.external_id`<br /><span style={{color: '#95a5a6', fontSize: 'smaller'}}>string</span>                               | Provide the partner-assigned external identifier.                                                                                                                                                                        |
| `correction_details.account_profile.tier`<br /><span style={{color: '#95a5a6', fontSize: 'smaller'}}>string</span>                                      | Provide the account type.<br /><br />**Possible values:**<br />`PERSONAL` - PayPal personal account<br />`BUSINESS` - PayPal business account<br />`PREMIER` - PayPal premier account                                    |
| `correction_details.account_profile.legal_country_code`<br /><span style={{color: '#95a5a6', fontSize: 'smaller'}}>string</span>                        | Provide the two-letter country code. Example: `US`.                                                                                                                                                                      |
| `correction_details.account_profile.primary_owner`<br /><span style={{color: '#95a5a6', fontSize: 'smaller'}}>object</span>                             | Provide the corrected primary account owner information.                                                                                                                                                                 |
| `correction_details.account_profile.primary_owner.names`<br /><span style={{color: '#95a5a6', fontSize: 'smaller'}}>array</span>                        | Provide the corrected name. Each object contains `full_name`.                                                                                                                                                            |
| `correction_details.account_profile.primary_owner.addresses`<br /><span style={{color: '#95a5a6', fontSize: 'smaller'}}>array</span>                    | Provide the corrected address. Each object contains `address_line_1`, `address_line_2`, `admin_area_2` (city), `admin_area_1` (state), `postal_code`, and `country_code`.                                                |
| `correction_details.account_profile.primary_owner.documents`<br /><span style={{color: '#95a5a6', fontSize: 'smaller'}}>array</span>                    | Provide the corrected TIN/SSN. Each object contains `identification_number` (encrypted), `partial` (boolean), and `type` (`SSN` or `EIN`).                                                                               |

<CodeGroup>
  ```bash Sample request theme={null}
  curl -X POST 'https://api-m.sandbox.paypal.com/v2/taxes/reports/11EF-A741-C86DDAC4-BE58-CF8F5BF706E8/corrections' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <ACCESS-TOKEN>' \
  -d '{
      "type": "TAX_DATA_CORRECTION",
      "requester": "USER",
      "correction_details": {
          "account_profile": {
              "external_id": "1939261082936477870",
              "tier": "PERSONAL",
              "legal_country_code": "US",
              "primary_owner": {
                  "names": [
                      {
                          "full_name": "Jane Doe"
                      }
                  ],
                  "addresses": [
                      {
                          "address_line_1": "456 Oak Avenue",
                          "address_line_2": "Apartment 5B",
                          "admin_area_2": "Portland",
                          "admin_area_1": "OR",
                          "postal_code": "97201",
                          "country_code": "US"
                      }
                  ],
                  "documents": [
                      {
                          "identification_number": "ABcNkzU2.0sWUvLn3D45aJK5K2mTyx1QnSxb1j3x0JOY2D3CjsKm6-E",
                          "partial": false,
                          "type": "SSN"
                      }
                  ]
              }
          }
      }
  }'
  ```

  ```json Sample response theme={null}
  {
      "id": "11ED-FABB-440B8FA8-9CB0-43A289BCF687",
      "account_id": "5U29WL78XSAE",
      "tax_year": 2024,
      "status": "PROCESSING_REPORT",
      "type": "TAX_DATA_CORRECTION",
      "requester": "USER",
      "corrected_fields": [
          "account_profile.primary_owner.names[0].full_name",
          "account_profile.primary_owner.primary_address.address_portable"
      ],
      "submitted_time": "2025-05-25T05:16:13.253Z",
      "original_report_id": "11EF-A741-C86DDAC4-BE58-CF8F5BF706E8",
      "links": [
          {
              "href": "https://api.paypal.com/v2/taxes/reports/corrections/11ED-FABB-440B8FA8-9CB0-43A289BCF687",
              "rel": "self",
              "method": "GET"
          }
      ]
  }
  ```
</CodeGroup>

<Note>
  PayPal validates that the correction details match the merchant's current KYC-verified profile before processing the correction.
</Note>

## 3. Check correction status

Use a <a href="/developer/how-to/api/get-started#2-get-an-access-token" target="_blank" rel="noopener noreferrer">valid access token</a> and make a GET call to the `/v2/taxes/reports/{reportId}/corrections/{correctionId}` endpoint.

**Path parameters**:

* `reportId` is the ID of the original report, retrieved from the <a href="/limited-release/manage-tax-reports/retrieve-tax-reports#1-list-available-tax-reports" target="_blank" rel="noopener noreferrer">List available tax reports</a> response.
* `correctionId` is the correction request ID from the <a href="#2-submit-correction-request">Submit correction request</a> response.

<CodeGroup>
  ```bash Sample request theme={null}
  curl -X GET 'https://api-m.sandbox.paypal.com/v2/taxes/reports/11EF-A741-C86DDAC4-BE58-CF8F5BF706E8/corrections/11ED-FABB-440B8FA8-9CB0-43A289BCF687' \
  -H 'Authorization: Bearer <ACCESS-TOKEN>'
  ```

  ```json Sample response theme={null}
  {
          "id": "11ED-FABB-440B8FA8-9CB0-43A289BCF687",
          "account_id": "5U29WL78XSAE",
          "tax_year": 2024,
          "status": "COMPLETED",
          "type": "TAX_DATA_CORRECTION",
          "requester": "USER",
          "corrected_fields": [
              "account_profile.primary_owner.names[0].full_name"
          ],
          "submitted_time": "2025-05-25T05:16:13.253Z",
          "original_report_id": "11EF-A741-C86DDAC4-BE58-CF8F5BF706E8",
          "corrected_report": {
              "href": "/v2/taxes/reports/11ED-FAC1-508DB6F6-8C1B-42A3FDA7CBC5",
              "rel": "report",
              "method": "GET"
          },
          "links": [
              {
                  "href": "https://api.paypal.com/v2/taxes/reports/corrections/11ED-FABB-440B8FA8-9CB0-43A289BCF687",
                  "rel": "self",
                  "method": "GET"
              }
          ]
  }
  ```
</CodeGroup>

### Correction statuses

| <span style={{textAlign: 'left', display: 'block'}}>Status</span> | <span style={{textAlign: 'left', display: 'block'}}>Description</span>       | <span style={{textAlign: 'left', display: 'block'}}>Further action</span>                                        |
| ----------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `INITIAL`                                                         | Correction is initiated.                                                     | Wait for processing to begin.                                                                                    |
| `PENDING_INFORMATION`                                             | Correction is pending user action to complete required processes.            | Contact PayPal support for required information.                                                                 |
| `MANUAL_REVIEW`                                                   | Correction is pending admin review.                                          | Wait for review completion.                                                                                      |
| `PROCESSING_REPORT`                                               | Required processes completed and corrected report generation is in progress. | Wait for completion or webhook notification.                                                                     |
| `COMPLETED`                                                       | Correction is completed and corrected report has been generated.             | <a href="#4-retrieve-corrected-report">Retrieve the corrected form</a> using the `href` from `corrected_report`. |

## 4. Retrieve corrected report

Use a <a href="/developer/how-to/api/get-started#2-get-an-access-token" target="_blank" rel="noopener noreferrer">valid access token</a> and make a GET call to the `/v2/taxes/reports/{reportId}` endpoint when the correction status is `COMPLETED`.

**Path parameter**: `reportId` is the corrected report ID extracted from the `corrected_report.href` in the <a href="#3-check-correction-status">Check correction status</a> response.

<CodeGroup>
  ```bash Sample request theme={null}
  curl -X GET 'https://api-m.sandbox.paypal.com/v2/taxes/reports/11ED-FAC1-508DB6F6-8C1B-42A3FDA7CBC5' \
  -H 'Authorization: Bearer <ACCESS-TOKEN>'
  ```

  ```json Sample response theme={null}
  {
      "id": "11ED-FAC1-508DB6F6-8C1B-42A3FDA7CBC5",
      "account_id": "5U29WL78XSAE",
      "tax_year": 2024,
      "total_files": 1,
      "report_type": "1099-K",
      "corrected": true,
      "status": "GENERATION_COMPLETED",
      "create_time": "2025-05-27T10:30:15.500Z",
      "archive_time": "2035-05-25T10:30:15.500Z",
      "files_info": {
          "files": [
              {
                  "sequence": 1,
                  "name": "1099K_2024_5074985856743188092_CORRECTED_1716809415500.pdf",
                  "links": [
                      {
                          "href": "https://api.paypal.com/v2/content/documents/CMP-044-11ed-fac1-abc123/files/1/download",
                          "rel": "self",
                          "method": "GET"
                      }
                  ]
              }
          ]
      },
      "links": [
          {
              "href": "https://api.paypal.com/v2/taxes/reports/11ED-FAC1-508DB6F6-8C1B-42A3FDA7CBC5",
              "rel": "self",
              "method": "GET"
          }
      ]
  }
  ```
</CodeGroup>

## 5. Handle correction webhooks

PayPal sends a `TAXES.REPORTS.GENERATED` webhook event when a corrected report is ready. The event includes `is_corrected: true` and `original_report_id` to identify the corrected report.

For information about handling webhook notifications for both regular and corrected reports, see <a href="/limited-release/manage-tax-reports/retrieve-tax-reports#4-handle-webhook-notifications" target="_blank" rel="noopener noreferrer">Handle webhook notifications</a>.

## Best practices

* Submit correction requests only after merchants complete KYC verification.
* Verify tax reporting capability is enabled before submitting corrections.
* Check merchant KYC status and capability if a request fails.
* Inform merchants about the 3-day SLA for correction processing.
* Store correction request IDs and track status changes.

## Limitations

* You can only submit corrections for reports from the current year and up to 5 years prior.
* PayPal does not support corrections to payment amounts or transaction totals. You can only correct merchant profile information such as name, address, and TIN.
* Corrections require completed KYC verification and active tax reporting capability.
