If your government requires you to show prices with taxes included, but you want your international customers to pay less than the VAT-included price, you will need to show two prices in your shop. One price will be with taxes included for your local customers, and one price will be without taxes for your international customers.
Tip: The solution presented here won't work in the following themes: Venture and Boundless.
Note: This solution will only work if your products have only one variant, and the price on the product page is not updated via JavaScript (usually found in a selectCallback function).
Shopify will automatically set your tax rates for you, but you might want to confirm that those rates are correct. To do so:
We're going to find the locations where the theme calls on product price. This will generally appear as:
{{ product.price | money }}
We will want to add in a variable here that will multiply the price by your tax rate:
{{ product.price | times:1.XX | money }}
Where XX = your tax rate. So if your tax rate is 10%, it should be times:1.1
. If it's 5%, it should be times:1.05
. In Canada, the federal tax rate is 5%, so we'll use times:1.05
.
This tutorial will use the Minimal theme as an example — every theme is built differently, so the areas where you have to modify your theme will differ if you're using another theme.
The Minimal theme changes this in the exact same spot.
product-grid-item.liquid
snippet to open it in the online code editor.{{ product.price | money }}
{{ product.price | times:1.05 | money }} Int price: {{ product.price | money }}So that it looks like this:
product.liquid
to open it in the online code editor.{{ product.price | money }}
{{ product.price | times:1.05 | money }}
<div class="purchase">
, add:<h3>Int price: {{ product.price | money }}</h3>before the closing
</div>
tag.Showing the international price for each line item in the table will most likely just make the page very cluttered and confusing. So we'll just add a note at the top of the page that lets international customers know that they will receive 5% off of the listed price. We will also add an international price at the end of the cart.
cart.liquid
to open it in the online code editor.<h3 style="text-align:center; color:red">All international orders receive 5% off!</h3>So that it appears like this:
We'll now change the line item prices in the table so that they are also marked up:
{{ item.line_price | money }}Changes to:
{{ item.line_price | times:1.05 | money }}
So that it appears as such:
{{ cart.total_price | money }}to
{{ cart.total_price | times:1.05 | money }} <br /> Int price: {{ cart.total_price | money }}
Your shop will now show both your prices including VAT as well as your international price without. Check out this test shop to see how it works.
TyW | Online Community Manager @ Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit the Shopify Help Center or the Shopify Blog
Hi TyW, thanks for this information. On our store we want to display prices both with and without tax, but we have a few products where no tax is charged - these are in a collection and we use the Tax Override function. Is there a way to implement your solution but with a variable tax rate, rather than entering a fixed rate such as 1.2 as shown on your example? Thank you.
As per my point of view: the logic implemented by Shopify is not correct.
When prices are shown tax inclusive in shop pages, prices should show tax exclusive in checkout page if the country is tax exempt. otherwise the customer's country end up paying more.
Furthermore in checkout page taxes and tax rate should always show in any case.
That's how Woocommerce has implemented their logic.
Will this coding change the pricing in invoices i am sending out too?
My online store is synced with Vend and the prices it pulls in are tax inclusive. I think I need to use this code to show the without tax prices on the product/collection pages but ultimately to send correct VAT invoices to EU Business Customers
Hi TyW - great article, thanks, but do you know of a solution for this issue where products DO have multiple variants?
Hi TyW,
I've just installed a theme called Wokiee on my Shopify test site, I wonder if you can advise how I would make the changes on that. I had a look myself, but the lines must be some other place.
I was using a Magento1 site and thought I may be able to Shopify, because I cant afford Magento2. I have a B2B business.
Thank you.
User | Count |
---|---|
447 | |
194 | |
139 | |
60 | |
44 |