For Business

For Business

How Canadian Contractors and Tradespeople Can Accept Bitcoin

A plain-English look at how Canadian electricians, plumbers, and contractors can invoice, receive, and record bitcoin payments while meeting CRA and GST/HST...

How Canadian Contractors and Tradespeople Can Accept Bitcoin

Bitcoin might feel like territory for tech companies, but Canadian tradespeople and contractors are increasingly curious about it. A client mentions they prefer to pay in crypto. A renovation customer asks if you take bitcoin. Before you figure out the logistics, it helps to understand what agreeing to that payment actually means from a tax and recordkeeping standpoint.

This guide walks through how the pieces fit together for a self-employed Canadian trades professional: how to structure a bitcoin invoice, what happens at the moment of receipt, how GST/HST applies, and what you need to keep on file.

What Bitcoin Income Looks Like for Self-Employed Tradespeople

For a self-employed electrician, plumber, general contractor, or renovation specialist operating as a sole proprietor or through a partnership, all income from services is business income. That income is reported on Form T2125 (Statement of Business or Professional Activities) when you file your personal tax return.

Bitcoin received as payment for services does not change that fundamental classification. The Canada Revenue Agency treats cryptocurrency received in exchange for goods or services as business income at the fair market value of the cryptocurrency in Canadian dollars at the time of receipt.

In practical terms: if a client pays you 0.05 BTC for a plumbing job and BTC is trading at $80,000 CAD when the payment lands in your wallet, you have received $4,000 CAD of business income. That amount goes on your T2125 the same way a cheque for $4,000 would.

The distinction between business income and capital gains matters here. When a business accepts bitcoin as payment for services, the receipt itself is income, not a capital event. If you later hold that BTC and sell it at a different price, the difference between what you recorded as income and what you eventually receive would be a separate capital transaction. However, trades professionals who are primarily in the business of providing services rather than speculating on crypto will generally treat the receipt as income and the subsequent sale or conversion as a relatively minor adjustment. How you handle the holding period is worth discussing with a tax professional or accountant who knows your specific situation.

For more detail on how income reporting works, see how to report bitcoin income to the CRA.

How to Issue a Bitcoin Invoice

The mechanics of quoting and invoicing in bitcoin for a trades job follow a straightforward logic: you quote in Canadian dollars, specify the bitcoin equivalent at a rate locked at the time of the quote or agreement, and collect the BTC.

Here is how that typically looks in practice:

Quote in CAD first. Your estimate or quote is in Canadian dollars. This protects you from exchange rate movement and keeps your pricing transparent. A roofing job quoted at $12,500 CAD is a $12,500 job.

Convert to BTC on the invoice. When you issue the invoice, note the CAD amount, look up the current BTC/CAD exchange rate from a reputable source (a major Canadian exchange or a widely used price aggregator), calculate the BTC equivalent, and include both on the invoice. For example: "Total: $12,500 CAD (equivalent to 0.15625 BTC at a rate of $80,000 CAD/BTC as of [date and time])."

Lock the rate with a time window. Bitcoin prices move. Most contractors who invoice in bitcoin either use a payment processor that handles real-time conversion or specify that the quoted BTC amount is valid for a defined window, such as 24 or 48 hours. If the client pays after that window, the BTC amount is recalculated at the current rate.

Include your wallet address. Your invoice should show the Bitcoin wallet address where payment should be sent, or you can generate a fresh address for each invoice (which is good practice for privacy and recordkeeping).

For a more detailed walkthrough of building a bitcoin invoice, invoicing clients in bitcoin: a practical guide covers the components step by step.

GST/HST on Bitcoin Jobs

Accepting bitcoin does not exempt a transaction from GST/HST obligations. If your business is registered for GST/HST and you would normally charge it on a job, you charge it on a bitcoin job too.

The GST/HST is calculated on the Canadian dollar value of the services. Using the example above: a $12,500 job in Ontario would attract $1,625 in HST (at 13%), making the total $14,125 CAD. You would then convert the full $14,125 to bitcoin for the invoice total.

You remit GST/HST in Canadian dollars to the CRA as usual, regardless of the form of payment you received from the client. If you received BTC, you either convert enough to cover the remittance or hold the BTC and pay from other funds. The remittance amount and timing are not affected by how the client paid.

The rules around which services are taxable and which are zero-rated or exempt are the same for bitcoin transactions as for any other payment method. The currency form does not change the tax treatment of the underlying service.

If your annual revenues are below the small supplier threshold, registration may not be required, but the threshold calculation uses your total revenues in Canadian dollars, including the CAD value of any bitcoin received.

Recordkeeping When a Client Pays in BTC

CRA expects you to keep records that support your income and deductions. For a bitcoin payment, that means documenting more than just the amount.

At a minimum, your records for each bitcoin transaction should include:

  • The date the payment was received
  • The CAD value of the bitcoin at the time of receipt (supported by a screenshot or export from the exchange or price source you used)
  • The BTC amount received
  • The wallet address the payment was sent to
  • The invoice or job reference it relates to
  • The transaction ID on the Bitcoin blockchain (this serves as a receipt)

If you use a payment processor that settles to CAD automatically, the processor's records often capture much of this. If you receive bitcoin directly to your own wallet, you are responsible for capturing the spot rate at the time of receipt.

Keeping a dedicated spreadsheet or ledger entry per job makes this straightforward. The blockchain transaction ID is publicly verifiable, which can actually make recordkeeping more robust than a cheque in some respects.

See recordkeeping for bitcoin payments at tax time for a more complete look at what to keep and for how long.

One-Off Job vs. a Regular Pattern

There is a meaningful difference between a contractor who accepts bitcoin once because a client asked, and one who actively advertises it and accepts it regularly.

For a one-off payment, the mechanics are the same as described above, but the administrative overhead is lower. You record the transaction, include it in your T2125, and move on. There is no special registration or filing required simply because a single client paid in bitcoin.

For a contractor who begins accepting bitcoin routinely, a few additional considerations come up. You may want a more systematic process: using a dedicated wallet or payment processor, maintaining a consistent method for recording spot rates, and tracking any gains or losses if you hold BTC between receipt and conversion.

FINTRAC (the Financial Transactions and Reports Analysis Centre of Canada) rules around cryptocurrency apply primarily to businesses in the money services business category. Most trades contractors are not in that category, but if your volume grows significantly or you start acting in ways that resemble a crypto exchange or dealer, it is worth understanding where those lines are drawn. The current FINTRAC regulations for virtual currency businesses came into effect in 2020 and have specific registration and reporting requirements for businesses that exchange or transfer virtual currency as a core activity.

For freelancers and self-employed workers thinking through the broader picture of getting paid in bitcoin, how freelancers can get paid in bitcoin covers tools and approaches across different types of self-employment.

Frequently Asked Questions

Does accepting one bitcoin payment mean I have to report it as income?

Yes. The CRA treats cryptocurrency received for services as business income at its fair market value in CAD at the time of receipt. A single bitcoin payment is no different from a single cheque: it is income in the year you received it and goes on your T2125.

Can I quote a job in bitcoin instead of Canadian dollars?

You can structure a quote however you and the client agree, but your tax records and remittances still use CAD. Most contractors quote in CAD and include the BTC equivalent on the invoice to make the tax side cleaner. Quoting only in BTC creates more complexity if the rate shifts between quote and payment.

Do I charge GST/HST on a bitcoin job?

If you are registered for GST/HST and the service is taxable, yes. You calculate GST/HST on the CAD value of the services, include it in the bitcoin total on the invoice, and remit it to the CRA in Canadian dollars as you normally would.

What exchange rate should I use when recording bitcoin income?

The CRA expects you to use the fair market value in CAD at the time of the transaction. In practice, that usually means pulling the rate from a recognized exchange or price source at the moment payment is received and documenting that rate in your records alongside the transaction.

What if bitcoin drops in value after I receive it but before I convert it?

The income you record is the CAD value at the time of receipt. If the bitcoin falls in value before you sell or convert it, that subsequent loss may be a capital loss, not a business loss, since the income was already recognized. How you handle that depends on your situation, and the rules can change, so verifying the current treatment with a tax professional or the CRA is worth doing before you make decisions based on expected losses.

← Back to all guides