LogiCRM
Finance

How to calculate freight margin

Freight margin is the difference between what you charge the client and what you pay the carrier — adjusted for exchange rates, surcharges and operational costs. Getting this number right, per shipment, in real time, is the difference between a profitable forwarder and one that discovers losses at month-end.

VD

Victor Diaconu

Co-founder & CTO

Published 5 April 2026 · Updated 14 April 2026
LogiCRM financial reports showing revenue, margin and profit analytics per partner and period

The basic freight margin formula

At its simplest:

Gross margin = Sell rate (to client) – Buy rate (from carrier)

Gross margin % = (Gross margin / Sell rate) x 100

Example: You sell a road freight shipment to a client for EUR 2,400. Your carrier charges EUR 1,900. Your gross margin is EUR 500, or 20.8%.

This looks simple. In practice, freight margin calculation gets complicated by three factors: (1) multi-currency pricing, (2) multi-leg shipments with different carriers per leg, and (3) hidden costs that erode the margin between quoting and invoicing.

Many forwarders stop at gross margin and assume their business is profitable. That is a mistake. A deal with a 20% gross margin can easily become a 5% net margin — or even a loss — once FX movement, surcharges, detention fees and credit terms are factored in. The forwarders who grow consistently are the ones who calculate margin at every stage: at quoting, at contract signing, at invoicing and at payment collection.

Let us break each of these down.

Multi-currency margin: the exchange rate trap

Most European forwarders quote in EUR but some carriers invoice in USD, GBP or local currencies. The margin you calculated at the time of quoting may not be the margin you realise at the time of payment.

Example: You quote a client EUR 5,200 for an air freight shipment. Your carrier quotes USD 4,800 at the time of booking, when EUR/USD is 1.08. Your expected buy rate in EUR is 4,444, giving you a margin of EUR 756 (14.5%).

Two weeks later, when the carrier invoices, EUR/USD has moved to 1.05. Your actual buy rate is now EUR 4,571 — and your margin has shrunk to EUR 629 (12.1%). You lost EUR 127 to currency movement alone — and on a busy month with 40 air freight shipments, that kind of slippage adds up to over EUR 5,000 in margin erosion from FX alone.

The fix: snapshot the exchange rate at the time of quoting and at the time of invoicing. Calculate margin using both rates so you know the FX impact. A freight platform does this automatically — it captures the exchange rate when the offer is created and again when the contract is finalised, showing you the FX-adjusted margin in real time.

For Moldovan forwarders, there is an additional complexity: the Moldovan leu (MDL) exchange rate must be snapshotted at the customs clearance date for fiscal compliance. A good freight platform handles this automatically by linking the FX snapshot to the customs date field on the contract.

Multi-leg margin: road + sea + rail combinations

A multimodal shipment might have three legs: truck from factory to port, sea from port to port, truck from port to warehouse. Each leg has its own carrier, its own currency and its own cost.

To calculate total margin:

  1. Sum all buy rates (converted to your base currency at the relevant exchange rate) across all legs.
  2. Your total cost = sum of buy rates + any surcharges (port fees, customs duties, handling).
  3. Margin = Sell rate to client – Total cost.

Example: - Leg 1 (road, pre-carriage): EUR 380 from a local carrier - Leg 2 (sea, FCL): USD 3,200 from a shipping line (= EUR 2,963 at 1.08) - Leg 3 (road, on-carriage): EUR 450 from a destination carrier - Port handling: EUR 120 - Total cost: EUR 3,913 - Client rate: EUR 4,800 - Margin: EUR 887 (18.5%)

The complexity here is that each leg may be quoted at different times with different FX rates. A spreadsheet requires manual currency conversion for each leg. A multimodal freight platform converts automatically and recalculates the total margin whenever any leg changes.

Another common scenario: the client requests a change after the offer is sent — a different destination warehouse, an additional stop, or a switch from FCL to LCL. Each change affects one or more legs, which cascades into the total margin. Without a system that recalculates in real time, the sales rep either re-does the entire calculation manually (slow and error-prone) or estimates the impact (risky). A platform that recalculates instantly lets the rep respond to the client within minutes with an accurate revised quote. For a deeper look at leg-based pricing, see our multimodal freight quoting guide.

Hidden costs that erode freight margin

The margin you quote is not the margin you earn. Watch for these common margin killers:

Detention and demurrage — container delays at port that the carrier charges back to you. If the client's terms exclude D&D, you absorb it.

Weight discrepancies — the cargo is heavier than declared. The carrier bills for actual weight. Your quote was based on declared weight.

Surcharges added after quoting — fuel surcharges, peak season surcharges, dangerous goods handling fees. If these were not in your original carrier quote, they come off your margin.

Credit terms mismatch — you pay the carrier in 15 days but the client pays you in 60 days. The financing cost of that 45-day gap is real margin erosion.

Re-deliveries — failed first delivery attempt, wrong address, receiver not available. The carrier charges for the second attempt.

The best defence is building these scenarios into your quoting process. Add a margin buffer for volatile routes. Include D&D exposure in your terms. And track actual vs quoted margin per shipment so you learn which routes have the highest variance.

A practical example: a forwarder running 50 FCL shipments per month discovers that 8% incur demurrage averaging EUR 180 per incident. That is EUR 720 per month in unplanned cost. By adding a EUR 15 contingency buffer to every FCL quote, the forwarder covers the expected demurrage cost while keeping the price competitive. The buffer is invisible to the client but protects the margin. Without per-shipment tracking, this pattern would never surface — the cost would simply erode profit at the aggregate level.

Per-shipment vs per-period margin

There are two ways to look at freight margin:

Per-shipment margin tells you whether each individual deal was profitable. This is the number that matters for sales compensation, client profitability analysis and real-time decision-making.

Per-period margin (monthly, quarterly) tells you whether the business is profitable. This includes overheads (rent, salaries, software, insurance) that are not allocated to individual shipments.

Healthy forwarders track both. A common mistake is focusing only on period margin — which can mask the fact that some clients or routes are consistently unprofitable while others subsidise them.

Benchmarks for the European forwarding market: - Gross margin per shipment: 12-22% (varies by mode and route) - Net margin after overheads: 3-8% - Top-quartile forwarders: 10%+ net margin through volume, automation and carrier negotiation

If your gross margin per shipment is below 10%, you are likely underpricing, over-relying on a single carrier without competitive quoting, or absorbing costs that should be passed to the client.

A useful exercise: run a client profitability analysis at the end of each quarter. Rank your top 20 clients by total margin contribution — not by revenue. You may discover that your highest-revenue client operates on razor-thin margins due to aggressive rate negotiation, while a mid-volume client consistently delivers 18-20% margin because they value reliability over price. This insight should shape your sales strategy, account management priorities and even which RFQs you respond to. A freight analytics platform that tracks per-shipment margin automatically makes this analysis trivial. Without one, it requires a manual spreadsheet exercise that most teams never find time to do.

How to protect and grow freight margin

Practical strategies that work in 2026:

  1. Lock margin at the point of quoting — do not send an offer to a client until you have confirmed the buy rate and locked the margin in the system. If the carrier rate changes later, you renegotiate or absorb it knowingly.
  1. Fan out carrier quotes — never accept the first carrier's price without competition. Send your shipment requirements to 3-5 carriers and pick the best combination of price, reliability and transit time.
  1. Snapshot exchange rates — capture the FX rate at quoting and at invoicing. Track the variance. If a route consistently loses margin to FX, consider quoting in the carrier's currency.
  1. Track margin per client — some clients are worth a 10% margin because they bring volume. Others demand 10% but bring one shipment per quarter. Know the difference.
  1. Automate the repetitive parts — every minute your team spends re-keying data from an email into a spreadsheet is a minute they are not spending on margin-improving activities like carrier negotiation or client development.
  1. Review overdue payments — margin on paper means nothing if the client does not pay. Track payment status per contract, flag overdue invoices automatically and adjust credit terms for chronic late payers.

A freight platform that calculates margin in real time, per shipment, with FX adjustment, is not a nice-to-have — it is the foundation of a profitable forwarding operation.

The forwarders who consistently outperform their competitors are not the ones with the lowest carrier rates — they are the ones who know their actual margin on every deal, spot variance early and adjust their pricing strategy continuously. Margin management is not a finance function; it is a competitive advantage that runs through every department, from sales to operations to management. For the full picture of how these tools fit together, read what is freight forwarding software.

// URMĂTOAREA MUTARE

Vezi LogiCRM rulând pe rutele tale reale.

Vino cu un client real, o rută reală, o problemă reală de marjă. Îți arătăm cum ar arăta în LogiCRM — în douăzeci de minute.

Programează demo Începe trial gratuit

// 20 MINUTES · NO SLIDES · YOUR LANES