Tax Provider API
Use BigCommerce’s platform-to-platform Tax Provider API to integrate a tax calculation engine into the BigCommerce storefront and control panel. Supports estimate, adjust, commit, and void operations. For more information, see Tax Provider API Overview.
Note
- Document submission operations are only triggered when the Submit Order Data provider setting is enabled.
Estimate taxes
POST https://your_app.example.com/estimateRequest
Submit the quote request to retrieve an estimate from the enabled third-party tax provider. Estimates are not expected to be persisted by the tax provider.
Server URL
- For supporting tax providers, the server URL contains the tax providerʼs profile field; for example,
your_profile.example.com
. - The Try it feature is not currently supported for this endpoint.
The following actions can trigger tax estimate requests multiple times during a standard checkout on a BigCommerce storefront, depending on the BigCommerce merchant’s settings.
- After selecting a Shipping Method during the “Estimate Shipping & Tax” facility on the Cart page.
- After specifying a Shipping Address during a Checkout.
- After selecting a Shipping Method during a Checkout.
- After specifying a Billing Address during a Checkout.
The following actions are not expected to trigger estimate requests.
- While anonymously browsing a store’s product catalog.
- On the Cart page prior to a Shopper selecting a Shipping Method via “Estimate Shipping & Tax”.
- On the Checkout page prior to specifying a Shipping Address.
- On the Checkout page, when toggling any option related to using the shopper’s Shipping Address as their Billing Address.
The following control panel actions can also trigger tax estimate requests.
- Order refund.
- Edit order.
- Test connection feature in Tax Settings.
Authentication
- in header
Parameters
- app_domain in path - string
- X-Bc-Store-Hash in header - stringrequiredBigCommerce will send through the store hash as part of all tax provider operations. Each BigCommerce store on the platform has a unique store hash value for the store’s lifetime. This value can assist in account verification or profile matching responsibilities.
Body
documents
array of one or more DocumentRequest objects, which represent distinct combinations of origin and fulfillment addresses and the tax-relevant contents of those consignments. This is similar to an "order" in other BigCommerce APIs.idstring
requiredUnique ID of the taxable document (order, cart, quote, etc) this tax quote request is being generated for. Will remain consistent for the lifetime of the entity being estimated.currency_codestring
requiredISO 4217 3 character currency code that all prices on this request are in.customerobject
requiredIf the shopper is a registered customer in the merchant’s store, basic details for that customer.transaction_datestring
requiredISO 8601 formatted date the shopper placed this order. Dates will be provided in UTC.documentsarray[object]
requiredOne or more consignments containing items being purchased by the shopper, including shipping and handling fees that are charged for each consignment. Most orders will contain a single consignment (to a single shipping address), however the BigCommerce platform also supports "Multi-address orders" which allow shoppers to place a single order with items shipped to different addresses.
example
Response
Body
idstring
requiredThe unique identifier of the tax quote that was requested. This value must either match the ID of the requested quote or be an external ID on the tax provider’s system. This value will be used for future adjust and void operations.documentsarray[object]
requiredRepresents an order quote or part of an order quote of tax-relevant items fulfilled from a single origin address to a single destination address, including arrays of shipping and handling fee objects for each item. Most order quotes contain a single document; however, BigCommerce supports "multi-address orders", which may come from or go to distinct sets of addresses and thus require multiple documents per quote.
response
Void tax quote
POST https://your_app.example.com/voidRequest
Invalidate the persisted tax quote as identified by the given unique ID. Relevant to order cancellations, full refunds, or moving an order from a paid status to an unpaid status.
Server URL
- For supporting tax providers, the server URL contains the tax providerʼs profile field; for example,
your_profile.example.com
. - The Try it feature is not currently supported for this endpoint.
Authentication
- in header
Parameters
- app_domain in path - string
- id in query - stringrequiredUnique ID identifying the existing, persisted tax quote that will be voided.
- X-Bc-Store-Hash in header - stringrequiredBigCommerce will send through the store hash as part of all tax provider operations. Each BigCommerce store on the platform has a unique store hash value for the store’s lifetime. This value can assist in account verification or profile matching responsibilities.
Response
Commit Tax Quote
POST https://your_app.example.com/commitRequest
Submit the quote request to be persisted by the enabled third-party tax provider. A commit operation is intended to be submitted once only, when the Order has been confirmed and paid.
Merchants may adjust when commit operations occur by adjusting the document submission strategy in their store tax settings. The selected document submission strategy will adjust whether order status or payment status is used to determine if the order is paid. For more information, see the Tax Settings API Reference.
Server URL
- For supporting tax providers, the server URL contains the tax providerʼs profile field; for example,
your_profile.example.com
. - The Try it feature is not currently supported for this endpoint.
Authentication
- in header
Parameters
- app_domain in path - string
- X-Bc-Store-Hash in header - stringrequiredBigCommerce will send through the store hash as part of all tax provider operations. Each BigCommerce store on the platform has a unique store hash value for the store’s lifetime. This value can assist in account verification or profile matching responsibilities.
Body
documents
array of one or more DocumentRequest objects, which represent distinct combinations of origin and fulfillment addresses and the tax-relevant contents of those consignments. This is similar to an "order" in other BigCommerce APIs.idstring
requiredUnique ID of the taxable document (order, cart, quote, etc) this tax quote request is being generated for. Will remain consistent for the lifetime of the entity being estimated.currency_codestring
requiredISO 4217 3 character currency code that all prices on this request are in.customerobject
requiredIf the shopper is a registered customer in the merchant’s store, basic details for that customer.transaction_datestring
requiredISO 8601 formatted date the shopper placed this order. Dates will be provided in UTC.documentsarray[object]
requiredOne or more consignments containing items being purchased by the shopper, including shipping and handling fees that are charged for each consignment. Most orders will contain a single consignment (to a single shipping address), however the BigCommerce platform also supports "Multi-address orders" which allow shoppers to place a single order with items shipped to different addresses.
example
Response
Body
idstring
requiredThe unique identifier of the tax quote that was requested. This value must either match the ID of the requested quote or be an external ID on the tax provider’s system. This value will be used for future adjust and void operations.documentsarray[object]
requiredRepresents an order quote or part of an order quote of tax-relevant items fulfilled from a single origin address to a single destination address, including arrays of shipping and handling fee objects for each item. Most order quotes contain a single document; however, BigCommerce supports "multi-address orders", which may come from or go to distinct sets of addresses and thus require multiple documents per quote.
response
Adjust Tax Quote
POST https://your_app.example.com/adjustRequest
Replace the persisted tax quote (identified by the given unique ID) with the provided quote request (represented by the AdjustRequest).
Relevant for returns, partial refunds, and other Order modifications where there have been changes to the tax liabilities.
The returned Tax Quote response is expected to be the same to a response returned by an equivalent response to estimate or commit methods.
Server URL
- For supporting tax providers, the server URL contains the tax providerʼs profile field; for example,
your_profile.example.com
. - The Try it feature is not currently supported for this endpoint.
Authentication
- in header
Parameters
- app_domain in path - string
- X-Bc-Store-Hash in header - stringrequiredBigCommerce will send through the store hash as part of all tax provider operations. Each BigCommerce store on the platform has a unique store hash value for the store’s lifetime. This value can assist in account verification or profile matching responsibilities.
- id in query - stringrequiredUnique ID identifying the existing, persisted tax quote that will be adjusted.
Body
adjust_descriptionstring
Specifies the reason for the adjustment operation, for auditing purposes. May be a custom, user-entered description.idstring
requiredUnique ID of the taxable document (order, cart, quote, etc) this tax quote request is being generated for. Will remain consistent for the lifetime of the entity being estimated.currency_codestring
requiredISO 4217 3 character currency code that all prices on this request are in.customerobject
requiredIf the shopper is a registered customer in the merchant’s store, basic details for that customer.transaction_datestring
requiredISO 8601 formatted date the shopper placed this order. Dates will be provided in UTC.documentsarray[object]
requiredOne or more consignments containing items being purchased by the shopper, including shipping and handling fees that are charged for each consignment. Most orders will contain a single consignment (to a single shipping address), however the BigCommerce platform also supports "Multi-address orders" which allow shoppers to place a single order with items shipped to different addresses.
example
Response
Body
idstring
requiredThe unique identifier of the tax quote that was requested. This value must either match the ID of the requested quote or be an external ID on the tax provider’s system. This value will be used for future adjust and void operations.documentsarray[object]
requiredRepresents an order quote or part of an order quote of tax-relevant items fulfilled from a single origin address to a single destination address, including arrays of shipping and handling fee objects for each item. Most order quotes contain a single document; however, BigCommerce supports "multi-address orders", which may come from or go to distinct sets of addresses and thus require multiple documents per quote.
response
See something you can improve? Edit this file on GitHub