Charges, margins & profitability

Sell / buy / planned / booked / realized — the five margin views and why they differ.

4 min readLast updated 13 Apr 2026

Margin on a booking shifts as the shipment progresses. CargoSurge tracks three margin snapshots — Planned, Booked, Realized — so you can spot cost leaks and carrier over-billing before they compound.

The three snapshots

  • Planned margin — at quote time. Based on the sell and buy rates you entered when pricing the deal.
  • Booked margin — at booking confirmation. Updated when the carrier shares their booking confirmation with updated rates (sometimes the carrier's rate shifts between quote and booking; e.g. GRI mid-month).
  • Realized margin — after invoicing and vendor bill reconciliation. Sell = the customer invoice total; Buy = the sum of AP bills against the booking.

All three are visible on the Booking detail page's Financial Lifecycle strip.

Charge model — the structure

Every booking's Charges tab has rows with:

  • Code — from your master-data charge codes (OF, AF, TR, THC-O, etc.).
  • Description — free text. Can override the code's default description.
  • Basis — per container / per kg / per W/M / per shipment / per day.
  • Quantity — integer or decimal.
  • Sell (per unit) — what you charge the customer.
  • Buy (per unit) — what the carrier charges you.
  • Currency — defaults to the booking's currency.
  • Tax rate — per-charge override; defaults to the booking-level tax code.
  • Vendor — the AP vendor who'll bill you for the buy side (optional; helps AP matching).
  • Remarks — internal notes.

Computed columns:

  • Sell total = Qty × Sell.
  • Buy total = Qty × Buy.
  • GP (Gross Profit) = Sell total − Buy total.
  • Margin % = GP / Sell total × 100.

The Charges tab footer shows live totals:

  • Total Sell (excl. tax)
  • Total Buy (excl. tax)
  • Gross Profit
  • Margin %
  • Below-threshold warning if Margin % drops under the tenant's minimum (Settings → Tenant → Minimum Margin Threshold).

Vendor bills (AP)

For each charge, you can record the actual vendor invoice once received:

  • Finance → AP Bills → + New Bill → pick Vendor and link to the Booking.
  • Allocate each line of the bill against the corresponding charge row on the booking.
  • The allocation updates the booking's "Actual Buy" for that charge.
  • Realized margin = Total Sell (from customer invoice) − Total Actual Buy (from allocated AP bills).

Planned vs Realized — reading the delta

Common drift patterns and what they mean:

  • Realized buy > Booked buy — carrier invoiced more than the booking confirmation promised. Possible causes: demurrage, detention, GRI mid-cycle, cargo reweighed at origin. Action: dispute with carrier if not agreed, or update the next quote.
  • Realized sell < Booked sell — you invoiced the customer less than the booking. Possible causes: customer dispute, negotiated discount, missed line item. Action: if legitimate, accept; if missed, raise a Debit Note.
  • Realized sell > Booked sell — extra billable line added post-booking (e.g. customer added a stop mid-trip). Ensure it's invoiced, not forgotten.
  • Realized buy < Booked buy — you got a better rate than quoted. Rare; if consistent, renegotiate your rate card.

Currency handling

If the booking is multi-currency (sell in USD, buy in EUR, tenant base in AED):

  • Each charge's Sell and Buy can be in different currencies.
  • The footer totals convert to the booking's currency for display.
  • Reports roll up to the tenant's base currency using the booking's locked FX rate.
  • Realized FX gain/loss is booked separately if the actual payment date's rate differs from the booking's locked rate.

Margin reports

  • Booking P&L — per-booking table with all three snapshots side-by-side.
  • Customer Profitability — margin roll-up by customer over a date range.
  • Lane Profitability — by origin-destination pair.
  • Carrier Profitability — by carrier (useful for negotiating rate cards).
  • Low-Margin Bookings — bookings where Margin % is under threshold or trending down.

All under Forwarding → Reports.

Common pitfalls

Was this article helpful?