Skip to content
roadmark

Billed in USD, paid in CAD: FX on cross-border loads

By Roadmark Team8 min read

  • canada
  • cross-border
  • billing
  • accounting

A Canadian carrier that bills a U.S. customer in U.S. dollars still keeps its books and files its taxes in Canadian dollars. Convert each USD amount at the Bank of Canada rate for the day it arises, or another rate CRA accepts, and use the same method every time. When the customer pays later at a different rate, the gap in Canadian dollars is a realized foreign exchange gain or loss, and the driver paid per mile in CAD doesn't need a rate at all.

This guide uses load 48213 from our cross-border page: Ashgrove Freight, a carrier in Mississauga ON, hauls for Prairie Foods from Mississauga to Joliet IL over the Blue Water Bridge. The exchange rates in it are example figures, not published rates. Nothing here is tax or accounting advice: how you book FX is your accountant's call.

What is the Bank of Canada's daily exchange rate?

Since March 1, 2017, the Bank of Canada has published a single indicative rate per currency pair, a daily average, in place of the old noon and closing rates. The daily exchange rates page says the rates are published once each business day by 16:30 ET, and can be late in extraordinary market conditions or during technical problems.

Three details matter for a carrier:

  • It's indicative. The Bank's terms say the rates are averages of prices and quotes from financial institutions, and are "not intended to be used as the benchmark rate for executing foreign exchange trades." Your bank will convert at its own rate, with a spread.
  • It arrives late in the day. A rate published by 16:30 ET isn't there when a dispatcher books a load at 08:00. Pick a rule (the day's rate once it's out, or the previous business day's rate on the rate confirmation) and write it down.
  • It's easy to look up. The Bank has a lookup tool for past dates, and its Valet API serves the same data to software. The U.S. dollar series is FXUSDCAD, described as the "daily average exchange rate of the US dollar in Canadian dollars."

Which rate does CRA expect for income tax?

Income Tax Folio S5-F4-C1, Income Tax Reporting Currency sets the rule. For a day after February 28, 2017, the relevant spot rate between Canadian and another currency is the rate quoted by the Bank of Canada that day (¶1.4). Amounts are converted at the spot rate for the day they arise (¶1.8).

QuestionWhat the folio says
Default rateThe Bank of Canada rate on that day (¶1.4)
Which dayThe day the amount arises (¶1.8)
Another provider's rateAccepted if widely available, verifiable, published by an independent provider, recognized by the market and used consistently (¶1.6)
An average rate over a periodMay be accepted for some items, but not if rates fluctuate significantly (¶1.6.1)

Payroll follows the same line. CRA's T4 slip instructions ask for all amounts in Canadian dollars, converted at the Bank of Canada rate on the day the amount arises, and name Bloomberg, Thomson Reuters and OANDA as other sources CRA generally accepts.

Consistency is the part carriers break. Converting one invoice at the bank's rate, the next at the Bank of Canada rate and a third at whatever the customer used makes every load's revenue a small argument.

How is GST/HST worked out on a USD invoice?

First check whether tax applies. CRA's GST/HST information for freight carriers lists freight from a place in Canada to a place outside Canada (with a freight charge of $5 or more) and from outside Canada into Canada as zero-rated when certain conditions are met, while purely domestic freight is generally taxable. Our GST/HST and QST guide covers which is which.

When tax does apply to an amount in U.S. dollars, section 159 of the Excise Tax Act values it in Canadian currency "on the day the tax is payable," or another day acceptable to the Minister. CRA repeats this in GST/HST Memorandum 300-7 (¶31). Tax is payable on the earlier of the day the consideration is paid and the day it becomes due (s. 168(1)), and it becomes due no later than the day the invoice is issued or dated (s. 152(1)). In practice, that's usually the invoice date.

An example: a $1,000.00 USD taxable charge invoiced on September 29, 2026 at 1.3720 is $1,372.00 CAD. At Ontario's 13% HST (CRA rates), the tax is $1,372.00 × 13% = $178.36 CAD. A later payment at a different rate doesn't change that figure.

Québec's QST is administered by Revenu Québec under its own Act. We didn't verify its foreign-currency wording for this guide, so check with Revenu Québec or your accountant.

Worked example: load 48213 in both currencies

Prairie Foods' contract sets U.S. dollars, so invoice INV-10442 is $4,315.00 USD. Ashgrove Freight books it on Tuesday, September 29, 2026 at the example rate of 1.00 USD = 1.3720 CAD.

LineUSD× 1.3720 (example)CAD
Linehaul$3,655.00 USDUS$3,655.00 × 1.3720$5,014.66 CAD
Fuel$560.00 USDUS$560.00 × 1.3720$768.32 CAD
Detention$100.00 USDUS$100.00 × 1.3720$137.20 CAD
Total$4,315.00 USDUS$4,315.00 × 1.3720$5,920.18 CAD

Prairie Foods pays in full 30 days later, on Thursday, October 29, 2026. Say that day's rate is 1.3650 (another example figure). The same $4,315.00 USD is now worth less in Canadian dollars:

StepCalculationCAD
Booked on September 29US$4,315.00 × 1.3720$5,920.18 CAD
Received on October 29US$4,315.00 × 1.3650$5,889.98 CAD
Realized foreign exchange loss$5,889.98 − $5,920.18−$30.20 CAD

Had the rate risen instead, the difference would be a gain. The invoice in U.S. dollars never changed; only its Canadian-dollar value did.

R. Diaz's pay for the same load is set in Canadian dollars: $0.88 per mile and $20.00 an hour of detention.

Pay lineCalculationCAD
Miles488 mi × $0.88$429.44 CAD
Detention1 h 20 min × $20.00/h$26.67 CAD
Total$456.11 CAD
USD view (1.3720)$456.11 ÷ 1.3720$332.44 USD

What's left of the invoice after the driver's pay, in each currency on September 29, is $5,920.18 − $456.11 = $5,464.07 CAD, or US$4,315.00 − US$332.44 = $3,982.56 USD. Those are the same number at 1.3720. This isn't the load's margin: fuel, the truck, insurance and overhead still come out of it. After the October 29 payment, the Canadian figure is $5,889.98 − $456.11 = $5,433.87 CAD, lower by exactly the $30.20 CAD loss.

Which rate goes on a driver's settlement?

For a company driver paid in Canadian dollars, none. R. Diaz earns $0.88 CAD a mile whether the miles are in Ontario or Illinois, so his settlement shows $456.11 CAD and nothing else. Putting a USD figure on it only invites the question of why his pay "changed" when the rate moved.

Two cases do need a rate:

  • U.S. expenses a driver pays and is reimbursed for. Show the USD amount, the rate and the Canadian amount on the line, converted on the day the expense was paid, so the driver can check it.
  • Owner-operators or U.S. carriers settled in U.S. dollars. Pay them in the currency their agreement sets. For your books, the cost is converted on the day it arises, and if you pay weeks later at a different rate, the difference is a gain or loss on the payable, the mirror of the Prairie Foods receivable.

Anything reported on a T4 is in Canadian dollars, per CRA's T4 slip instructions.

What changes for a broker that bills in CAD and pays in USD?

The risk flips. Say Ashgrove Logistics, the group's brokerage, bills Dunbarton Hardware $3,900.00 CAD for a load (example) and tenders it to Northline Freight, whose carrier agreement sets U.S. dollars, at $2,450.00 USD (example). Everything below uses example rates.

StepCalculationCAD
Shipper invoiceset in CAD$3,900.00 CAD
Carrier cost booked September 29US$2,450.00 × 1.3720$3,361.40 CAD
Margin as booked$3,900.00 − $3,361.40$538.60 CAD (13.81%)
Carrier paid later at 1.3790US$2,450.00 × 1.3790$3,378.55 CAD
Realized foreign exchange loss$3,361.40 − $3,378.55−$17.15 CAD
Margin after payment$3,900.00 − $3,378.55$521.45 CAD (13.37%)

A carrier with USD revenue loses when the Canadian dollar strengthens. A broker with CAD revenue and USD carrier costs loses when it weakens. A group with both, like Ashgrove Freight and Ashgrove Logistics, has the two partly offsetting each other, but only if someone can see both sides.

What practical choices reduce the noise?

ChoiceWhat to decide
Invoice currencyThe customer contract or rate confirmation sets it. Put the currency on every rate, not just the total.
Rate sourceBank of Canada by default, or another source CRA accepts. Use one, consistently.
Rate dayThe day the amount arises. Decide how you handle loads booked before the 16:30 ET publication.
A USD bank accountLets you collect USD and pay USD carriers or U.S. expenses without converting twice. It doesn't stop the rate moving.
When to convertA treasury decision. Your bank's rate, not the Bank of Canada's, sets what you actually get.
Payment termsLonger terms on a USD invoice mean more days of rate exposure.

Ask your accountant how realized and unrealized gains and losses should appear in your statements, and whether any election or average-rate method suits you.

How should a TMS hold this?

One load, two currency views, and a rate you can point to:

  • The contract's currency on the rate confirmation, so the invoice is drafted in the right currency without anyone choosing.
  • The pay agreement's currency on the driver or carrier, so a CAD driver never sees a USD settlement and a USD carrier is paid in USD.
  • The rate and its date stored on the load, not recalculated later, so revenue, pay and margin tie back to one number.
  • Both sides in one place, so a group can see carrier USD revenue against brokerage USD costs.

Roadmark's part is what the cross-border page states. It keeps both currency views of one load: the customer is invoiced in the currency their contract sets, the driver is paid in the currency they run under, converted at the rate used that day. Ashgrove Logistics can invoice a customer in either currency and settle the carrier the same way. As the billing page describes, Roadmark drafts the invoice from the POD, the driver's pay line and the carrier bill, a person approves it, and it posts to QuickBooks, NetSuite, Xero, Sage or Dynamics 365 once approved. Recording the gain or loss when the payment lands stays in your accounting system. And for the software itself, Canadian companies are priced in Canadian dollars; the Canadian TMS page has the details.

Questions and answers

Which exchange rate does CRA expect a carrier to use?

Income Tax Folio S5-F4-C1 says the relevant spot rate for a day is the rate quoted by the Bank of Canada on that day, applied on the day the amount arises. CRA also accepts rates from other independent providers that are widely available, verifiable and recognized by the market, as long as they're used consistently from year to year.

When does the Bank of Canada publish its daily exchange rate?

Once each business day, by 16:30 ET. It's a single indicative rate per currency pair, a daily average built from financial institutions' quotes. The Bank says it isn't meant as a benchmark for executing foreign exchange trades, so your bank's conversion rate will differ.

How is GST/HST calculated on an invoice in U.S. dollars?

Section 159 of the Excise Tax Act values foreign-currency consideration in Canadian dollars on the day the tax is payable, or another day acceptable to the Minister. Tax is payable on the earlier of the day the consideration is paid and the day it becomes due, which is usually the invoice date. Many cross-border freight services are zero-rated, so check whether tax applies first.

What is a realized foreign exchange gain or loss on a freight invoice?

It's the difference in Canadian dollars between what the invoice was booked at and what the payment was worth when it arrived. A $4,315.00 USD invoice booked at 1.3720 and paid at 1.3650 (both example rates) is booked at $5,920.18 CAD and collected at $5,889.98 CAD: a $30.20 CAD loss. How it's recorded is your accountant's call.

Should a Canadian driver's settlement show a USD amount?

Not if the driver is paid in Canadian dollars. R. Diaz's $456.11 CAD for load 48213 is per-mile and hourly pay set in CAD, so no rate applies to it. The USD equivalent belongs on the load's own numbers. For T4 slips, CRA wants all amounts in Canadian dollars, even amounts paid in another currency.