The Problem – Shopify California Sales Tax Collection
This post originally appeared on abigailgorton.com on 12/06/17
It picked up good responses over the years so it is being republished here.
When Goods are sold online, from a business within California to an address in California, the State “accepts” sales tax from the merchant in two different ways – one with and one without the destination City and County taxes:
Option 1. Collect State + County + City tax. This is the way that Amazon, GAP, Macy’s etc. and most local CPAs recommend: Collect Destination based tax determined by the ship-to ZIP. So somewhere from 7.25% to 10.5% depending on the ZIP. The term for this is “courtesy collection”. The merchant is collecting and submitting the taxes that the buyer owes, as a “courtesy” to the buyer.
Option 2. Collect State tax only. The buyer still owes the taxes, but the onus is on the buyer, when completing their tax forms to tick the box that says “Yes, I bought goods on the Internet and here is the tax I owe’ (Yeah … right)
Shopify California Tax collection only offers Option 2. This may work fine for your business and accounting, but if it does not, you need a workaround. This issue ONLY affects sales from within California to within California. Shopify is fine for businesses outside California and it is fine for CA businesses selling out of State.
The Workaround – For Shopify California Taxes
The workaround is to enter
– all the county tax rates
– all the cities with individual tax rates (~200 cities?)
Yes, this is a PITA, time consuming data entry task. I am laying it out here in case you find yourself in the situation I was in, with a ‘completed’ Shopify site, with client approval and everything working except California Taxes.
I spent many hours and stress on the phone with Shopify, the State Tax Board and scoured the Internet trying to find a simpler solution. If you know of one, please let me know
Yes, this is a huge, boring, mind-numbing task. But what is your alternative? Launch without taxes the way your client needs them? Rebuild on another platform? There may be good reason to do this, but on a simple time/cost analysis, this PITA workaround may be your quickest and simplest option. FWIW, I did rebuild my whole site in WooCommerce before I came back to this solution. When my client and I looked at the WooCommerce and Shopify versions side by side, the Shopify site had a lot of little features that came standard. All of that would have been expensive customization with added risk in WooCommerce.
Understand – Shopify California Tax Processing
FIFO – First In, First Out
- Shopify California Tax will default Taxes to the first known entry at that level.
- The rate for the FIRST county you enter will be used by all other counties, unless and until you specifically enter a different rate for a county
- Within a county, the rate for the FIRST ZIP/City you enter will be used by all other ZIPS/Cities, unless and until you specifically enter a different rate for a ZIP/City
- So you want the first county you enter to be the default, and within any county, the first city you enter to be the default
- Remember: Shopify tracks this by the order you entered, not the order of the alphabet. You will work around this by entering things alphabetically, so that the visible logic looks like the underlying rules.
- You only need to enter one ZIP within a city for Shopify to get the California State + County + City taxes right for all ZIPs in that city
- Shopify Admin will display the list of Counties in the order you enter them. You cannot re-arrange them afterwards. So I strongly advise you to enter them alphabetically unless you need a ‘better’ option as the default
- Shopify Admin will display the list of Cities within Counties in the order you enter them. Again, following the alphabet now, sets you up for the future.
Set Up:
To Apply the Shopify California Sales Tax Workaround
We need several pieces of information, which does not live on the same page. Personally, I open 3 or 4 different web browsers/windows and keep them all open.:
- The current tax rates by City
- A ZIP code within each City
- The screen where we input this on Shopify
- An end-user view of our site to spot check and test
1 The California Department of Tax and Fee Administration (CDTFA) official site. While this appears overwhelming, you are not going to be entering all cities, only the cities that have exceptions to their county tax rates. In some counties, there are no cities with exceptions.
http://www.cdtfa.ca.gov/taxes-and-fees/rates.aspx
2. A list that shows you the primary ZIP codes for those cities – this is not pretty – if you know of a better one that shows them alphabetically within county, please let me know
http://www.zipcodestogo.com/ZIP-Codes-by-County.htm?
3. The Shopify Tax rates Admin page
Go to Shopify/Login/Admin/Settings/Taxes
From here, click through on ‘United States’
4. Optionally, you may want to keep a user view of your store checkout open so you can test as you go.
Add the first and default “County & City”
Remember, the first county you set up will become the default for all other counties unless they are specifically entered.Alphabetically, the first county is Alameda. But Alameda has a County rate of 2.5%, which we do not want as the default across the state. So pick the next county, Alpine, as the first one you will enter
1. Look on the CDTFA site at Alpine County – search by county or navigate to A in the county list
http://www.cdtfa.ca.gov/taxes-and-fees/rates.aspx
You can see that the whole county is at 7.25% ie State only, no County tax, no City tax. To add the county to Shopify, you need to know a valid ZIP code. The first town is Bear Valley.
2. Look at the Zip Code List – enter Alpine, CA
http://www.zipcodestogo.com/ZIP-Codes-by-County.htm?
Of course, the first county would be an exception! Only two ZIPs for this lightly populated county :-). Pick one, either one
3. Over in Shopify Admin
https://my-store-name.myshopify.com/admin/settings/taxes/US
Enter the State and ZIP Code. Click ‘Add State’
Scroll down to where town has appeared in the list
You do not have a city or county rate to enter. You can leave those at 0%, check the boxes and click ‘Save’
Set the rate for a County with its own Tax Rates
Look on the CDTFA site at the next county, for example, Alameda County
Looking down the list, you can see that the whole county is at least 9.25% i.e. State (7.25%)+ 2% County tax. Some cities are higher, with an additional city rate of .5%.
The first town is Alameda. This is good, because it is at the default rate for the county. (If the first town in the list was an exception, rather than the default, I would pick the next town in the list that is at the default rate)
2. Look at the Zip Code List – enter Alameda, CA
Pick a ZIP for the town you are entering (any ZIP for that town will work)
3. Over in Shopify Admin
Enter the State and ZIP Code. Click ‘Add State’
Scroll down to where town has appeared in the list
Enter the County rate of 2%, leave the City rate at 0%, check the boxes and click ‘Save’
Add Cities within the County that have individual rates
Looking at the CDTFA site at the county, for example, Alameda County
Looking down the list, you can see that the whole county is at least 9.25% i.e. State (7.25%)+ 2% County tax. Some cities are higher, with an additional city rate of .5%.
Look down the list, for the first city with its own tax rate. For Alameda County, it is Albany
2. Look at the Zip Code List – enter Alameda, CA
Pick a ZIP for the town you are entering (any ZIP for that town will work)
3. Over in Shopify Admin
Enter the State and ZIP Code. Click ‘Add State’
Scroll down to where town has appeared in the list
Enter the County rate of 2%, add the City rate at 0.5%, check the boxes and click ‘Save’
Rinse and Repeat for additional cities and counties