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

# Manage taxes

<div className="m-badge-page-wrapper">
  <Badge stroke color="orange" size="sm">Limited Release</Badge>
</div>

Tax management helps you track and maintain tax configurations after you create them. You can retrieve all configured taxes and modify tax rates when regulatory requirements change. This ensures accurate tax calculations across your billing operations. It is your responsibility to ensure the accuracy of the tax calculation and to remit such taxes to the appropriate tax authorities.

## List taxes

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 `/v1/commerce/billing/taxes` endpoint. Include the following query parameters:

| <span style={{textAlign: 'left', display: 'block'}}>Parameter</span>                 | <span style={{textAlign: 'left', display: 'block'}}>Action</span>              |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `page`<br /><span style={{color: '#95a5a6', fontSize: 'smaller'}}>integer</span>     | Set the page number for paginated results. Default is `1`.                     |
| `per_page`<br /><span style={{color: '#95a5a6', fontSize: 'smaller'}}>integer</span> | Set the number of items to return per page. Default is `10`, maximum is `100`. |

<CodeGroup>
  ```shell lines title="Sample request" theme={null}
  curl -X GET 'https://api-m.sandbox.paypal.com/v1/commerce/billing/taxes?page=1&per_page=10' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer <ACCESS-TOKEN>'
  ```

  ```json lines expandable title="Sample response" theme={null}
  {
        "taxes": [
          {
            "id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
            "code": "standard_vat",
            "name": "Standard VAT",
            "description": "Standard Value Added Tax",
            "rate": "20.00",
            "created_at": "2023-07-06T14:35:58Z"
          },
          {
            "id": "2b902b90-2b90-2b90-2b90-2b902b902b90",
            "code": "reduced_vat",
            "name": "Reduced VAT",
            "description": "Reduced Value Added Tax",
            "rate": "5.00",
            "created_at": "2023-07-06T14:45:23Z"
          }
        ],
        "meta": {
          "total_count": 2,
          "total_pages": 1,
          "current_page": 1
        }
      }
  ```
</CodeGroup>

A successful call returns a `200 OK` response with a paginated list of all configured taxes.

## Update tax details

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 PUT call to the `/v1/commerce/billing/taxes/{tax_code}` endpoint with the modified request parameters such as name, rate, and description.

**Path parameter**: `tax_code` is the `code` you provided when you <a href="/limited-release/usage-based-billing/set-up-billing-process/create-taxes" target="_blank" rel="noopener noreferrer">created the tax</a>.

<Note>
  You cannot modify the tax code after creation. You can only update the name, rate, and description.
</Note>

For information on all parameters, see <a href="/reference/api/rest/taxes/update-a-tax" target="_blank" rel="noopener noreferrer">API reference</a>.

<CodeGroup>
  ```shell lines title="Sample request" theme={null}
  curl -X PUT 'https://api-m.sandbox.paypal.com/v1/commerce/billing/taxes/standard_vat' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer <ACCESS-TOKEN>' \
      -d '{
        "name": "Updated VAT",
        "rate": "21.50",
        "description": "Updated Value Added Tax"
      }'
  ```

  ```json lines title="Sample response" theme={null}
  {
        "id": "1a901a90-1a90-1a90-1a90-1a901a901a90",
        "code": "standard_vat",
        "name": "Updated VAT",
        "description": "Updated Value Added Tax",
        "rate": "21.50",
        "created_at": "2023-07-06T14:35:58Z"
      }
  ```
</CodeGroup>

A successful call returns a `200 OK` response with the updated tax information.

## Delete tax

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 DELETE call to the `/v1/commerce/billing/taxes/{tax_code}` endpoint to permanently delete a tax configuration.

**Path parameter**: `tax_code` is the `code` you provided when you <a href="/limited-release/usage-based-billing/set-up-billing-process/create-taxes" target="_blank" rel="noopener noreferrer">created the tax</a>.

<Warning>
  Deleting a tax configuration is permanent and affects all billing entities, plans, and subscriptions using this tax. Ensure this action aligns with your compliance requirements.
</Warning>

<CodeGroup>
  ```shell lines title="Sample request" theme={null}
  curl -X DELETE 'https://api-m.sandbox.paypal.com/v1/commerce/billing/taxes/standard_vat' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer <ACCESS-TOKEN>'
  ```
</CodeGroup>

A successful call returns a `204 No Content` response.
