> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.chrt.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.chrt.com/_mcp/server.

# Billing

> How shippers see and act on billing in chrt — expenses, earnings, ledgers, line-item adjustments, and Stripe Connect.

The **Billing** area of chrt is where shippers see what they owe, what's been
billed, and how payments settle. For a shipper, billing mostly means
**expenses** — money flowing out to forwarders and couriers for completed
shipments — plus the **ledgers** that group those expenses into billable
periods.

## Before you start

* Line items on a shipment are generated from
  [rate sheets](/shippers/rate-sheets) attached at the order or task-group
  level. If a shipment ran without a matching rate sheet, no line items will
  appear; talk to the provider to confirm rate-sheet setup.
* To pay through chrt's payment processor (rather than off-platform), you
  need a Stripe Connect account.
  [Set one up](#5-set-up-stripe-connect) before the first invoice.

## 1. Open Billing

Open [chrt.com/billing](https://chrt.com/billing). The billing hub gives you
direct links to each sub-section.

| Section                                       | What's there                                          | Shipper-relevant?                             |
| --------------------------------------------- | ----------------------------------------------------- | --------------------------------------------- |
| [Expenses](https://chrt.com/billing/expenses) | Statements of money you owe to forwarders or couriers | Yes — this is your main view                  |
| [Earnings](https://chrt.com/billing/earnings) | Statements of money owed to your org                  | Only if you're billing customers through chrt |
| [Ledgers](https://chrt.com/billing/ledgers)   | Agreement-backed billing periods                      | Yes — for rolling invoices                    |
| [Rate sheets](https://chrt.com/rate-sheets)   | Pricing templates                                     | See [Rate sheets](/shippers/rate-sheets)      |

## 2. Review an expense statement

Expenses are statements grouping the costs for one or more shipments. Open
[chrt.com/billing/expenses](https://chrt.com/billing/expenses) and click any
row to see the statement detail.

The detail page shows:

* **Statement total** and current status (staged, open, paid, uncollectible).
* The **line item groups** — one per task group, each containing the base
  rate, mileage charges, surcharges, and any adjustments.
* **Messages and attachments** between you and the provider for this
  statement (receipts, dispute notes).
* The **Stripe invoice** when one has been issued.

## 3. Adjust a line item

If a charge looks wrong — wait time recorded that didn't happen, a surcharge
that shouldn't apply — you can adjust it before the statement is invoiced.

1. Open the statement detail page.
2. Find the line item to adjust and open its **Adjust** dialog.
3. Enter the **adjustment amount** (the delta, positive or negative) and a
   short **comment** explaining why.
4. Save. The adjustment appears as an annotation on the line item — the
   original quantity and rate stay intact, with the new total reflecting the
   adjustment.

> **Note**
>
> Adjustments leave an audit trail. Use the comment field to explain the
> change — providers and your finance team will both see it. Adjust before
> the statement is sent for payment; once paid, statements are immutable.

## 4. Manage ledgers

A **ledger** groups statements over a defined billing period for one
connection. Use ledgers when you and a provider have an ongoing relationship
and want to settle on a cadence (weekly, monthly) instead of one statement at
a time.

Open [chrt.com/billing/ledgers](https://chrt.com/billing/ledgers) to see all
active and open ledgers. From a ledger detail page you can:

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

## 5. Set up Stripe Connect

To pay or receive payments through chrt's payment processor (Stripe Connect),
each org needs a Stripe Connect account. As a shipper paying providers
through chrt, you typically don't need a Stripe Connect account to **pay** —
chrt handles the payment side via Stripe Checkout when a provider sends you
an invoice. You only need a Stripe Connect account if your shipper org is
**also** receiving payments (e.g., you're a 3PL passing costs through).

When you do need it:

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 the account's status (account
   ID, payouts enabled, etc.) once Stripe finishes onboarding.

## 6. Pay an outstanding statement

When a provider opens an expense statement against you, chrt creates a Stripe
invoice (if you've enabled Stripe settlement on the connection) or marks the
statement as **off-platform** (you pay directly and mark the statement paid
in chrt).

* **Stripe settlement** — click the **Pay invoice** link on the statement to
  open the Stripe-hosted payment page. The statement marks itself **paid**
  automatically after Stripe confirms.
* **Off-platform settlement** — pay the provider however you've agreed, then
  click **Mark paid** on the statement and add a note (check number, ACH
  reference, etc.).

## How to know it worked

* Expense statements move from **Staged** → **Open** → **Paid**.
* A paid statement shows the `paid_at` timestamp and who marked it paid.
* Stripe-settled statements link out to the Stripe invoice with the same
  status.

## If something looks different

* **A statement shows no line items.** The task group ran without a matching
  rate sheet. Ask your provider to attach the right rate sheet, or set one
  up yourself if you maintain shipper-side sheets.
* **You can't adjust a line item.** The statement is already paid or has
  moved past the adjustable state. Adjustments only apply pre-payment.
* **Stripe Connect setup doesn't complete.** Check that you completed every
  step of Stripe's onboarding (KYC, bank, tax). The settings page won't show
  payouts as enabled until Stripe confirms.
* **Pay invoice button missing.** The connection isn't configured for Stripe
  settlement — settle off-platform and mark the statement paid manually.
* Contact [hi@chrt.com](mailto:hi@chrt.com) if you have issues.

## Related guides

* [Rate sheets](/shippers/rate-sheets) — the pricing templates that drive
  line items.
* [Creating shipments](/shippers/creating-shipments) — where rate sheets get
  attached to task groups.
* [Cargo types](/docs/concepts/cargo-types) — cargo type affects which
  surcharges apply.