A “tax” in FoxyCart is a standalone set of properties that define a particular tax that can be applied to your product categories. Your store can have zero tax rates or 100, and they can be applied individually or in parallel, but the best way to understand how taxes work in FoxyCart is to dive into the admin to look at the available options.
The section below will discuss each individual option you'll see when you hit the “taxes” menu item in your store's admin.
country
or region
taxes to set tax rates automatically. See below for more details.17.5
, not 0.175
.Taxes, by themselves, don't actually do anything. In order for a tax to be applied it must be associated with a category. Once associated, any products in that category will get the appropriate taxes applied. To associate a tax with a category, simply check the appropriate checkbox(es) when you edit your category.
If the “Tax is Calculated Automatically” checkbox is checked for a given tax (only within the US currently), taxes will be calculated automatically within the designated area for that tax. To reveal the box, add a new tax with the type “Country”, and select the United States as the country. That will reveal the “Tax is Calculated Automatically” button.
As an example of auto-calculated tax, if you have a tax set for California that is set to calculate automatically, FoxyCart will query the tax database based on the customer's zip code and apply the appropriate tax rate (which may include state, county, city, or other tax jurisdictions). This automatic lookup will dictate if the tax should apply to shipping or not, and if it relates to the billing or shipping address.
Our tax database is provided by Tax Data Systems, which is updated on a monthly basis. Note that neither FoxyCart nor Tax Data Systems makes any warranty or claim as to the accuracy of the tax data returned, but many very large merchants use Tax Data Systems. Currently we use a version of the database that provides a single tax rate per zip code. In the event there are multiple tax rates in a single zip code, the more populated zip code's rate is used in the database.
If you have multiple taxes to be applied in one transaction they will be applied individually. Here's a quick example of what your cart could look like o
n pageload on checkout, when certain taxes are “TBD” because the address info hasn't been completed yet:
FoxyCart applies taxes based on the shipping address. If a separate shipping address is not specified, the billing address is assumed to be the shipping address, and taxes are applied accordingly. While there is some debate online as to whether or not this is correct, we have asked multiple tax experts and tax rate services, and this approach is what we believe to be the most correct at this point.
While there are currently workarounds to get tax-inclusive products, vote for native tax-inclusive pricing support if that'd benefit you.
Though cumulative taxes can almost always be supported (with FoxyCart's current functionality) with just a little bit of basic algebra, please vote for native cumulative tax functionality if that'd benefit you.
FoxyCart doesn't currently have native functionality to allow for tax-exempt customers, though there are workarounds (such as assigning a tax-exempt category, and restricting access to that to certain customers using SSO. Please vote for tax-exempt customers if that'd benefit you.