You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Tax Customers API allows merchants to configure customer-specific tax data for use in tax calculations. This enables merchants to provide tax providers with additional customer-related information that may affect tax rates or exemptions.
9
+
10
+
This guide demonstrates how to use the Tax Customers API. For more, see the [Tax Customers API Reference](/docs/rest-management/tax-customers).
11
+
12
+
## Tax customers
13
+
14
+
Tax customers rely on `customer_id` to associate tax data with specific customers. This data is sent to tax providers during tax calculations. The examples below demonstrate how to create, update, retrieve, and delete tax customer data.
15
+
16
+
### Get tax customers
17
+
18
+
To retrieve a list of tax customers, send a request to the [Get Tax Customers](/docs/rest-management/tax-customers#get-tax-customers) endpoint. You can filter the results by specifying one or more `customer_id` values.
19
+
20
+
<Tabsitems={[`Request`, `Response`]}>
21
+
<Tab>
22
+
```http filename="Example request: Get tax customers" showLineNumbers copy
23
+
GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/tax/customers?customer_id:in=157,158
24
+
X-Auth-Token: {{ACCESS_TOKEN}}
25
+
Content-Type: application/json
26
+
Accept: application/json
27
+
```
28
+
</Tab>
29
+
<Tab>
30
+
```json filename="Example response: Get tax customers" showLineNumbers copy
To add or update tax data for one or more customers, send a request to the [Update Tax Customers](/docs/rest-management/tax-customers#update-tax-customers) endpoint. This operation overwrites any existing values for the specified customers.
To delete tax data associated with one or more customers, send a request to the [Delete Tax Customers](/docs/rest-management/tax-customers#delete-tax-customers) endpoint. Use the `customer_id:in` query parameter to specify the customers whose tax data you want to delete.
120
+
121
+
<Callouttype="warning">
122
+
#### Batch deletion
123
+
This operation removes **all** tax properties associated with the specified customers.
Copy file name to clipboardExpand all lines: docs/store-operations/tax/tax-properties.mdx
+65-37
Original file line number
Diff line number
Diff line change
@@ -1,25 +1,27 @@
1
1
---
2
-
title: Tax Properties for Products
3
-
keywords: get all products, tax, tax properties,
2
+
title: Tax Properties
3
+
keywords: tax, tax properties,
4
4
---
5
5
6
-
# Tax Properties for Products
6
+
# Tax Properties
7
7
8
-
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 tax properties, providers can return more accurate tax quotes. The examples in this guide expand on this use case.
8
+
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 tax properties, providers can return more accurate tax quotes. The examples in this guide expand on this use case.
9
9
10
10
Tax providers may sometimes need multiple inputs that can vary between different types of product. For example, for products with alcohol, the alcohol percentage and the volume sold affect alcohol taxes. As shown in this guide, merchants can provide both pieces of information to tax providers.
11
11
12
+
The API also supports **customer tax properties**, which allow merchants to provide customer-specific tax information to tax providers. These properties can influence how tax is calculated based on the customer making the purchase.
13
+
12
14
<Callouttype="info">
13
15
#### Tax properties versus tax codes
14
-
A tax code is a single code that tax providers use to invoke specific rules when calculating tax on a product.
15
-
In contrast, tax properties are fields that contain information about product specifics. Tax providers use these fields to factor product specifics into their calculations.
16
+
A tax code is a single code that tax providers use to invoke specific rules when calculating tax on a product or customer.
17
+
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.
16
18
</Callout>
17
19
18
-
This guide demonstrates how to use the Tax Properties API. For more, see the [Tax Properties API Reference](/docs/rest-management/tax-properties) and the [Tax Provider API Reference](/docs/rest-contracts/tax).
20
+
This guide demonstrates how to use the Tax Properties API. For more, see the [Tax Properties API Reference](/docs/rest-management/tax-properties) and the [Tax Provider API Reference](/docs/rest-contracts/tax).
19
21
20
22
## Tax properties
21
23
22
-
Tax properties rely on `code`s specific to third-party tax providers. Consult a tax provider's documentation to identify supported `code`s. The `code`s used in tax properties are not tax codes. See [Tax properties versus tax codes](#tax-properties-versus-tax-codes).
24
+
Tax properties rely on `code`s specific to third-party tax providers. Consult a tax provider's documentation to identify supported `code`s. The `code`s used in tax properties are not tax codes. See [Tax properties versus tax codes](#tax-properties-versus-tax-codes).
23
25
24
26
### Create tax properties
25
27
@@ -40,12 +42,14 @@ The response provides an `id` for each tax property. Use the `id` to get, update
40
42
"code": "alcohol-percentage",
41
43
"display_name": "Alcohol Percentage",
42
44
"description": "Beverage Industry"
45
+
"type": "PRODUCT"
43
46
},
44
47
{
45
-
"code": "fuel-type",
46
-
"display_name": "Fuel Type",
47
-
"description": "Oil and Natural Gas Industry"
48
-
}
48
+
"code": "erp-external-id",
49
+
"display_name": "ERP Customer ID",
50
+
"description": "External ID used to link customer records with ERP systems"
51
+
"type": "CUSTOMER"
52
+
}
49
53
]
50
54
```
51
55
</Tab>
@@ -59,15 +63,17 @@ The response provides an `id` for each tax property. Use the `id` to get, update
59
63
"display_name": "Alcohol Percentage",
60
64
"description": "Beverage Industry",
61
65
"created_at": "2022-05-17T14:25:21+00:00",
62
-
"updated_at": "2022-05-17T14:25:21+00:00"
66
+
"updated_at": "2022-05-17T14:25:21+00:00",
67
+
"type": "PRODUCT"
63
68
},
64
69
{
65
70
"id": 2,
66
-
"code": "fuel-type",
67
-
"display_name": "Fuel Type",
68
-
"description": "Oil and Natural Gas Industry",
71
+
"code": "erp-external-id",
72
+
"display_name": "ERP Customer ID",
73
+
"description": "External ID used to link customer records with ERP systems",
69
74
"created_at": "2022-05-17T14:25:21+00:00",
70
-
"updated_at": "2022-05-17T14:25:21+00:00"
75
+
"updated_at": "2022-05-17T14:25:21+00:00",
76
+
"type": "CUSTOMER"
71
77
}
72
78
],
73
79
"meta": {}
@@ -78,7 +84,7 @@ The response provides an `id` for each tax property. Use the `id` to get, update
78
84
79
85
### Update tax properties
80
86
81
-
Send a request to the [Update tax properties](/docs/rest-management/tax-properties#update-tax-properties) endpoint to modify a tax property's `code`, `display_name`, or `description`. The request updates only fields that you specify.
87
+
Send a request to the [Update tax properties](/docs/rest-management/tax-properties#update-tax-properties) endpoint to modify a tax property's `code`, `display_name`, or `description`. The request updates only fields that you specify.
82
88
83
89
<Tabsitems={[`Request`, `Response`]}>
84
90
<Tab>
@@ -92,12 +98,12 @@ Send a request to the [Update tax properties](/docs/rest-management/tax-properti
After [creating a tax property](#create-tax-properties), 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](/docs/rest-catalog/products#get-all-products) endpoint.
200
+
After [creating a tax property](#create-tax-properties), 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](/docs/rest-catalog/products#get-all-products) endpoint.
192
201
193
-
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.
202
+
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.
194
203
195
204
<Callouttype="info">
196
205
#### Tax properties aren't product properties
@@ -261,11 +270,11 @@ To attach tax properties to a product, send a request to the [Update product tax
261
270
}
262
271
```
263
272
</Tab>
264
-
</Tabs>
273
+
</Tabs>
265
274
266
-
### Get product tax properties
275
+
### Get product tax properties
267
276
268
-
To get the tax properties attached to a product, send a request to the [Get product tax properties](/docs/rest-management/tax-properties/product-tax-properties#get-product-tax-properties) endpoint and use the `product_id:in` query parameter.
277
+
To get the tax properties attached to a product, send a request to the [Get product tax properties](/docs/rest-management/tax-properties/product-tax-properties#get-product-tax-properties) endpoint and use the `product_id:in` query parameter.
269
278
270
279
<Tabsitems={[`Request`, `Response`]}>
271
280
<Tab>
@@ -319,7 +328,7 @@ To get the tax properties attached to a product, send a request to the [Get prod
319
328
This endpoint removes **all** tax properties from a given product.
320
329
</Callout>
321
330
322
-
To remove tax properties from a product, send a request to the [Delete product tax properties](/docs/rest-management/tax-properties/product-tax-properties#delete-product-tax-properties) endpoint and use the `product_id:in` query parameter. This disassociates all the tax properties from a product.
331
+
To remove tax properties from a product, send a request to the [Delete product tax properties](/docs/rest-management/tax-properties/product-tax-properties#delete-product-tax-properties) endpoint and use the `product_id:in` query parameter. This disassociates all the tax properties from a product.
323
332
324
333
325
334
<Tabsitems={[`Request`, `Response`]}>
@@ -338,9 +347,13 @@ To remove tax properties from a product, send a request to the [Delete product t
338
347
</Tab>
339
348
</Tabs>
340
349
350
+
## Customer tax properties
351
+
352
+
See the [Tax Customers API](/docs/store-operations/tax/tax-customers) to attach tax properties to a customer.
353
+
341
354
## Tax Quotes
342
355
343
-
BigCommerce sends product tax properties to request [tax estimates](/docs/rest-contracts/tax#estimate-taxes) from a provider. The requests include tax properties for each item in a consignment.
356
+
BigCommerce sends product and customer tax properties to request [tax estimates](/docs/rest-contracts/tax#estimate-taxes) from a provider. The requests include tax properties for each item in a consignment.
BigCommerce also sends product tax properties to [commit](/docs/rest-contracts/tax#commit-tax-quote) and [adjust tax quotes](/docs/rest-contracts/tax#adjust-tax-quote).
413
+
BigCommerce also sends product tax properties to [commit](/docs/rest-contracts/tax#commit-tax-quote) and [adjust tax quotes](/docs/rest-contracts/tax#adjust-tax-quote).
386
414
387
-
## Resources
415
+
## Resources
388
416
-[Tax Properties API Reference](/docs/rest-management/tax-properties)
389
417
-[Tax Provider API Reference](/docs/rest-contracts/tax)
0 commit comments