Hello everybody! As you may know, I have a handful of projects that bring me revenue. My services accept payments from Stripe, Apple App Store and Google Play Store. All of them get funneled to my Canadian business bank account. Today we'll talk about sales tax in Canada.
Setting up the payments is relatively easy so I won't cover it in this article. However, I will share with you everything you need to know to start charging your Canadian customers GST/HST to later pay it to the CRA.
Disclaimer: this article is neither legal nor financial advice. Information here can become outdated really fast. Make sure to check with your accountants and regulators beforehand.
What is GST/HST?
It's always better to read the official documentation about GST and HST. Basically, it's sales tax. Provinces and territories use either GST or HST which from our developers viewpoint are the same thing. It can be 5%, 13% or 15% on the moment of writing. Check the most up-to-date list here.
You charge your customers taxes, you declare these taxes to the government, you pay the taxes collected. That's it. If you are a Canadian company, you only charge sales taxes to Canadian clients. In our case, it's people who use our apps in Canada.
What are the prerequisites?
First, make sure you are incorporated, i.e. you have a legal business entity in Canada. Incorporation is pretty straight-forward and can be done in a couple of weeks. Here's the official documentation. This article might not be useful to you if you decide to stay a sole proprietor benefiting from your apps.
After you incorporate, make sure to apply for a GST/HST number with CRA and get it. You are legally obligated to clearly show this number on any invoices and receipts where you charge people GST/HST.
Here's what you need to do with Stripe:
- Setup "Tax details"
- Setup "Bank accounts and scheduling"
- Add your GST/HST number to the invoices and receipts
- Then when it's time to file your taxes, go here, export all the payments and then calculate how much tax you owe to the government
To setup "Tax details" go here and fill out the short form. I entered my 9 digit business number here and it failed verification. I had to separately inquire the support to verify the number and then it passed the verification for some reason.
To setup "Bank accounts and scheduling" go here. Make sure to use you business bank account! The revenue should come to your company, not to you as an individual.
You can add the GST/HST number here to the "Default footer". Unfortunately, this is the only way to do this in Stripe because "Dynamic tax rates" don't work in Canada yet and we cannot only show the GST/HST number to people from Canada.
When exporting your payments info you can manually derive how much tax you owe to the government depending on the country and the zip code of a transaction. But I would recommend to write a simple script that will pick only the Canadian transactions and use the correct tax rates depending on the zip code. Doing it manually is too tedious and mistake-prone.
Stripe doesn't charge users tax by default and "Dynamic tax rates" are not available to the Canadian customers by default. So you can either charge an "average" sales tax rate of 5%-15% on top of all transactions or you can make the tax inclusive. Which will mean that if your subscription is $5/month, you will pay $0.65 of taxes and only get $4.35 after taxes.
Good news though: looks like you don't have to charge international customers sales tax on Stripe!
Here's what you need to do with Apple:
- Upgrade your personal account to the organization type here if you haven't done that already
- Make sure that your Tax info and Bank info are connected to your company entity, not to you as an individual
- When it's time to file the taxes, go to Financial reports, export all the sales you made in Canada and note the amount of GST/HST Apple has charged your customers on your behalf
When upgrading your personal account, you will need to get a D-U-N-S number. It's a simple procedure — you fill out the information of your company and wait for the email with the D-U-N-S number assigned. Then you can use it to upgrade your account.
You absolutely have to get revenue to your company bank account and you have to provide your company's GST/HST number. Also, feel free to use your company's credit card to pay for the Apple membership from now on. This is for sure a business expense.
Apple will ask you for the "RT" number, don't put "RT" there, just use the four digits (e.g.
0001). It will also ask you for the business number, just use the 9 digits, omit the rest (e.g.
And then you should be good to go!
Here's what you need to do with Google:
- Make sure that your company's bank account is added here, do not use your individual bank account
- Enter your GST/HST number here; Google support claimed that having an "individual" Canada tax account is fine as long as GST/HST is clearly displayed there
- Make sure you specify Canadian sales tax rates here as detailed here
- When it's time to file the taxes, go here and export the tax documents
Google will verify your bank account by depositing a minuscule amount of money to it — and then you will have to check your bank statement and enter the exact amount. It usually takes up to 3 days for the deposit.
Pretty underwhelming, eh? Just charge your Canadian customers GST/HST, display your GST/HST number on the invoices and receipts for these customers, in the end of the tax year calculate how much GST/HST you collected (or get the info from Apple and Google) and pay it to the government.
Oh, and don't forget to pay other taxes too!
Subscribe to Golden Borodutch
Get the latest posts delivered right to your inbox
And try out Todorant. It's my main project — a smart todo list that tricks the primitive part of the brain to get things done. It is the only thing that helped me to become as productive as I am right now.