Tax feature overview

Edit on GitHub

The Tax feature allows you to define taxes for the items you sell. The feature is represented by two entities: tax rates and tax sets.

The tax rate is the percentage of the sales price that buyer pays as a tax. In the default Spryker implementation, the tax rate is defined per country where the tax applies. See Managing tax rates for details on how to create and manage tax rates for countries in the Back Office.

A tax set is a set of tax rates. You can define tax sets in the Back office or import tax sets into your project.

Tax sets can be applied to abstract product, product option and shipment:

Abstract product Defining prices File details: product_abstract.csv
Product option Creating a product option File details: product_option.csv
Shipment Creating delivery methods File details: shipment.csv

International tax rates and sets

Align your business with international tax standards by defining tax rates and sets. Determine country-based tax rates for products, options and shipments, that will automatically be applied to the respective shops.

In a tax system, the tax rate is the ratio (usually expressed as a percentage) at which a business, person, items are taxed.

Tax set is a set of tax rates that can be applied to a specific product.

Keeping that in mind, the tax rate is created first. Tax rate

Once the rate is defined, you can attach it to a tax set(s). A tax set can contain from one to many tax rates. Tax set

The described values are defined in the Back Office > Taxes section.

Tax section

Avalara system for automated tax compliance

You can integrate the third-party system Avalara to automatically apply tax rates that depend on such factors as location, product type, and shipping rules.

Avalara is mostly meant for the USA.

To use Avalara, you need to set up the AvaTax platform for your application and integrate Avalara into your project. Once you do that, you can apply Avalara tax codes to automate tax calculations for your shop.

You can set the Avalara tax codes for the following entities by importing the codes:

Since shipment and products fall under different taxability categories, Avalara tax code for shipment is different from that of the abstract product or product option. See Avalara tax code search for details on the codes and categories.

The Avalara codes are not displayed on the Storefront or in the Back Office. They are processed in the background to define taxes for order items. Avalara calculates taxes during the checkout, and, by default, the taxes are shown at the final checkout step.

When calculating taxes, Avalara takes the items’ warehouse addresses into account. Therefore, each order item you calculate a tax for with Avalara, should have a warehouse assigned. See Warehouse assignment to order items to learn how warehouses are assigned to order items by default.

Tax feature on the Storefront

Product tax set is calculated when buyers add products to cart. Therefore, by default, the tax calculated on the basis of the product tax sets is displayed in the Tax section on the Cart page. However, the tax value on the Cart page is not always final, as it does not take a possible shipment tax set into account since buyers select the shipping method during the checkout. If you have Avalara integrated, it calculates tax during the checkout as well. Therefore, the final tax value is always displayed only upon checkout.

Tax on the Cart page:


Tax in the checkout:


Current constraints

Currently, the feature has the following functional constraints:

  • There is no Back Office UI for the Avalara tax codes.
  • Many Avalara features are not supported yet. This will be resolved in the future.
Get a general idea of the Tax feature
Manage tax rates
Manage tax sets
Developer guides

Are you a developer? See Tax feature walkthrough for developers.