Taxes in uStore are configured in the following locations:
· Tax Setup table (described in this section)
You can create taxes per country, province, ZIP code, and mark them as
applicable for Subtotal Price, Recipient List Price, Shipping Price and
Mailing Price. You can choose any combination of the available parameters.
· Tax Group table
Taxes must be assigned to tax groups.
In the Tax Group table you can create tax groups to which you can later
assign the store products (see Setting
Up the Tax Group Table).
· Edit Product page
In this page, the product is assigned to a tax group. By default, the products
are assigned to a default tax group. Assigning products to a different
tax groups is used in case different taxes are applied to various product
categories.
· Store Setup page
In this page you define, for a given store, if the tax will be included
in the price and the format in which it will be displayed. If you choose
to include the tax in the price, you must select the store’s global country.
Only taxes applicable for the store’s global country will be taken into
consideration during the price calculation (see Defining
Tax Display and Tax Calculation).
The Tax Setup page is used to define the tax fee by indicating the countries (and provinces if applicable) to which you provide delivery. In addition, you may select to apply the tax to one of the following prices: Subtotal, Recipient List, Shipping or Mailing. uStore enables defining multiple taxes that can be applied simultaneously.
It is also possible to integrate an external tax service using a tax webhook.
1. In the Presets view,
click Tax Setup.
The Taxes List
page is displayed.
2. Click the New Tax button.
The Tax Setup
page is displayed.
3. Fill in the following tax parameters:
Field |
Description |
Name |
Enter the tax name. |
Description |
Enter the tax description. |
Percentage |
Enter the tax fee as a percentage.. |
Country |
Select the country, where the tax applies. |
State/Province |
This field is displayed only if the selected country has states or provinces. Select the state/province where the tax applies. Do not fill in the province if you wish to define a tax for all provinces in the country. |
Zip Code |
Select a ZIP code where the tax applies. Do not fill in the ZIP code if you wish to create a tax for all the ZIP codes in the province (or county if province is omitted). |
To Zip Code |
Enter a ZIP code to create a range of ZIP codes, starting from the ZIP code you entered in the ZIP Code field. Do not fill in the To Zip Code field if you wish to use only one ZIP code as defined in Zip Code above. |
Tax Group |
In the drop-down list, select the tax group to which you wish to assign the tax. For more information about tax groups, see Setting Up the Tax Group Table. |
Applies for |
· Subtotal Price: Select this checkbox to apply the tax to the subtotal price. · Recipient List Price: Select this checkbox to apply the tax to the Recipient List price. · Mailing Price: Select this checkbox to apply the tax to the Mailing price. · Shipping Price: Select this checkbox to apply the tax to the shipping price. You can determine how tax is applied to the shipment of products of multiple tax groups by setting the ShippingTaxMethod configuration key in the Global Configurations Table. |
Status |
Select whether to activate this tax fee table entry (Active) or deactivate it (Inactive). |
4. Click Save.
You can determine how tax prices are rounded up (Ceiling, Floor or Round). For further information, see TaxRoundingMethod in the Global Configurations Table.
uStore provides the out-of-the-box tax calculator, which is suitable for simple taxation use cases.
When the taxation is more complex, you can integrate an external tax service using the tax webhook.
The webhook gets the order data and returns the correct tax.
To set the tax webhook:
1. Go to Presets > System Setup > Global Configurations, and search for TaxWebhookConfig.
2. Click the Edit icon.
3. In the Value box, change the JSON as follows:
– taxWebhookEnabled - set to true.
– url - set your tax webhook URL (usually a mediator service between uStore and the tax service).
– signatureKey - set a random signature key. It will be used to hash and validate the JSON on both sides.
– storedProcedureName - a name of the stored procedure that generates the order data JSON to pass to the webhook. You may create a different stored procedure that brings more data or formats the data differently.
4. Save your changes.
5. Go to Store Setup > Appearance tab, and select External Tax Service as the tax method.
Note: If you select External Tax Service, and in the global configurations table you set the taxWebhookEnabled key to false, the tax will not be calculated and an error will appear in the Storefront.