If you run an online store, then you’re legally required to collect sales tax in most countries. But taxes vary by country, state, and region, so figuring out the right tax rates for your products and services can get pretty complicated. 🤯
We sell to customers all over the world, so we’ve faced the same challenges.
Luckily, there are WordPress plugins that make it super easy to automatically collect taxes, no matter what type of product you sell.
For example, we use Easy Digital Downloads to sell our software and plugins, and we love it because it makes collecting taxes a breeze. But if you sell physical products or services, then you may need a different tool like WooCommerce.
In this article, we’ll show you how to collect taxes for Stripe payments in WordPress, step by step, for all the most common scenarios.
Why Collect Taxes for Stripe Payments in WordPress?
When you are running an online business, collecting taxes is not just a best practice. It is also a legal obligation.
Whether you are selling physical products, digital downloads, or subscription services, you need to collect the appropriate taxes at checkout to comply with local, state, and international laws.
Failure to do so could lead to hefty penalties and also harm your business’s reputation.
So, collecting taxes for all your Stripe payments in WordPress is not negotiable.
Keep in mind, though, that taxes are also an important part of the user experience.
When you calculate and display taxes clearly during checkout, customers are less likely to feel surprised or frustrated by final payment totals. Plus, it shows them that your business is legitimate and also simplifies your bookkeeping process.
Having said that, let’s take a look at how to easily collect taxes for Stripe payments in WordPress.
We will cover a few different methods, and you can use the quick links below to jump to the one you want to use:
Collect Taxes for Subscriptions, Services, and Single Products (WP Simple Pay)
If you sell subscriptions, services, or single products on your website, then the easiest way to make money and collect taxes is by creating a simple payment form.
To do this, we recommend WP Simple Pay. We love it because it comes with a lot of different premade payment templates, an intuitive form builder, and complete spam protection.
While testing the plugin, we found its fixed and automatic tax rate features super helpful for collecting taxes. The fixed tax rate option lets you set a tax rate manually, which works great if you are focused on one region with steady tax rules.
On the other hand, the automatic tax rate feature calculates and applies the correct rate based on the customer’s location, saving time and reducing the risk of errors.
For more details on our experience with the plugin, see our detailed WP Simple Pay review.
To get started, first, you need to install and activate the WP Simple Pay plugin. To learn more, see our tutorial on how to install a WordPress plugin.
☝ Note: WP Simple Pay has a free plan. However, you will need the pro version to unlock the tax collection feature.
After you activate the plugin, a setup wizard will appear on your screen. Here, simply click the ‘Let’s Get Started’ button.
Next, you have to add your plugin’s license key.
You can get this information in your account on the WP Simple Pay website. After you enter your license key, click the ‘Activate and Continue’ button.
Then, connect your Stripe account with WP Simple Pay. Keep in mind that the plugin will not work unless you connect it with a new or existing Stripe account.
To get started, click the ‘Connect with Stripe’ button and log in to your account. For more details, see our tutorial on how to accept Stripe payments in WordPress.
Once you have successfully connected your website with Stripe, the setup wizard will ask you to configure your emails.
At this point, you can enable options to receive email notifications for payment receipts, upcoming invoices, and payment notifications. You will also need to enter the email address where you want to receive these messages.
Finally, just click the ‘Save and Continue’ button. You can then complete the other steps and exit the setup wizard.
Once that’s done, go to the WP Simple Pay » Payment Forms page from the WordPress dashboard.
Next, click the ‘Create Your Payment Form’ button.
This will take you to the ‘Select a template’ screen. Here, you will see a list of premade templates.
You can choose a suitable template by clicking the ‘Use Template’ button under it. For this tutorial, we will use the simple ‘Payment Form’ template.
After you choose a template, WP Simple Pay’s form builder will launch on your screen. Here, you can start by adding a title and description for your form.
Then, select your form type as ‘On-site payment form.’
Now, head over to the ‘Form Fields’ tab. Here, you will find a dropdown menu where you can add a new form field.
Once you do that, click on the newly added option to expand the settings and customize it as needed. You can also drag and drop the fields to rearrange them however you like.
These fields will show up on your payment form, so make sure to add all the necessary form fields to collect the details you need from your customers.
For example, if you want to show tax rates based on the customer’s location, you will need to add an address field. This way, customers will have to provide their home address when making a purchase.
Once that is done, switch to the ‘Payment’ tab and add a price for your product. You can also add multiple products by clicking the ‘Add Price’ button.
On the other hand, if you plan to sell subscription services, then select the ‘Subscription’ option and start adding different tiers.
When you are ready, scroll down to the ‘Payment Methods’ section to choose options like ACH direct debit, card, Klarna, Affirm, Cash App, and Bancontact to accept Stripe payments.
Once you have done that, head up to the ‘Tax Collection’ section. Here, you can select one of the two tax collection methods according to your preference.
We will explain how to add a fixed tax rate and an automatic tax rate to your payment form.
Method 1: Add Fixed Tax Rate for Your Stripe Payments (Selling in One Region)
In this section, we will explain how to collect taxes if you are selling in a single region. This is a great choice if you sell and ship products only in a small region with uniform taxes, such as a state or province.
To do this, you will need to define the tax rate for your products manually.
First, you need to open the ‘Payment’ tab in the settings for WP Simple Pay. Then, choose the ‘Fixed tax rates’ option from the Tax Collection dropdown menu.
After you’ve made your selection, just click the ‘Save Draft’ button for your form.
Next, visit the WP Simple Pay » Settings » General page from the WordPress dashboard and switch to the ‘Taxes’ tab.
Here, you need to check the ‘Enable’ box next to the ‘Global Tax Rates’ option. This will open some new settings on the page, where you have to click the ‘Add Rate’ button.
You can now add a name and tax rate for your products or services in the popup.
After that, you must specify if you want your tax to be calculated inclusively or exclusively.
If you choose inclusive tax, then the required tax will automatically be included in the total price of the item.
Meanwhile, with exclusive tax, customers will be able to see the breakdown of the total cost of the purchase. This will include a subtotal with the base price and a separate line showing the sales tax.
We recommend choosing exclusive tax so your customers don’t think you are overcharging them.
Once you’ve made your choice, simply click the ‘Add Tax Rate’ button. The popup will close automatically. Then, click the ‘Save Changes’ button to store your settings.
Now, open up your form again and visit the ‘Payment Page’ section in the left column.
Here, you can check the ‘Enable a dedicated payment page’ box to create a custom payment form page. To customize the form, you can add a permalink, color scheme, image, and footer text.
Finally, click the ‘Publish’ button to save your settings.
You can now visit your website to see the payment form with a fixed tax rate.
However, if you want to add this form to an existing page, then just click the ‘Publish’ button after adding the tax rate.
Then, open an existing page from your WordPress dashboard and click the ‘Add Block’ button.
Once the block menu opens up, locate and add the WP Simple Pay block and choose the form you just created from the dropdown menu.
Next, click the ‘Update’ or ‘Publish’ button to store your changes.
You have now added a payment form with a fixed tax rate to an existing WordPress page.
☝ Related Post: If you’re setting up taxes in WordPress, then understanding online payment trends can help you optimize your checkout process. Check out our post on important payment statistics, data, and trends to stay informed.
Method 2: Add Automatic Tax Rate for Your Stripe Payments (Selling in Multiple Locations)
If you want to automatically configure the tax rate for your customers based on their location, then this method is for you. This is ideal if you’re selling in multiple countries and regions.
To do this, you must choose the ‘Automatically calculated by location’ option from the ‘Tax Collection’ dropdown menu in the WP Simple Pay form builder.
Once you do that, you will have to visit your Stripe account dashboard to activate automatic tax collection. From here, you can monitor the different regions where your business is crossing the tax threshold.
You can then add registration and start collecting taxes for these locations easily.
However, remember to confirm your origin address and select a default tax category to ensure accurate tax calculations for your business.
Now, when you head back to your WordPress dashboard, you will notice that choosing this option has opened some new settings under the ‘Tax Collection’ section.
Here, you have to choose a tax category for the product or service that you are selling from the ‘Tax Category’ dropdown menu.
For instance, if you sell skin care products, then you can choose that option.
Next, decide whether you want to display tax inclusively or exclusively. If you choose the inclusive option, then the tax will be included in the overall product price.
On the other hand, if you select the exclusive option, the tax amount will be shown separately. The subtotal will display the base price of the transaction, and there will be a separate line for sales tax.
We recommend using the exclusive option, as it is more transparent for your customers.
Once that is done, you can head over to the ‘Payment Page’ section.
Check the ‘Enable a dedicated payment page’ box if you want the plugin to generate a custom payment page. Then, customize your page however you like.
When you’re ready, click the ‘Publish’ button to save your changes.
Now, visit your website to see the payment form with automatic tax calculation in action.
On the other hand, if you don’t want the plugin to generate an entirely new payment page, just click the ‘Publish’ button after configuring the tax settings.
Then, to add your payment form to a pre-existing page, just open it with the block editor and choose the WP Simple Pay block from the menu.
Next, choose the form you created from the dropdown menu within the block.
After that, click the ‘Update’ or ‘Publish’ button to save your changes.
Now, visit your site to view the Stripe payment form with an automatic tax calculation field.
💡 Expert Tip: Do you sell to customers all over the world? Then, you’ll want to make sure your site loads quickly for visitors, no matter their location. At WPBeginner, we offer Site Speed Optimization Services to ensure your site always runs smoothly. To learn more, see our WPBeginner Pro Services page.
Collect Taxes for Physical Products (WooCommerce)
If you run an online store with multiple physical products, then payment forms won’t offer the most straightforward approach. You’ll probably need more eCommerce features and tools.
In that case, we recommend using WooCommerce. This free eCommerce plugin makes it super easy to sell your physical products, accept payments through Stripe, and collect taxes for those payments.
We’ve worked with this tool a lot, so we know it like the back of our hand. For more insights on what it can do, check out our detailed WooCommerce review.
The best part? Using WooCommerce’s built-in features, you can automatically calculate sales tax based on your store’s location and where your customers are.
Plus, it supports different tax rates, including state, country, and even city-specific taxes.
To begin, you’ll need to install and activate the WooCommerce plugin. To learn more, see our tutorial on how to install a WordPress plugin.
After activating the tool, you can set up your WooCommerce store to start selling products. You will also need to connect Stripe with WooCommerce to collect payments.
Just see our comprehensive WooCommerce guide if you need help with the process.
Once your store is set up, you need to visit the WooCommerce » Settings » General page from the WordPress dashboard and scroll down to the ‘Enable Taxes’ section.
Simply check the box next to it and click the ‘Save Changes’ button.
Once you do that, a ‘Tax’ tab will appear in the top menu. When you visit that page, you will start by deciding how you want to display taxes.
You can choose to display taxes exclusively, meaning they will be shown separately at checkout instead of being included in the product price. This ensures customers see exactly how much tax they are paying before completing their purchase.
You can also choose to display prices inclusively.
This means the price you enter in the ‘Product data’ section of your WooCommerce product will already include tax.
Next, you will need to set how taxes are calculated. To do this, open the ‘Calculate tax based on’ dropdown menu and select an option.
You can choose to calculate taxes based on the customer’s shipping address, which is great if you are shipping to different regions with varying tax rates.
On the other hand, select the billing address if you prefer to use the address your customer enters for payment.
There is also the option to use your shop’s base location, which keeps things simple by applying your local tax rate to all orders.
After that, it is time to change the shipping tax class. In this section, you can choose how WooCommerce should calculate tax on the cost of shipping.
For instance, if you choose ‘Shipping tax class based on cart items’, then the shipping tax cost will be calculated based on the tax class assigned to the product being shipped.
If you choose the ‘Standard’ tax class, then the default tax rate you have set up for the product will also be applied to the shipping tax.
The reduced tax class is for items that have a lower tax rate, like certain food products or books, depending on your region.
Finally, the zero tax class applies no tax to shipping at all, which might be useful if you’re offering tax-free shipping promotions.
Next, we recommend checking the box next to ‘Round tax at subtotal level, instead of rounding per line.’
This means taxes will be rounded based on the entire order subtotal rather than each individual product line.
You can now adjust the rest of the settings to fit your store’s needs.
One key option is deciding how to display prices in your shop, cart, and checkout pages.
You can choose to show prices including tax, so customers see the final amount upfront, or excluding tax, which adds transparency by showing taxes separately.
Additionally, you can configure the ‘Price display suffix’ setting to add text after your product prices. This can help show customers whether tax is included or excluded in the price they see.
For example, if you enter “Price incl. VAT: {price_including_tax}”, your store will display something like Price incl. VAT: $50.40.
Next, change the ‘Display tax totals’ setting to control how taxes appear during checkout. You can choose to show all taxes as a single total or display each tax as an itemized list.
If you choose the ‘As a Single Total’ option, WooCommerce will combine all applicable taxes into one total amount. Customers will see just a single tax line instead of separate breakdowns.
For example, if a product has multiple tax rates (like state tax and local tax), they will all be merged and simply shown as ‘Taxes’ at checkout. This keeps things clean and simple.
On the other hand, if you set it to ‘Itemized,’ then customers will see each tax rate separately. This means WooCommerce will list out every applicable tax, such as state and local taxes, on their own lines.
This provides more transparency, so customers know exactly what they’re paying for. The tax names shown will be the ones you enter in your WooCommerce settings.
We’ll walk you through how to do that in the next step. Once you are done, just click the ‘Save Changes’ button to store your settings.
Then, switch to the ‘Standard Rates’ page from the top and click the ‘Insert Row’ button.
You can now add the country code, state code, postcode, city name, and tax rate for each location where you want to collect taxes.
If you only want to collect taxes according to your store’s location, then you will only need to add one row. You can also add a tax name for each row so you can easily differentiate them.
If you select the itemized option in the ‘Display tax totals’ section, then the name you choose for each tax row will be the one displayed on the checkout page.
For example, if you set up separate tax rates for goods and services (GST) and provinces (PST), those exact labels will appear in the order summary.
Finally, click the ‘Save Changes’ button.
Now, visit your WooCommerce store to see the tax rate displayed on your checkout page.
Depending on your settings, the rate may also be displayed on your product and cart page.
Collect Taxes for Digital Products (Easy Digital Downloads)
If you want to collect taxes when selling your digital products through Stripe, then Easy Digital Downloads (EDD) is the best option.
This plugin is built specifically for selling digital products and offers seamless tax collection, including for Stripe transactions. The plugin handles everything from setting rates to generating reports, making tax management easier for stores.
We use EDD to sell our plugins and software. So, we’ve seen firsthand how easy it is to collect Stripe payments and manage taxes. To learn more, see our complete Easy Digital Downloads review.
First, you need to install and activate the Easy Digital Downloads plugin. For more instructions, see our guide on how to install a WordPress plugin.
☝️ Note: EDD has a free plan. However, upgrading to the pro version will give you access to features like advanced reporting, email marketing integration, content restriction, and more.
Once you activate the plugin, you will need to set up your store, add products, and connect Stripe with the plugin.
To get started, follow our beginner’s guide on how to sell digital downloads in WordPress.
When that is done, head over to the Downloads » Settings » Taxes page in the WordPress admin sidebar.
Here, enable the ‘Taxes’ option by checking the box next to it.
Then, choose if you want to display taxes exclusively or inclusively.
If you choose ‘Yes, I will enter prices inclusive of tax’, then the price you entered in a product’s data is the total amount the customer will pay after taxes.
So, if you set the price of a product as $20, the customer will pay $20 at checkout. The exact amount that will go towards taxes will be calculated automatically.
If you select ‘No,’ the price you entered on the product edit screen will not include the tax amount.
After that, we recommend checking the ‘Show Tax Rate on Prices’ option. This way, the customer will see the amount they are expected to pay in tax below the purchase button.
Next, decide how you want to display product prices on the checkout page. You can choose to show prices including tax, which means the total price customers see will have tax added.
Or, you can show prices excluding tax, where the price shown is just the product amount before tax (also called the subtotal). The tax will then be added separately at checkout.
Finally, click the ‘Save Changes’ button to store your settings.
Now, switch to the ‘Rates’ section from the top. Here, you can add tax rates for specific countries or states/provinces in those countries.
To do this, choose a country/ state from the dropdown menu and add its tax rate. Then, click the ‘Add Rate’ button.
You can repeat this step as many times as you like.
Once you are done, just click the ‘Save Changes’ button.
Now, just visit your digital products store to check how taxes are being collected for Stripe payments.
Bonus: Create Visually-Appealing Invoices for Customers
Managing tax collection is a legal requirement for eCommerce sites. But if you sell business products or services (or you just want to go above and beyond), then you can also offer your customers eye-catching invoices for their records.
An invoice that shows the subtotal, tax amount, and total cost helps with transparency and makes it easier for customers to track expenses, handle reimbursements, and even deal with customs claims.
To create professional-looking invoices, we recommend using FreshBooks.
It is a popular accounting software for small businesses that offers an easy way to create customizable invoices with your logo and personalized notes.
Plus, it automates reminders for overdue payments, securely processes recurring credit card payments, and notifies both you and your customers.
You can also include tax information, payment terms, discounts, and currency in your invoices, providing a clear breakdown of payments.
Although it is a third-party tool, FreshBooks seamlessly integrates with top website builders, including WordPress.
For step-by-step instructions, see our tutorial on how to create invoices for clients using WordPress.
Related Guides for Accepting Payments in WordPress
Need more information on accepting payments in your online store? Check out our related guides:
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.