> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.chrt.com/prod/forwarders/billing/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.chrt.com/_mcp/server. # Billing for Forwarders > How forwarders use chrt billing — earnings from shippers, expenses to couriers, rate sheets per leg, line item groups per task group, and Stripe Connect. A forwarder sits in the middle of every shipment financially: you earn from the shipper and pay out to the couriers running each leg. chrt's billing model handles both sides on the same order. Rate sheets attach per task group (per leg), 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](/docs/concepts/billing-primitives) for the model. * To collect from shippers or pay couriers through chrt's payment processor, your org needs a Stripe Connect account. Set one up early — see [step 5](#5-set-up-stripe-connect). ## 1. Open Billing Open [chrt.com/billing](https://chrt.com/billing). The hub gives you direct links to each section. | Section | What's there | Forwarder-relevant? | | --------------------------------------------- | ------------------------------------ | ------------------------------------------ | | [Earnings](https://chrt.com/billing/earnings) | Statements of money owed to your org | Yes — money in from shippers | | [Expenses](https://chrt.com/billing/expenses) | Statements of money you owe | Yes — money out to couriers | | [Ledgers](https://chrt.com/billing/ledgers) | Agreement-backed billing periods | Yes — for rolling invoices and pay periods | | [Rate sheets](https://chrt.com/rate-sheets) | Pricing templates | Yes — one per shipper, one per courier | ## 2. Attach rate sheets per leg Every leg of a multi-leg order is its own **task group**, and each task group gets its own rate sheet. That's how you can charge a shipper one rate for the full shipment and pay each courier a different rate for their leg. Two layers of rate sheets: * **Forwarder ↔ Shipper sheet.** What you charge the shipper. Set this as the default on your connection with the shipper so it auto-applies to every order from them. * **Forwarder ↔ Courier sheet.** What each courier charges you. Set this as the default on your connection with the courier so it auto-applies to ground segments assigned to them. Open [chrt.com/rate-sheets](https://chrt.com/rate-sheets) to see and edit all rate sheets, or open a connection's partner detail page and set the default sheet inline. > **Note** > > Rate sheets apply to task groups, not orders. On a ground + flight + > ground shipment, you'd typically have two rate sheets — one each for > the origin and destination couriers — plus your forwarder-to-shipper > sheet on the order. See [Set up a rate sheet](/help/getting-started/set-up-rate-sheet) for the full create-a-sheet flow. ## 3. Review earnings (shipper-to-you) Earnings are statements that group what you've billed shippers for. Open [chrt.com/billing/earnings](https://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. * **Messages and attachments** between you and the shipper. * The **Stripe invoice** when one has been issued. Open a statement, attach an invoice PDF or backup detail, 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. ## 4. Review expenses (you-to-courier) Expenses are statements couriers open against your forwarder org for the legs they ran. Open [chrt.com/billing/expenses](https://chrt.com/billing/expenses) to see them. You can: * **Pay the statement.** If Stripe settlement is configured on the connection, click **Pay invoice** to settle through Stripe; otherwise pay off-platform and click **Mark paid** with a reference note. * **Dispute or message.** Use the statement's message thread to ask questions or surface mistakes. Couriers see the same thread on their side. * **Adjust a line item** before the statement is paid. Open the line item's **Adjust** dialog, enter the delta and a comment. Adjustments leave an audit trail; the original quantity and rate stay intact, with the new total reflecting the adjustment. > **Warning** > > Statements become immutable once paid. Adjust before payment, not > after. ## 5. Set up Stripe Connect Stripe Connect is chrt's payment processor for settling statements through the platform. As a forwarder you typically want it on both sides — collecting from shippers and paying out to couriers via the same Stripe account. 1. Open [Stripe Connect settings](https://chrt.com/settings/stripe-connect). 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. Use ledgers for rolling invoicing A **ledger** groups statements over a defined billing period for one connection — useful when you and a counterparty settle weekly or monthly instead of one statement at a time. Open [chrt.com/billing/ledgers](https://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 shipper for outbound billing and one per courier for inbound — that way each counterparty has a single rolling tab and you settle on cadence. ## 7. Driver pay (if you also dispatch drivers) If your forwarder org also has direct-employed drivers (an OBC team, in-house couriers), each driver's pay accumulates as line item groups against their task groups. **Driver pay isn't auto-statemented** — open the driver's line items, group them into a statement on your cadence (typically two weeks), and pay through Stripe Connect or off-platform. ## How to know it worked * Earnings statements move from **Staged** → **Open** → **Paid** as shippers pay. * Expense statements you pay flip to **Paid** with a `paid_at` timestamp. * 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 leg has no line items.** The task group ran without a rate sheet. Check the connection's default sheet, or attach a sheet directly to the task group. * **Statement totals don't match what the shipper expected.** Pull up the per-task-group line item groups — multi-leg pricing depends on each leg's individual rate sheet. The detail breakdown shows where every charge came from. * **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. * Contact [hi@chrt.com](mailto:hi@chrt.com) for settlement issues or if a statement looks wrong on both sides. ## Related guides * [Multi-leg orders](/forwarders/multi-leg-orders) — where rate sheets get attached to each leg. * [Managing your courier network](/forwarders/network) — set per-courier default rate sheets here. * [Billing primitives](/docs/concepts/billing-primitives) — the Rate Sheet / LIG / Statement model in detail. * [Cargo types](/docs/concepts/cargo-types) — cargo type drives which surcharges apply. * [Billing for shippers](/shippers/billing) — the inverse view from your shipper customers. > Earn from shippers, pay couriers, and reconcile every leg of a multi-leg shipment.