For Business
How to Invoice Clients in Bitcoin: A Practical Guide for Canadian Businesses
Learn how to create a bitcoin invoice, handle CAD conversion, and meet CRA reporting obligations when billing clients in crypto.

Sending a bitcoin invoice is not that different from sending any other invoice, except you're asking a client to pay with BTC instead of a bank transfer. The mechanics are straightforward. The accounting is where things get a little more interesting, especially under Canadian tax rules.
This guide walks through how to build a bitcoin invoice, what to put on it, how to set the amount so neither party gets burned by price swings, and what you owe the CRA after the payment lands.
What a bitcoin invoice actually needs to include
A bitcoin invoice should carry everything a normal commercial invoice does, plus a few crypto-specific fields.
Standard invoice fields:
- Your legal name or business name, address, and (if registered) GST/HST number
- Client's name and address
- Invoice number and date
- Description of goods or services
- Payment due date
Bitcoin-specific additions:
- The amount due in CAD (mandatory for CRA purposes)
- The BTC equivalent at the time of invoicing, and the exchange rate source you used
- Your receiving bitcoin address (or a payment URI like
bitcoin:bc1q...?amount=0.012) - An expiry window for the quoted rate, if you're locking a price
That last point matters more than people expect. Bitcoin's price can move several percent in an hour. If you quote 0.012 BTC and the client pays two days later, you may receive materially more or less than you intended. Most businesses solve this by either using a payment processor that locks the rate for 15-30 minutes, or by re-issuing the BTC amount at payment time rather than at invoice time.
How to set the amount: CAD first, then BTC
The CRA expects you to report income in Canadian dollars. That means the CAD figure is the one that matters for your books, and the BTC amount is just the delivery mechanism.
A clean workflow looks like this:
- Determine what you're owed in CAD (e.g., $1,200 for a consulting retainer).
- Look up the CAD/BTC exchange rate on a reputable source at invoicing time. The CRA doesn't mandate a specific exchange, but you should use something consistent and documentable, like the rate from a major Canadian exchange or a well-known aggregator.
- Calculate the BTC equivalent and note the rate on the invoice: e.g., "0.01143 BTC at $104,900 CAD/BTC via [source], as of [date/time]."
- Set an expiry. If the client doesn't pay within your window, you re-quote.
If you're a freelancer doing this regularly, the freelancers' bitcoin payment guide covers some practical shortcuts for building this into a routine.
Tools for creating bitcoin invoices
You don't need specialized software for occasional invoicing. A standard invoice template with the extra fields above is fine. For higher volume or when you want the payment handling to be more automated, there are a few categories of tools worth knowing:
Self-hosted or open-source options
BTCPay Server is the most widely used self-hosted option. You run it on your own server, connect it to a wallet, and it generates payment requests with expiry timers, handles exchange rate conversion, and marks invoices paid automatically when on-chain or Lightning payment arrives. There's no per-transaction fee. The setup requires some technical comfort, but there are managed-hosting versions that reduce that friction.
Hosted payment processors
Several processors let you generate a bitcoin invoice through their dashboard, with options to auto-convert to CAD on receipt or hold the BTC. These typically charge 0.5-1% per transaction. They handle the address generation, rate locking, and payment confirmation. If you're already accepting bitcoin in your online store, you may already have access to invoicing features inside the same platform.
Manual invoicing
For one-off invoices, you can do this entirely manually: generate a receiving address in your wallet, calculate the BTC amount, and put everything on a PDF. The downside is you have to watch for the payment yourself and update your records manually. Fine for occasional work, cumbersome at scale.
No endorsement of any specific product here. Evaluate tools based on your volume, technical capacity, and whether you want to hold BTC or convert immediately.
CRA reporting obligations
This is the part most guides skip over, and it's the part that actually matters come tax time.
When a Canadian business receives bitcoin as payment for goods or services, the CRA treats it as barter. The fair market value of the BTC at the time of receipt is your revenue. That amount goes into your income just as if the client had paid in CAD.
What you need to record for each bitcoin payment:
- Date of receipt
- CAD fair market value at time of receipt (not at invoice date, not at the time you eventually sell the BTC)
- The exchange rate source
- The BTC amount received
- The wallet address it arrived at
If you later sell or otherwise dispose of the BTC you received, there's a second taxable event: a capital gain or loss based on the difference between what you received it at (your adjusted cost base) and what you sold it for. Receiving BTC as income sets your cost base. Track it per-coin or per-batch using a method you apply consistently.
GST/HST: you charge GST/HST on the CAD value of your supply the same way you would on a CAD invoice. The CRA's position is that using BTC as payment doesn't change the GST/HST treatment of the underlying sale.
FINTRAC obligations can apply depending on your business type and transaction volumes. If you're a money services business or are dealing in large volumes, confirm your specific obligations with a compliance professional. For most consultants and small businesses invoicing occasional clients in BTC, the CRA income reporting above is the main obligation, but don't assume.
Rules in this area continue to evolve. Confirm current CRA and FINTRAC guidance before you file. This is educational information, not tax or legal advice.
What to do when the BTC amount received doesn't match the invoice
This happens more often than you'd expect. On-chain payments can include a fee deducted from the sent amount, the client might pay slightly above or below the quoted BTC, or there can be rounding. A few practical approaches:
- Accept minor variance: If the CAD equivalent of what arrived is within a rounding tolerance (say, 0.5%), mark it paid and note the actual received amount in your records.
- Re-invoice the shortfall: For meaningful underpayment, issue a top-up invoice in CAD or BTC for the difference.
- Use a processor that handles this automatically: Most payment processors flag partial payments and hold them pending action, or automatically request the remainder.
Overpayments in BTC should be handled the same way you'd handle a CAD overpayment: refund the excess or apply it as a credit, and document it.
FAQ
Do I need to charge GST/HST on a bitcoin invoice?
Yes, if you're GST/HST-registered. You charge GST/HST on the CAD value of the supply, and you remit it the same way as on any other invoice. The payment method doesn't change this. If your client is also registered, they can claim the input tax credit in the usual way.
What exchange rate should I use for the CRA?
The CRA doesn't specify a particular source, but your rate should be consistent, documentable, and reflect fair market value at the time of the transaction. Many businesses use a major Canadian exchange or a well-known aggregator and note the source and timestamp on every record.
Can I invoice in BTC without a business number?
Sole proprietors without a GST/HST number can still invoice in BTC. You still need to report the income in CAD on your personal tax return. The absence of a business number just means no GST/HST on the invoice. The income reporting obligation is unchanged.
How do I handle a client who pays late and the BTC price has changed?
Your invoice should specify the CAD amount owed and an expiry on the BTC rate. If the client pays after the rate window, re-issue the BTC calculation based on the current rate. Your income for tax purposes is the CAD value at the time of actual receipt, regardless of what the invoice originally quoted.
Is there a minimum bitcoin payment amount for invoicing?
No regulatory minimum in Canada. Practically, on-chain transactions below a certain size become economically inefficient due to network fees. For small invoices, Lightning Network payments are faster and cheaper. If your invoicing tool supports Lightning, it's worth enabling, especially for amounts under a few hundred dollars.
If you're new to accepting bitcoin in a business context, it helps to see how retail stores approach bitcoin payments — the same core concepts around rate locking, receipts, and CRA reporting apply, just in a point-of-sale context rather than a billing one.
This article is for educational purposes only and is not financial, tax, or legal advice. Accept Bitcoin Canada is an independent educational resource, not affiliated with any wallet, exchange, or payment processor mentioned here. Tax and regulatory requirements change — confirm current CRA and FINTRAC guidance before acting.