For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Dev Portal
DocsAPI ReferenceLearnCommunityChangelog
DocsAPI ReferenceLearnCommunityChangelog
  • Overview
    • Quick Start
    • Sandboxes
    • Tools & SDKs
    • Support
  • Docs
      • Getting Started
          • Tax settings
          • Tax rates and zones
          • Tax properties
          • Tax customers
    • Archive
    • Closed Beta Programs
Dev Portal
LogoLogo
On this page
  • Tax properties versus tax codes
  • Tax properties
  • Create tax properties
  • Update tax properties
  • Get tax properties
  • Delete tax properties
  • Product tax properties
  • Tax properties aren’t product properties
  • Update product with tax properties
  • Get product tax properties
  • Delete product tax properties
  • Batch deletion
  • Customer tax properties
  • Tax Quotes
  • Resources
  • Tax Properties reference
  • Product Tax Properties reference
  • Tax Provider reference
  • Catalog reference
DocsAdminStore ConfigurationTax

Tax Properties

Was this page helpful?
Previous

Tax rates and zones

Next

Tax Customers

Built with

The Tax Properties API allows merchants to vary the tax information they send to tax providers for tax calculation.

In some jurisdictions, tax rates for products vary by product composition. For example, accurate taxation of alcohol may require information about alcohol percentage. Using product tax properties, providers can return more accurate tax quotes.

Tax calculations can also be affected by customer data that exists outside the standard BigCommerce customer model. For example, a tax provider might apply a tax exemption based on exemption certificates linked to a third-party ERP customer ID. By using customer tax properties, providers can adjust the tax quote accordingly for the customer involved in the transaction.

The examples in this guide expand on these product and customer use cases.

Tax properties versus tax codes

A tax code is a single code that tax providers use to invoke specific rules when calculating tax on a product or customer. In contrast, tax properties are fields that contain information about product or customer specifics. Tax providers use these fields to factor product or customer specifics into their calculations.

This guide demonstrates how to use the Tax Properties API. For more, see the Tax Properties API Reference and the Tax Provider API Reference.

Tax properties

Tax properties rely on codes specific to third-party tax providers. Consult a tax provider’s documentation to identify supported codes. The codes used in tax properties are not tax codes. See Tax properties versus tax codes.

Create tax properties

First, use the Create tax properties endpoint to add tax properties to the store. This requires the tax provider’s code and a display_name that shoppers may see, depending on your theme, settings, and jurisdiction. Optionally, you can add a description.

The response provides an id for each tax property. Use the id to get, update, or delete a specific tax property.

Request
Response
Example request: Create tax properties
1POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/tax/properties
2X-Auth-Token: {{ACCESS_TOKEN}}
3Content-Type: application/json
4Accept: application/json
5
6[
7 {
8 "code": "alcohol-percentage",
9 "display_name": "Alcohol Percentage",
10 "description": "Beverage Industry",
11 "type": "PRODUCT"
12 },
13 {
14 "code": "erp-external-id",
15 "display_name": "ERP Customer ID",
16 "description": "External ID used to link customer records with ERP systems",
17 "type": "CUSTOMER"
18 }
19]

Update tax properties

Send a request to the Update tax properties endpoint to modify a tax property’s code, display_name, or description. The request updates only fields that you specify.

Request
Response
Example request: Update tax properties
1PUT https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/tax/properties
2X-Auth-Token: {{ACCESS_TOKEN}}
3Content-Type: application/json
4Accept: application/json
5
6[
7 {
8 "id": 1,
9 "description": "Alcohol Industry"
10 }
11]

Get tax properties

This endpoint supports batch operations. You can get all the tax properties in your store, or only specific tax properties. To get tax properties, send a request to the Get tax properties endpoint. To get only select tax properties, use the id:in query parameter.

Request
Response
Example request: Get tax properties
1GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/tax/properties?id:in=1,2
2X-Auth-Token: {{ACCESS_TOKEN}}
3Content-Type: application/json
4Accept: application/json

Delete tax properties

To delete tax properties, send a request to the Delete tax properties endpoint and use the id:in query parameter to specify the tax properties you want to delete.

Request
Response
Example request: Delete tax properties
1DELETE https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/tax/properties?id:in=2
2X-Auth-Token: {{ACCESS_TOKEN}}
3Content-Type: application/json
4Accept: application/json

Product tax properties

After creating a tax property, you can attach it to a base product to create a product tax property. To do so, specify the product using its product_id. The product_id is the id from the Get all products endpoint.

You can add multiple tax properties to a single product. The following example shows tax properties attached to alcohol products. In this example, the tax rate of alcohol products varies by both alcohol percentage and net volume.

Tax properties aren’t product properties

Tax properties are not stored on or retrievable with the product object.

Update product with tax properties

To attach tax properties to a product, send a request to the Update product tax properties endpoint. Use the same endpoint to modify a product’s existing tax properties.

Request
Response
Example request: Update product with tax properties
1PUT https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/tax/products/properties
2X-Auth-Token: {{ACCESS_TOKEN}}
3Content-Type: application/json
4Accept: application/json
5
6[
7 {
8 "product_id": 113,
9 "tax_properties": {
10 "alcohol-percentage": "4.9",
11 "netvolume-milliliters": "400"
12 }
13 },
14 {
15 "product_id": 117,
16 "tax_properties": {
17 "alcohol-percentage": "10",
18 "netvolume-milliliters": "200"
19 }
20 }
21]

Get product tax properties

To get the tax properties attached to a product, send a request to the Get product tax properties endpoint and use the product_id:in query parameter.

Request
Response
Example request: Get product tax properties
1GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/tax/products/properties?product_id:in=113,117
2X-Auth-Token: {{ACCESS_TOKEN}}
3Content-Type: application/json
4Accept: application/json

Delete product tax properties

Batch deletion

This endpoint removes all tax properties from a given product.

To remove tax properties from a product, send a request to the Delete product tax properties endpoint and use the product_id:in query parameter. This disassociates all the tax properties from a product.

Request
Response
Example request: Delete product tax properties
1DELETE https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/tax/products/properties?product_id:in=117
2X-Auth-Token: {{ACCESS_TOKEN}}
3Content-Type: application/json
4Accept: application/json

Customer tax properties

See the Tax Customers API to attach tax properties to a customer.

Tax Quotes

BigCommerce sends product and customer tax properties to request tax estimates from a provider. The requests include tax properties for each item in a consignment.

The following request uses the Tax Provider API:

Example request: Get a tax estimate
POST https://store.example.com/estimate
Authorization: Basic ZGVtbzpwQDU1dzByZA==
Content-Type: application/json
Accept: application/json
{
"customer": {
"customer_id": "12345",
"customer_group_id": "1",
"taxability_code": "",
"tax_properties": [
{
"code": "tax-exemption-status",
"value": "exempt"
},
{
"code": "erp-external-id",
"value": "CUST-001"
}
]
},
...
"items": [
{
"id": "1",
"price": {
"amount": 10.0,
"tax_inclusive": false
},
"quantity": 1,
"tax_class": {
"code": "custom-tax",
"class_id": "1",
"name": "Custom Tax"
},
"tax_properties": [
{
"code": "alcohol-percentage",
"value": "4.9"
},
{
"code": "netvolume-milliliters",
"value": "400"
}
],
"type": "item",
"wrapping": null
}
]
...
}

BigCommerce also sends product tax properties to commit and adjust tax quotes.

Resources

  • Tax Properties API Reference
  • Tax Provider API Reference

Tax Properties reference

  • Create tax properties
  • Get tax properties
  • Update tax properties
  • Delete tax properties

Product Tax Properties reference

  • Create and update product tax properties
  • Get product tax properties
  • Delete product tax properties

Tax Provider reference

  • Create a tax estimate
  • Create a tax commit
  • Create a tax adjustment

Catalog reference

  • Get all products