GST/HST on Freelance Invoices in Canada, Explained
By Mark Fulton · · 11 min read
Last verified:

Most Canadian freelance developers wonder about GST/HST at one of two moments: on the first invoice, or the month revenue starts to look real. The answer is the same shape both times.
If your total taxable revenue, before expenses, stays at or under $30,000, you are a small supplier and you do not have to register for GST/HST or charge it. Once you go over that amount, you register, and from your effective date you add GST or HST to Canadian client invoices at the rate for the province where the client is located. Services to a client outside Canada are generally zero-rated: the invoice still carries a GST/HST line, but it is 0%. A registered invoice also needs your GST/HST number, the date, a description and the total, with more fields required as the amount grows. The sections below walk through each step, with a rate table and a field checklist you can copy into your invoice template.
This article is general information for freelance and contract developers, not tax advice. Rates and rules change, and your situation (corporation or sole proprietor, clients abroad, other income) can change the answer. Confirm anything that matters with an accountant or the Canada Revenue Agency (CRA) before you rely on it.
When does a Canadian freelance developer need to register for GST/HST?
The test is the small supplier rule. The CRA's page on when to register for and start charging the GST/HST sets the threshold at $30,000 of taxable supplies for most businesses, measured as revenue before expenses, and worldwide taxable supplies count toward it. That detail matters for developers: a US client's invoice counts toward the $30,000 even though you will not charge that client tax.
The threshold is tested two ways:
| Situation | What the CRA says happens |
|---|---|
| You stay at or under $30,000 over four consecutive calendar quarters | You are a small supplier. Registration is not required. |
| You pass $30,000 within a single calendar quarter | You must charge GST/HST starting with the supply that took you over. Your effective date of registration is no later than that supply. |
| You pass $30,000 across the last four quarters, but not in one quarter | You stop being a small supplier at the end of the month after the quarter in which you went over. You charge from your registration date. |
Whichever way you cross, you have to register within 29 days of your effective date of registration, and you start charging on that date, not when the number arrives.
Two practical notes for a developer who bills in lumps. A single large project can push you over in one quarter, which is the strict case: the invoice that crosses the line already carries tax. And because the threshold counts revenue before expenses, a year with heavy software and hardware spend does not keep you under it.
Can you register voluntarily?
Yes. The CRA says you may register voluntarily if you make taxable supplies in Canada. The tradeoff is real. A registrant can claim input tax credits to recover the GST/HST paid on business purchases, but a voluntary registrant must charge, collect and remit tax from day one, file returns, and, per the CRA's voluntary registration page, stay registered for at least one year before cancelling.
Voluntary registration tends to make sense when your clients are mostly GST/HST registrants (businesses recover the tax, so it costs them nothing) and you have meaningful taxable expenses. It tends to be a poor trade when your clients are individuals or small non-registered shops, because the tax is a price increase to them.
Which rate applies when clients are in other provinces?
For a service, the general place of supply rule is the province of the recipient's address, if you obtain that address in the normal course of business. The CRA's place of supply guidance spells that out, with fallback rules for when you have no Canadian address for the client. In plain terms: you charge the rate of where the client is, not where you sit.
So a developer in Alberta billing an Ontario company charges 13% HST, not 5% GST. A developer in Ontario billing an Alberta startup charges 5%. Here are the GST/HST rates by province as the CRA lists them on its rate calculator page, which noted the Nova Scotia change to 14% as of April 1, 2025:
| Client's province or territory | GST/HST rate | Tax type |
|---|---|---|
| Alberta | 5% | GST |
| British Columbia | 5% | GST (provincial sales tax is separate) |
| Manitoba | 5% | GST (provincial sales tax is separate) |
| New Brunswick | 15% | HST |
| Newfoundland and Labrador | 15% | HST |
| Northwest Territories | 5% | GST |
| Nova Scotia | 14% | HST |
| Nunavut | 5% | GST |
| Ontario | 13% | HST |
| Prince Edward Island | 15% | HST |
| Quebec | 5% | GST (Quebec sales tax is separate) |
| Saskatchewan | 5% | GST (provincial sales tax is separate) |
| Yukon | 5% | GST |
Check that table against the CRA page on the day you build your invoice template. Rates are the part that moves.
Two things catch developers out here. First, British Columbia, Manitoba, Quebec and Saskatchewan have their own provincial sales taxes on top of the 5% GST. Those are administered separately, they are not GST/HST, and whether they touch your services depends on the province and the kind of work. The CRA page makes one point worth remembering: where a PST is charged, GST is calculated on the price without the PST. If a client in one of those provinces is a meaningful share of your revenue, ask the provincial tax office or an accountant before assuming it does not apply to you. Second, the rate follows the client's address on file, so keep a billing address for every client and put it on the invoice. That one habit makes the tax line defensible.
Do you charge GST/HST to US or overseas clients?
Usually not, once you are registered, but the reasoning matters because there are exceptions.
The CRA's page on GST/HST and imports and exports says certain services provided to a non-resident person, but not to an individual while the individual is in Canada, may be zero-rated. A zero-rated supply has a 0% rate throughout Canada. That is different from being exempt or out of scope: you still show GST/HST on the invoice at 0%, and you still report the sale on your return. The CRA's guidance on exports of services lays out the general rule for services supplied to non-residents and its exclusions, including services in respect of real or tangible property in Canada and services to an individual who is in Canada at the time.
If you are still a small supplier, none of this changes your day: you do not charge GST/HST to anyone, US or Canadian. The zero-rating question is a registrant's question.
A worked example: a US client
Say you are a registered developer in British Columbia. You build an API integration for a software company in Austin, Texas, and bill $6,000 in Canadian dollars for the month. Your invoice reads:
| Line | Amount |
|---|---|
| Integration development, 60 hours at $100 | $6,000.00 |
| GST/HST at 0% (zero-rated, services to a non-resident) | $0.00 |
| Total due | $6,000.00 |
Add the client's name and address in Texas, your GST/HST registration number, and a note such as "Zero-rated supply: services to a non-resident." The client pays $6,000. You report the $6,000 as zero-rated revenue on your return, and because you are a registrant you can still claim input tax credits on the GST/HST you paid on your own business expenses.
The wording on the invoice is not a legal formula. What matters is that the 0% is visible and the client's non-resident status is something you can show. Keep their business address and, if you contracted through a US entity, the contract. If a client is a US company but the person receiving the service sits in Canada while it is performed, or the work relates to Canadian property, that is exactly where the exclusions bite and you should get advice.
For the currency and wire side of an overseas client, see how to invoice international clients. For the EU version of this same problem, where the answer is a reverse charge instead of a zero rate, see invoicing EU clients: VAT and the reverse charge.
What must a GST/HST invoice show?
The CRA does not publish a single "GST/HST invoice template". What it publishes is the information a registrant's customer needs to claim input tax credits, and it scales with the invoice total. This table follows the CRA's input tax credit page, under the records needed to support a claim. Build your template to the top tier and you never have to think about it again.
| Information on the invoice | Under $100 | $100 to $499.99 | $500 or more |
|---|---|---|---|
| Your business or trading name | Yes | Yes | Yes |
| Invoice date | Yes | Yes | Yes |
| Total amount paid or payable | Yes | Yes | Yes |
| Total GST/HST charged, or a statement that the price includes it | No | Yes | Yes |
| Status of each supply if taxable and exempt supplies are mixed | No | Yes | Yes |
| Your GST/HST registration number | No | Yes | Yes |
| The buyer's name | No | No | Yes |
| A brief description of the services | No | No | Yes |
| Payment terms | No | No | Yes |
Almost every developer invoice lands in the top column. A checklist version for your own template:
- Your legal or trading name and contact details
- Your GST/HST number, near the top where an accountant looks for it
- Invoice number and invoice date
- The client's name and billing address
- A short description of the work, with hours and rate if you bill hourly
- Subtotal, then a GST or HST line showing the rate and the dollar amount
- Total in Canadian dollars
- Payment terms and due date
A small-supplier invoice can leave the number off, since you have none, but keep the layout the same so the day you register is a one-line change. The line items themselves are covered in what belongs on a software development invoice.
Where does the GST/HST number go?
Anywhere a reader can find it without hunting. Next to your business name in the header is the convention, labelled "GST/HST No." so nobody has to guess. Putting it only in a footer works but slows down the client's bookkeeper, who is the person who pays you.
What if you passed the threshold without noticing?
It happens, usually after one big project. The CRA's rule is that you owe GST/HST from your effective date of registration, whether or not you had a number or charged it. If you crossed in a single quarter, that is the day of the supply that took you over, so invoices since then may carry tax you did not collect. If you crossed over four quarters, it is later, but still earlier than most people expect.
The practical steps, in order:
- Work out the date. Add up taxable revenue by calendar quarter, including clients abroad, and find the quarter and supply where you crossed $30,000.
- Register now. The 29-day window runs from your effective date, so you may already be late. Late is still better than later.
- Talk to the CRA or an accountant about the tax you did not charge. Tax you should have collected is generally owed whether or not the client paid it to you, which is why a developer who missed the date can end up covering it out of pocket.
- From the next invoice forward, charge it properly and tell clients why. A short note is enough: "I have registered for GST/HST. My number is on this invoice."
The cheapest fix is prevention. A running total of taxable revenue in a spreadsheet, checked at the end of each quarter, costs five minutes and keeps the date from sneaking up on you.
Pricing and clients: how do you handle the tax conversation?
Most clients who are GST/HST registrants themselves do not care, because they recover the tax. The ones who feel it are individuals and small shops that are not registered. If you are crossing the threshold and some clients will see the tax as a 5% to 15% price increase, say so early, before the invoice shows up. Quote ex-tax in new proposals ("$8,000 plus applicable taxes") so the tax never appears to be a surprise. And decide once whether to raise your rate when you register, rather than eating it silently. The same logic is in how to raise your rates.
FAQ
Do I charge GST if I'm a small supplier?
No. A small supplier with taxable revenue at or under $30,000 over four consecutive calendar quarters does not have to register or charge GST/HST. You may register voluntarily if you want to claim input tax credits, but then you charge tax like any registrant and stay registered for at least a year.
Is development work for a US company zero-rated?
Generally, services supplied to a non-resident are zero-rated, with exclusions such as services to an individual who is in Canada while it is performed and services connected to Canadian real or tangible property. A registered developer shows GST/HST at 0% on the invoice and reports the sale. Because the exclusions turn on the facts of the contract, confirm your specific case.
Where does my GST/HST number go on the invoice?
In the header next to your business name, labelled "GST/HST No." The CRA expects the registration number on invoices of $100 or more so your customer can claim input tax credits.
Can I register voluntarily?
Yes, if you make taxable supplies in Canada. You then charge, collect and remit GST/HST, file returns, and stay registered at least one year. The upside is claiming input tax credits on your business purchases.
Make the tax line a field, not a surprise
In billable, rename the tax field to GST or HST, set the percentage for the client's province, add your registration number in your details, and generate the invoice free. The generator formats CAD. The template at /free-invoice-template-for-developers is the quickest start if you want to see the layout before you enter anything.