Home > Item #46
I'm in the US and need to only charge sales tax if the customer is in Texas. In CactuShop, all of the tax tables are for countries rather than states, how can I get around this issue?
v6 - If you are in the US, you may need to charge state tax to residents in just the states where you operate, with everyone else not being charged tax. First, check the Usmultistatetax config setting to activate US state tax behaviour. This replaces the 'charge tax yes/no' option when editing destinations to a text box.
Note: If you installed your v6 database prior to v6.039 you might also need to ensure the D_Tax field of the tblCactuShop1Destinations table is not an integer field type, but a number type that will support decimal fractions. You might also need to add the Usmultistatetax config setting to your database. To configure this, go to the destinations section (follow the 'Destinations' link in the Regional Setup section). All the USA state records begin with 'USA', so click the 'U-Z' link to bring up an entire list (there are also links to call up records by shipping group; the ‘North America’ group might available, but this depends on whether you’ve changed your shipping zones yet from CactuShop's demo data).
In the default configuration, only the main 'USA' country record is set to be live; the individual US states are deactivated. Work down the list and switch all the US states to be live, and disable the single USA record. For each state, set the appropriate tax rate; zero for most states with a decimal value for the states where tax should be charged, for example, 0.07 for a state with 7% tax.
Don’t forget to uncheck the other country records too, making sure you’re not charging tax to overseas customers.
Finally, you will need to ensure that you have a tax band set up for products of 100%, and that all products that are subject to tax are mapped to this.
In the US, tax is generally not shown until checkout. Therefore, you will probably want to set the showtaxdisplay config setting to unchecked. This way, it only shows at the final stage of checkout.
v5 - the CactuShop destinations table (tblCactuShopDestinations)
breaks the USA into various states. Just disable USA as a country and enable all the individual states. You can now use a custom shipping zone and tax rate for each.
v4 - CactuShop contains a special US destinations table (tblCactuShopDestinations_USA). This includes countries but also has separate US state entries in the country list. For example:
US - Alabama.
To configure your CactuShop for US state tax, first delete the single USA record from the table tblCactuShopDestinations. Next, import the records from tblCactuShopDestinations_USA to the main destinations table.
You should now have a country list with US split into states.
The final stage is to open up the back end of CactuShop and set the shipping zone and tax on/off for each country or US state. Note that CactuShop will only support US tax for sites that only need to charge tax in one state.
Visitors will have to select a specific state if they are in the USA, and hence tax can be levied accordingly.
IMPORTANT: You should always seek tax advice from your accountant or qualified tax advisers in your jurisdiction to ensure that your CactuShop configuration complies with your country or state's tax rules.