User Manual
Help Center/User Manual/Drayage Rate Tables: Standard Drayage Pricing

Drayage Rate Tables: Standard Drayage Pricing

Last updated 2026-10-22

Set your standard prices once — a customer rate per shipper, move type, box size and lane, plus what a driver earns per trip — and quotes and settlements stop being typed from memory.

The Rate Tables page in Drayage holds two price lists that the rest of the app leans on. Customer rates say what a shipper pays for a move — by move type, container size and lane, with a fuel surcharge percentage and default extra charges — and they auto-fill drayage quotes so a quote starts from your agreed price instead of a blank box. Driver pay rates say what a driver earns per trip for each move type and box size, and they drive per-trip settlements. Set both lists up once, and pricing stays the same no matter who is on shift.

Customer rates here are your quoting reference: they prefill quotes so a quote starts from the agreed price. The amount a client is finally billed each month follows the signed contract rate sheet in Billing — if the two ever differ, the contract rate sheet wins. Keep this table updated for quoting, and keep the contract rate sheet updated for billing.

Step 1: Add a customer rate#

  1. Open Drayage → Rate Tables (/drayage/rate-tables), stay on the Customer rates tab, and click + Add rate.
  2. Choose the Shipper this rate belongs to — or leave it empty to make a generic rate that applies to any shipper without their own row.
  3. Set the Move type (required): Import, Export, Empty return or Chassis repo. Then the Box size — 20GP, 40GP, 40HQ or 45HQ — or leave it empty so the rate covers any box size for that move.
  4. Type the lane as an Origin zone and a Destination zone in plain words (for example Long Beach TTI → Ontario). The list shows the lane as Origin → Destination.
  5. Enter the Base rate (required) and the FSC % — the fuel surcharge as a percentage. Then set any default accessorials below (next section) and, if this price is only for a season, set the Effective period. Click Save: the rate is created active.

The generic rows matter: leave the shipper empty and that rate becomes the fallback for every shipper without a specific row; leave the box size empty and it covers every size. Docklify’s Rate Tables (Drayage → Rate Tables, /drayage/rate-tables) keep specific and generic rates in the same list, so one screen shows your whole standard pricing — who pays what, for which move, on which lane.

The four default accessorials#

Below the base rate, the Add rate form has four preset extra-charge fields. Fill in only the ones this lane usually carries — amounts above zero are saved with the rate and shown together on the list row; leave the rest empty.

FieldWhat it covers, in plain words
chassis_feeUsing a chassis from the pool for this move.
congestion_feeExtra time lost in terminal or port congestion.
prepull_feePulling the container out the day before and staging it for an early delivery.
detention_feeThe driver and truck wait too long at pickup or delivery.

Step 2: Read the customer rates list#

  • Shipper — the customer name, or Generic when the row is the fallback for everyone.
  • Move, Box and Lane — the move type, the container size (a dash means any size), and Origin → Destination.
  • Base and FSC % — the base price and the fuel percentage that rides on it.
  • Accessorials — the saved defaults for that row, shown as name: amount pairs; a dash means none were set.
  • Active — a green check means the rate is live and can be picked up by quotes.

How quotes pick up these rates#

When you build a drayage quote (Drayage → Quotes), the customer rates are the starting point: the matching rate for that shipper, move type, box size and lane brings its base rate, fuel percentage and default accessorials with it, so the person quoting only adjusts what is special about this one job. That is why keeping the table current matters — an out-of-date row quietly becomes an out-of-date quote. Docklify’s quote flow (Drayage → Quotes, /drayage/quotes) and this rate table are two ends of the same price: set it once here, reuse it on every quote.

One price set in the rate tables feeds both quotes and settlements.

Step 3: Add a driver pay rate#

  1. On the Rate Tables page, switch to the Driver pay rates tab and click + Add pay rate.
  2. Choose the Move type (required) and the Box size — or leave the size empty so the pay covers any box for that move.
  3. Enter Pay / trip (required): what the driver earns for one trip of this kind.
  4. Check the Dual-transaction multiplier. It starts at 1.5: on a dual transaction — one trip that does two jobs, such as dropping an import box and picking up an export box — the driver pay is the single-trip amount times this multiplier, not double. Change it if your house rule is different, then click Save; the pay rate is created active.

The pay list reads the same way as the customer list: Move, Box (Generic when the row covers every size), Pay / trip, Dual × and Active. Docklify’s settlements (Drayage → Settlements) pay drivers per trip from these rows, so what a driver earns for a run is never a number someone invents at the end of the week — it is the row you set here.

This page is for adding and reviewing rates: rows are created active, and there is no edit or delete button on a row. To change a price, add the corrected row for the same shipper, move, size and lane (using the Effective period to say when it applies) and keep the list tidy by reviewing it regularly.

Docklify features used in this article#

  • Customer rate table (shipper / move type / box size / lane, base rate, FSC %, default accessorials, effective period) — Drayage → Rate Tables → Customer rates tab (/drayage/rate-tables)
  • Driver pay rate table (pay per trip, dual-transaction multiplier) — Drayage → Rate Tables → Driver pay rates tab (/drayage/rate-tables)
  • Quotes that auto-fill from customer rates — Drayage → Quotes (/drayage/quotes)
  • Per-trip driver settlements driven by pay rates — Drayage → Settlements (/drayage/settlements)