Skip to content

Answers · Bookkeeping and Deductions

How do I record USD transactions in Canadian books?

Canadian businesses report their income tax return in Canadian dollars, so every USD transaction needs to be converted to CAD, generally using the exchange rate in effect on the date of that transaction. QuickBooks Online and Xero both support multi-currency as a feature you turn on, which converts USD invoices, bills, and bank transactions automatically and calculates the resulting foreign exchange gain or loss when the USD is eventually converted or settled. A USD-denominated bank account should be set up as its own currency inside the software rather than converted manually at the time of every transaction.

By the AnalytIQ Accounting team · Last reviewed: September 6, 2026

Why your books are kept in CAD even when money moves in USD

The CRA requires income to be reported in Canadian dollars, so no matter how much revenue arrives in USD, from Amazon settlements, Stripe payouts, or an American client paying an invoice, the underlying books ultimately need a CAD figure attached to every transaction. This does not mean every USD dollar has to be converted by hand; it means the software needs to be set up to do that conversion consistently.

The same principle applies to USD expenses. A subscription paid in USD, a US-based contractor invoice, or a supplier billing in USD all need a CAD equivalent recorded, and using a consistent method matters just as much on the expense side as it does on revenue.

A business that ignores this and simply records the CAD amount its bank statement happens to show, without tracking the underlying USD transaction separately, loses the ability to see its actual USD revenue or USD costs, which matters the moment a client, a platform, or a supplier asks for a number in the currency they actually deal in.

Turning on multi-currency in QuickBooks or Xero

Both QuickBooks Online and Xero offer a multi-currency feature that, once enabled, allows USD bank accounts, USD invoices, and USD bills, while the software converts each one to CAD behind the scenes using an exchange rate that is confirmed or pulled in automatically. This is a one-time setup decision worth getting right early, since turning multi-currency on after months of USD transactions already recorded as a workaround is considerably more work than starting with it enabled.

Once enabled, most transactions do not need a manual currency decision at all. An invoice created in USD, a USD bank feed transaction, and a USD bill all default to the home currency conversion rules already set up, and the owner only has to intervene when a rate needs to be manually confirmed or corrected.

Reports can then be viewed in either currency: a USD sales report for comparing against a US competitor or a US-based platform's own dashboard, and a CAD report for everything that actually goes on the Canadian tax return. Keeping both views available, rather than converting everything to CAD immediately and losing the original USD figures, is one of the real advantages of turning the feature on properly instead of working around it.

Which exchange rate to use and where it comes from

The CRA generally expects the exchange rate in effect on the day of the transaction, and the Bank of Canada's published daily and annual average rates are the accepted source most businesses use. For a business with frequent, small USD transactions, such as daily Amazon or Stripe payouts, using the rate on each transaction's actual date, rather than picking one rate for the whole month, keeps the books defensible and matches how multi-currency software handles it by default.

Realized versus unrealized foreign exchange gains and losses

Holding USD in a bank account whose CAD value fluctuates with the exchange rate creates an unrealized gain or loss, one that exists on paper but has not yet been triggered by an actual transaction. Converting that USD to CAD, or using it to pay a USD expense, triggers a realized gain or loss instead, and that is the figure that actually affects taxable income. QuickBooks and Xero calculate both automatically once multi-currency is enabled and a currency revaluation is run, typically at month-end or year-end.

A business holding a large USD balance for months at a time, rather than converting it soon after it arrives, should expect the unrealized figure to move meaningfully with the exchange rate, and that is normal; it only becomes a realized figure, and something to plan for at tax time, once the funds actually get converted or spent.

This is one of the more common surprises for a business new to holding USD. Net income can move up or down from one year to the next purely because of a currency swing on cash sitting in an account, with no change at all in the underlying business, which is exactly why the revaluation needs to run consistently rather than only being calculated once, informally, at tax time.

Charging HST on a USD invoice

If a customer is invoiced in USD and GST/HST applies to that sale, the tax itself still needs to be reported in CAD on the GST/HST return, converted using the exchange rate on the date the tax became payable. Our answer on whether to charge GST/HST on sales to US customers covers when the tax applies in the first place, which for most sales to customers located in the US, it does not.

Where GST/HST does apply to a USD sale, showing both the USD invoice total and its CAD tax equivalent on the same document avoids confusion for the customer and gives the bookkeeping a clear paper trail back to the exact rate used, rather than requiring that rate to be reconstructed later from a separate record.

How we handle multi-currency books for clients

As part of our bookkeeping service, we enable multi-currency from the start for any client billing or getting paid in USD, run currency revaluation on a regular schedule rather than only at year-end, and reconcile USD accounts the same way we reconcile CAD ones. For e-commerce sellers, our answer on recording Amazon settlements shows how this plays out with a specific, high-volume USD payout, and the same multi-currency setup carries over to any other USD-denominated sales channel a client adds later.

Related questions.

Do I need a US-dollar bank account to deal with USD transactions?

Not necessarily, but a business that regularly receives USD payments benefits from a USD account, since it avoids converting every deposit to CAD immediately and allows USD expenses, like software subscriptions or US suppliers, to be paid without extra conversion costs each time.

What happens if I do not enable multi-currency and just record everything in CAD?

It can be done, but every USD transaction then has to be converted manually, and inconsistent exchange rates across the year distort both revenue and any foreign exchange gain or loss that should be tracked.

Does a stronger or weaker Canadian dollar change how much tax I owe?

It can. Since USD income and expenses are converted to CAD, a shift in the exchange rate between when USD revenue was earned and when related USD costs were incurred can create a real foreign exchange gain or loss that affects taxable income.

Related reading

Still have questions?

Not sure your USD income is recorded correctly.

A short discovery call gets you a specific answer and a fixed quote — no hourly meter.

Client Reviews

Get a free quote

Request a free quote.

Tell us a little about your business and our team will respond within one business day.

Contact details

How can we help?

Type of enquiry select all that apply

Project information