BigCommerce
Contract APIs
Tax Provider;isBold;icon_playlist

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.

Estimate Taxes

POST /estimate

Request

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

  • Authorization in - required

Parameters

  • app_domain in path - string
  • X-BC-Store-Hash in header - string - required

    BigCommerce will send through the Store Hash as part of all Tax Provider API 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.

Estimates may not always contain complete data as these requests will be fired at different stages of the shopper checkout. For example, the Estimate Shipping & Tax function on the Cart page is not expected to provide any billing address data, but the tax provider will still be expected to return a valid estimate.

Body

object | application/json

Each QuoteRequest represents an order. In addition to transaction details, it contains a 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.

  • id
    string
    required

    Unique 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_code
    string
    required

    ISO 4217 3 character currency code that all prices on this request are in.

  • customer
    object
    required

    If the shopper is a registered customer in the merchant’s store, basic details for that customer.

  • transaction_date
    string
    required

    ISO 8601 formatted date the shopper placed this order. Dates will be provided in UTC.

  • documents
    array[object]
    required

    One 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

Noteworthy is that the estimate response does not contain an external ID since there is no expectation that an estimate will result in any persisted tax documents by the tax provider.

Body

object | application/json
  • id
    string
    required

    The unique identifier of the tax quote that was requested. This must match the ID of the requested quote.

  • documents
    array[object]
    required

    Represents 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 /void

Request

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

  • Authorization in - required

Parameters

  • app_domain in path - string
  • id in query - string - required

    Unique ID identifying the existing, persisted Tax Quote that will be voided.

  • X-BC-Store-Hash in header - string - required

    BigCommerce will send through the Store Hash as part of all Tax Provider API 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

OK

Commit Tax Quote

POST /commit

Request

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.

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

  • Authorization in - required

Parameters

  • app_domain in path - string
  • X-BC-Store-Hash in header - string - required

    BigCommerce will send through the Store Hash as part of all Tax Provider API 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

object | application/json

Each QuoteRequest represents an order. In addition to transaction details, it contains a 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.

  • id
    string
    required

    Unique 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_code
    string
    required

    ISO 4217 3 character currency code that all prices on this request are in.

  • customer
    object
    required

    If the shopper is a registered customer in the merchant’s store, basic details for that customer.

  • transaction_date
    string
    required

    ISO 8601 formatted date the shopper placed this order. Dates will be provided in UTC.

  • documents
    array[object]
    required

    One 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

OK

Body

object | application/json
  • id
    string
    required

    The unique identifier of the tax quote that was requested. This must match the ID of the requested quote.

  • documents
    array[object]
    required

    Represents 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 /adjust

Request

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

  • Authorization in - required

Parameters

  • app_domain in path - string
  • X-BC-Store-Hash in header - string - required

    BigCommerce will send through the Store Hash as part of all Tax Provider API 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 - string - required

    Unique ID identifying the existing, persisted Tax Quote that will be adjusted.

Body

application/json

An AdjustRequest contains the same data as a standard QuoteRequest with added detail of the adjustment operation.

  • adjust_description
    string

    Specifies the reason for the adjustment operation, for auditing purposes. May be a custom, user-entered description.

  • id
    string
    required

    Unique 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_code
    string
    required

    ISO 4217 3 character currency code that all prices on this request are in.

  • customer
    object
    required

    If the shopper is a registered customer in the merchant’s store, basic details for that customer.

  • transaction_date
    string
    required

    ISO 8601 formatted date the shopper placed this order. Dates will be provided in UTC.

  • documents
    array[object]
    required

    One 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

    Returned Tax Quote response matches the updated QuoteRequest provided to the service method.

    Body

    object | application/json
    • id
      string
      required

      The unique identifier of the tax quote that was requested. This must match the ID of the requested quote.

    • documents
      array[object]
      required

      Represents 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

    Did you find what you were looking for?