less than a minute read • Updated 11 minutes ago
How taxes work in Foxy
How taxes work in Foxy, including how rates apply through categories, which address is used, how multiple taxes combine, and how tax is rounded.
Overview
Foxy lets you define as many tax rates as you need and apply them to your products with precision, from a single flat rate to automatic location-based rates and full third-party tax services. This article explains the core model. The rest of the section covers how to configure each piece.
What a tax is
A tax in Foxy is a standalone object with its own properties: a name, a type, a location, and either a rate or a service provider. A store can have zero taxes or many, and they can apply on their own or alongside each other. Each tax you create is independent until you attach it to a category.
Taxes apply through categories
On their own, taxes do nothing. A tax only applies once it is associated with a category. Once associated, any product in that category has the tax applied. You define the tax once, then attach it to one or more categories. See Apply a tax to a category.
Which address is used
Foxy applies taxes based on the customer's shipping address. If no separate shipping address is provided, the billing address is treated as the shipping address. This reflects guidance Foxy has confirmed with multiple tax experts and tax-rate services.
How multiple taxes combine
If you have several non-provider taxes (that is, not Avalara, TaxJar, or similar) that apply to one transaction, each is applied individually and shown separately. Before a customer completes their address, some taxes may display as "TBD" until the location is known.
If you use a third-party tax service, that service takes over: it overrides any other taxes configured in Foxy, and all taxes must be configured through the provider. See Third-party tax services overview.
How tax is rounded
For manually entered rates and for rates set to calculate automatically through the Foxy default option, tax is calculated on up to three portions of the order: the product subtotal per category, any taxable coupon discounts, and shipping (if a tax is set to apply to it). Each portion is rounded to two decimal places, then combined to form the final tax shown to the customer. When you use Avalara, TaxJar, or Thomson Reuters ONESOURCE, Foxy uses the figure the provider returns.
What Foxy does not calculate natively
Foxy does not natively calculate one tax on top of another (cumulative or compound taxes). In most cases this can be reproduced with a little algebra on the rates you enter.