Logistics·July 2026·7 min read

How to Calculate Detention Charges in Canada

A driver waits four hours at a receiver. The broker's rate confirmation says detention is billable after two hours. So what's the number that goes on the invoice — and how do you make sure it survives a dispute?

The math itself is simple. The parts that actually decide whether you get paid are the details around the math: where the clock starts, what the free time really is, how you round, and what currency you invoice in. Here is the whole calculation, worked end to end, the way a Canadian LTL carrier should run it.


The Basic Formula

Detention is billable waiting time beyond the free window, multiplied by an hourly rate:

Detention charge = (time on site − free time) × hourly rate

Everything hard about detention is hidden inside those three inputs. Get each one right and documented, and the charge is defensible. Get any one of them fuzzy, and the broker has an opening to dispute the whole thing.


Input 1 — Time on Site (Where the Clock Starts and Stops)

The clock starts when the driver arrives, not when the appointment was. Time on site runs from the moment the driver checks in at the facility to the moment they are released — arrival to departure. It is not measured from the scheduled appointment time, and not from when loading finally began. If a driver arrives at 08:00 for a 09:00 appointment and leaves at 12:30, the time on site is four and a half hours, measured from 08:00.

This is the single most disputed number, which is why it has to be a recorded timestamp, not a memory. Arrival time and departure time both need to be captured at the dock, the day it happens. A time reconstructed a week later when the broker questions the invoice is worth very little in an argument.


Input 2 — Free Time (Read the Rate Confirmation, Every Time)

Free time is whatever that specific rate confirmation says it is. Two hours is the common default, but it is only a default. Some brokers allow one hour, some allow three, and the number can differ between the pickup and the delivery on the same load. The free time that governs your claim is the one printed on that load's rate confirmation — not the one you remember from the last broker.

Some carriers also scale free time by the size of the shipment: a two-pallet LTL pickup and a full-trailer load do not reasonably take the same time to work, so a larger shipment may warrant a longer free window. If you set your own free-time policy this way, apply it consistently and be ready to point to it, because a broker will only ever argue for the shorter number.


Input 3 — The Hourly Rate

Detention rates for small to mid-size Canadian carriers typically land between $50 and $100 per hour, set in the rate confirmation. Most brokers bill detention in per-hour increments, though some prorate to the quarter-hour. Unless the confirmation says otherwise, assume whole hours and bill accordingly — and know that a broker who prorates in their favour will expect you to prorate the same way.


Putting It Together — A Worked Example

A driver arrives at a receiver in Mississauga at 08:00 and is released at 12:30. The rate confirmation allows two hours of free time and sets detention at $85 per hour.

Time on site:   08:00 → 12:30  =  4.5 hours

Free time:                − 2.0 hours

Detention time:                = 2.5 hours

Billable (whole hours):  3 hours × $85

Detention charge  =  $255.00

If the confirmation had prorated to the quarter-hour instead, the 2.5 detained hours would bill at 2.5 × $85 = $212.50. Which one is correct is not a judgment call — it is whatever that rate confirmation specified. The point of writing it out is that the invoice line should show the arithmetic, not just the total, so the broker can check it and has nothing to push back on.


Cross-Border Loads — State the Currency

On Canada–US loads, name the currency on the detention line. If the rate confirmation is in USD and you invoice detention in CAD without saying so, you will spend more time arguing about the exchange rate than about the wait. Match whatever currency the rate confirmation used, and state it explicitly on the line — "3 hrs detention @ $85/hr USD = $255.00 USD." It removes an entire category of dispute before it starts.


Why the Calculation Is the Easy Part

None of this is complicated arithmetic. The reason detention goes uncollected is not that carriers can't do the multiplication — it's that the inputs aren't captured cleanly at the moment they happen. Arrival and departure times get remembered instead of recorded. The free time gets assumed instead of read. The claim gets raised in a phone call instead of written on the invoice with the math shown.

A defensible detention charge is really just four things done consistently: a timestamped arrival and departure, the free time taken from that load's rate confirmation, the rate applied in whole or prorated hours as specified, and the currency named on cross-border loads. Do those every time, show the arithmetic on the invoice, and most of the disputes never happen.

FleetOS is a dispatch platform built for Canadian LTL carriers that captures stop timestamps and runs this detention calculation automatically on every load.