Billing for Couriers

Collect from shippers and forwarders, pay your drivers and partner couriers, and reconcile every job.

As a courier you sit on both sides of chrt’s billing model: you earn from shippers and forwarders for the jobs you run, and you pay drivers (and sometimes partner couriers) for the work they actually do. chrt models both sides on the same task group — rate sheets attach per task group, line items roll up into statements, and statements settle through Stripe Connect or off-platform.

Before you start

  • Billing primitives — Rate Sheet, Line Item Group, Statement — back every figure on the page. See Billing primitives for the model.
  • To collect from shippers and pay drivers through chrt’s payment processor, your org needs a Stripe Connect account. Set one up early — see step 5.
  • A typical courier job has two rate sheets attached: an SPP (shipper-pay-provider) sheet for what the shipper owes you, and a PPD (provider-pay-driver) sheet for what you owe the driver. See Rate sheets.

1. Open Billing

Open chrt.com/billing. The hub gives you direct links to each section.

SectionWhat’s thereCourier-relevant?
EarningsStatements of money owed to your orgYes — money in from shippers and forwarders
ExpensesStatements of money you oweYes — money out to drivers and partner couriers
LedgersAgreement-backed billing periodsYes — rolling shipper invoicing, bi-weekly driver pay
Rate sheetsPricing templatesYes — SPP, PPD, and PPP sheets

2. Review earnings (shipper-to-you)

Earnings are statements opened against your shippers and forwarders for the jobs you’ve run. Open chrt.com/billing/earnings and click any row for the detail.

The detail page shows:

  • Statement total and current status (staged, open, paid, uncollectible).
  • The line item groups — one per task group on the order — each with base rates, mileage, surcharges, and adjustments derived from your SPP rate sheet.
  • Messages and attachments — your shipper or forwarder uses this thread to ask questions or surface receipts. You see and reply to the same thread.
  • The Stripe invoice when one has been issued.

Open a statement, attach any backup receipts (fuel, tolls, accessorials), and send to the shipper. If you settle through chrt Stripe Connect, the shipper pays through a Stripe-hosted page and the statement marks itself paid on confirmation.

Most accessorial charges (extra stops, wait time, fuel surcharge) are generated automatically from your rate sheet. Only attach a manual line item or upload a receipt when something is outside the sheet — for example, a one-off customer-approved accessorial.

3. Adjust a line item before payment

If a shipper disputes a charge — or you spot an error before sending — adjust the specific line item rather than re-issuing the statement.

  1. Open the earnings statement.
  2. Find the line item that needs to change.
  3. Click Adjust, enter the delta (positive or negative), and add a comment explaining the change.
  4. Save.

The original quantity and rate stay on the record; the new total reflects the adjustment with a visible annotation showing what changed and why.

Statements become immutable once paid. Adjust before payment, not after.

4. Build driver pay statements

Drivers don’t get auto-statemented per job — that would be one statement per task group, which doesn’t match how courier orgs actually pay drivers. Instead, line items roll up over time and you group them into one statement per pay period (typically two weeks).

  1. Open chrt.com/billing/expenses and filter to a specific driver. You’ll see line item groups for every task group they ran in the period.
  2. Select the line item groups you want to include in the pay statement.
  3. Click Group into statement, set the statement’s pay-period dates, and review the total.
  4. Open the statement, attach any deductions or bonuses as additional line items, and finalize.
  5. Pay through Stripe Connect (if settlement is configured on the driver) or pay off-platform and click Mark paid with a reference.

Driver pay statements are the standard exception to chrt’s auto-statement rule. Shippers and forwarders get one statement per order; drivers get one statement per pay period covering many task groups. See Billing primitives for the model.

5. Set up Stripe Connect

Stripe Connect is chrt’s payment processor for settling statements through the platform. As a courier you typically want it on both sides — collecting from shippers and paying drivers via the same Stripe account.

  1. Open Stripe Connect settings.
  2. Click Set up Stripe Connect to open Stripe’s onboarding in a new window.
  3. Complete Stripe’s KYC, banking, and tax information.
  4. Return to chrt — the settings page reflects account status (account ID, payouts enabled) once Stripe finishes onboarding.

Off-platform settlement is fine too — pay each statement however you’ve agreed with the counterparty and mark it paid in chrt with a reference note.

6. Pay expenses to partner couriers

When you sub-dispatch a task group to a partner courier, they open an expense statement against your org for the leg they ran. Open chrt.com/billing/expenses to see incoming statements.

You can:

  • Pay the statement — through Stripe Connect or off-platform with a reference note.
  • Dispute or message — use the statement’s message thread to surface questions. The partner sees the same thread on their side.
  • Adjust a line item before payment — same flow as adjusting a shipper-side line item (see step 3).

Partner-courier expenses follow your PPP rate sheet — see Rate sheets for setting one up and attaching it as the default on a partner’s connection.

7. Use ledgers for rolling invoicing

A ledger groups statements over a defined billing period for one counterparty — useful when you and a shipper or forwarder settle weekly or monthly instead of one statement at a time. Driver pay periods are essentially a built-in ledger.

Open chrt.com/billing/ledgers and open any ledger:

  • See the statements in the current period.
  • Close the period to roll outstanding statements into a single consolidated invoice.
  • See historical periods and what was paid against each.

Set up one ledger per high-volume shipper for outbound billing — that way each customer has a single rolling tab and you settle on cadence.

How to know it worked

  • Earnings statements move from StagedOpenPaid as shippers and forwarders pay.
  • Expense statements you pay flip to Paid with a paid_at timestamp.
  • Driver pay statements show every task group they ran in the period and match the per-leg line items you’d see on the order’s Financials tab.
  • Adjusted line items show the original value and the adjustment as an annotation; the statement total reflects the adjustment.
  • Stripe-settled statements link out to the Stripe invoice with matching status.

If something looks different

  • A job has no line items on the earnings side. The task group ran without an SPP rate sheet. Check the shipper or forwarder’s connection for a default sheet, or attach a sheet directly to the task group from the order’s Financials tab.
  • Driver pay total doesn’t match what you expected. Pull up the driver’s profile and confirm the default PPD rate sheet is the one that ran. PPD line items derive from whichever sheet was attached at dispatch time, not what’s on the profile now.
  • Can’t adjust a line item. The statement is paid or moved past the adjustable state. Adjustments are pre-payment only.
  • Stripe payouts not arriving. Check Stripe Connect settings — payouts enable only after Stripe finishes KYC.
  • A shipper says they were billed twice. Check the order’s Financials tab — if two statements have the same task group on them, one needs to be marked uncollectible. Contact us if you need help unwinding.
  • Contact hi@chrt.com for settlement issues or if a statement looks wrong on both sides.
  • Rate sheets — SPP, PPD, and PPP creation; the templates every line item comes from.
  • Drivers — set default PPD rate sheets per driver.
  • Connections — set default SPP sheets per shipper/forwarder and default PPP sheets per partner.
  • Dispatching — where SPP and PPD rate sheets get attached to a task group.
  • Billing primitives — the Rate Sheet / LIG / Statement model in detail.