SaaS sales taxes are complicated, and automatically calculating sales taxes at checkout based on customers' location has always been a heavy in-house integration effort with 3rd-party tools. The newly released Stripe Tax is making it extremely easy to calculate and collect sales taxes automatically.
In this article, I'll explain the basics of SaaS sales taxes in the United States and Europe and how you can automate the entire process of sales tax calculation and collection with Stripe Tax. Let's get to it.
What is SaaS sales tax?
SaaS sales tax is an additional amount of money, calculated as a percentage, that customers pay at the point of subscribing to your software. The laws for calculating and collecting Software-as-a-Service sales tax are different for each country and region. These sales tax laws are not standardized.
SaaS businesses are required to follow the sales tax laws not only on the business's operational location but also in the region where the purchasing customers reside. This makes it even more complex for SaaS companies selling globally.
Know where and when to apply SaaS sales tax
To gather sales taxes for your SaaS, you must know where your customers are located, how much you can sell in that location before collecting sales taxes, and the tax rate for that location. This information exists on the government websites of every region and country. The US, European Union, and every other country have their own sets of laws. Here is how the US and EU calculate them.
How EU calculates SaaS sales taxes (VAT)
European Union categorizes SaaS as a digital good and applies a sales tax called VAT, "Value Added Tax". The laws and rates for VAT are different for every EU country, but specific factors play a significant role in how you should apply SaaS VAT for your SaaS customers.
The biggest factor to consider is the location of your customers. Depending on where your SaaS business is established and what areas you are selling to, your VAT policies are different.
If your business is within an EU country and you are only selling to customers inside your country, you only need to apply the VAT rate of your country at the time of purchase. If your establishment is in the EU and you're selling to any other EU country, you need to register and apply VATs for each country you're selling to once you go above the selling threshold of that country. Luckily, VAT MOSS (Mini One-Stop Shop) makes this simpler. MOSS is an online portal that helps you combine every single one of your EU VAT into one single tax return, as quarterly filings. If your business is outside of the EU and you're selling to any country within the EU, you'll also have to apply for VAT MOSS and add VATs to purchases once you're above the selling threshold in that country. Sounds complicated, right? Well, it gets more complex.
EU also cares whether you are selling your SaaS subscriptions to consumers (B2C) or businesses (B2B). If you are selling to businesses, they must input their company VAT ID number during checkout. Any buyer with a valid VAT ID number will go through the reverse-charge mechanism where they don't need to pay taxes during checkout and pay VAT directly to their government.
Lastly, depending on how much sales you have annually, you must collect two pieces of evidence that confirm the location of your customers. Any of the following two proof of location is valid:
- The billing address
- Location of the customer's bank
- The country which issued the credit card
- The IP address location of the customer's device
- Country of the SIM card (in cases where the purchase was on a mobile device)
These policies continue to change, and keeping up is a tedious task. Keep reading to learn how the new Stripe Tax can solve most of these complexities for you.
How the US calculates SaaS sales tax
The United States has its own sets of SaaS sales tax laws very different from the EU. There is no national-level sales tax in the US. Instead, each state in the US has its own set of individual sales tax rules for SaaS. If I didn't yet have your head spinning, let's dig into the complex US sales tax system for SaaS.
Similar to the EU's digital services sales tax, the US states that tax SaaS sales calculate the amount based on the customer's location. For a SaaS business selling in the US, they have to be aware of the sales tax laws in each region. Some states consider SaaS as services and apply sales tax, some states don't apply any sales taxes on SaaS, and some have more complex laws depending on selling to businesses or consumers.
Although each state has its own sales tax threshold for services, the most critical factor to know when selling SaaS subscriptions is where your customers live and the sales tax rate for their specific location. In many states, the sales tax rates are different within regions in the states. This can get very complex as you can't just rely on a single rate for an entire state.
Now that you know the basics of SaaS sales taxes let's understand how you can automate the calculation and collection of your SaaS sales taxes using Stripe Tax.
Automate SaaS sales tax, VAT, and GST calculation & collection with Stripe Tax
Stripe Tax, released on June 10th, 2021, is here to simplify how sales taxes are calculated and collected online. You no longer need to stack multiple SaaS platforms together or overcomplicate your billing architecture to handle sales tax. Although Stripe Tax covers a broad range of use cases, we will mainly focus on its features for SaaS. In essence, Stripe Tax provides APIs to developers to automate the amount of sales taxes at the time of purchase based on the buyer's location. It removes the layer of complexity for businesses to manually manage all the different tax rates and sales tax laws in their selling areas.
Stripe even goes further by allowing businesses to calculate and collect sales taxes completely without writing a single line of code. Here is how it is done:
1. Configure Stripe Tax settings for your business
There are three simple steps to configuring your tax setting with Stripe. First is adding the origin address of your business. Your origin address may determine where you are required to collect sales taxes, VAT, or GST.
Next is defining your default product tax code. Stripe will use this tax code to determine the potential locations that you'll have to register to collect taxes. There is an option to select for the SaaS tax code. You can also explicitly define tax codes per individual product in Stripe if you have a hybrid model with different offerings.
Last but not least, you can add the locations where you want to collect taxes. Stripe has made this registration process to collect taxes around the world more accessible than ever. In the case of the US, you can add each state individually, and for the EU, you can select VAT MOSS within any given country. You no longer have to deal with manually calculating and gathering the tax rules for every region you sell SaaS subscriptions to. It's unreal but true!
2. Setup SaaS pricing tax rules based on your product offering
Once you've got your Stripe Tax settings configured, you are ready to create your products and prices in Stripe. There are now two new options added to Stripe Products. Individual tax code for each product, which you can leave blank if the product falls under the default tax code you've already configured, and whether the tax is included in the SaaS price or not.
If you choose to include the tax in the price, the end customer will only see your set price. Otherwise, the tax will be added on top of the set price during checkout. In both cases, sales tax and VATs will be added to the invoices automatically by Stripe.
3. Automatically collect SaaS sales taxes & VATs at checkout
The final step to collecting SaaS sales taxes is to integrate Stripe Tax with your checkout flow. Fortunately, the Stripe ecosystem is mature and gives you a range of options to automate this step. Here are the choices:
Custom Stripe Tax integration
Stripe API is known to be developers' dream documentation. Stripe has set the bar high when it comes to custom integrations. You can implement the automated sales tax collection using Stripe API in your SaaS app. This option does require development work if you have the resources to do so. Here is a guide and video our team has prepared to help you with your custom integration.
Hosted Stripe Checkout
Stripe Checkout is a low-code/no-code hosted checkout solution that has Stripe Tax already implemented. You can redirect users to Stripe Checkout during purchase. Stripe Checkout will detect whether or not you should collect taxes from the customer and handle the calculation and collection of sales taxes based on your customer's location. Once the customer completes the purchase, Stripe Checkout will redirect back to your website.
Embedded Billflow Checkout
If you are a growing SaaS business and need a state-of-the-art checkout solution that works perfectly with Stripe Tax and it's embedded directly inside your SaaS, you have an option to use Billflow. At Billflow, we specialize in embeddable billing pages built on top of Stripe and provide a no-code/low-code customer-facing user interface to SaaS businesses. Billflow Checkout form will automatically detect your customer's IP address and show an estimated tax amount. Once the customer enters their billing address, Billflow Checkout will automatically finalize the sales tax amount and collect the total from the customer. Check out a live demo of Billflow Checkout here.
If you enjoyed this guide and need additional help setting up Stripe Tax, we'd love to help. Schedule a call with us here.