ocean freight

Passing Through EU ETS Surcharges Without Losing Margin

Learn how freight forwarders should pass through EU ETS surcharges from carriers to customers accurately, without absorbing costs or triggering invoice disputes.


A forwarder in Mumbai quotes an FCL move from Nhava Sheva to Rotterdam in early January. The rate sheet includes a carrier's EU ETS surcharge of $12 per TEU, current as of that week. By the time the container is actually loaded six weeks later, the carrier has revised the surcharge upward because the EU Emissions Trading System phase-in moved from 40% of shipping emissions covered in 2024 to 70% in 2025 and 100% from 2026 — and the ops team never updated the quotation. The invoice goes out at the old rate. The forwarder eats the difference, multiplied across every EU-bound container booked that quarter. That's not a rounding error. That's margin leaking out through a surcharge nobody re-checked.

This is the operational reality of the EU ETS surcharge for freight forwarders and NVOCCs today: it's not a fixed cost like BAF used to be, it changes by carrier, by trade lane, and by year, and if it isn't tracked and passed through precisely, it either erodes your margin or triggers a dispute with your customer. Here's how to think about it properly.


What the EU ETS surcharge actually is

Since January 2024, the EU Emissions Trading System applies to CO2 emissions from vessels of 5,000 gross tonnage and above calling at EU and EEA ports, covering both intra-EU voyages and the EU-bound leg of international voyages. Carriers buy emission allowances to cover this liability, and they recover that cost from shippers and forwarders through a surcharge — usually labeled something like "EU ETS Surcharge" or folded into an existing environmental levy alongside IMO 2020-style low-sulphur charges.

The phase-in is the part that catches forwarders out. Carriers were liable for 40% of verified emissions in 2024, 70% in 2025, and from 2026 onward the full 100% applies. Every step up in coverage has meant a corresponding step up in the surcharge carriers pass on. A rate that was accurate in Q4 2025 is very likely stale by Q2 2026.

Why pass-through is harder than it looks

No two carriers structure it the same way. Some quote a flat fee per TEU or per AWB-equivalent weight bracket. Others calculate it as a percentage of freight, tied to actual emissions data per vessel and voyage. A few bundle it into a broader "environmental and regulatory surcharge" line that also covers low-sulphur fuel costs, making it hard to isolate the ETS component for your own invoicing.

Rates change without much notice. Carriers typically revise ETS surcharges quarterly, sometimes monthly on volatile lanes, in response to EU carbon allowance (EUA) market prices. If your quotation and invoicing systems aren't pulling current carrier tariffs at the point of booking and at the point of billing, you're working off memory.

The surcharge applies differently depending on the voyage. A shipment calling only at EU ports is treated differently from one where the EU port is just one leg of a longer transpacific or trans-hemisphere voyage — only the EU-related portion of the journey is chargeable. Getting this wrong either overcharges a customer who will notice, or undercharges and quietly erodes margin.

Customers push back on anything that looks arbitrary. A shipper who sees an "EU ETS Surcharge" line that doesn't match what a competing forwarder quoted, or that doesn't match the carrier's own published tariff, will ask for a breakdown. If your ops or finance team can't produce the carrier's source rate immediately, that's a credibility problem, not just an admin delay.

Two ways forwarders typically handle it — and where each breaks down

ApproachHow it worksWhere it breaks down
Manual rate sheet trackingOps team keeps a shared spreadsheet of current carrier ETS surcharges by lane, updated when someone notices a changeRates go stale between updates; different branches or staff use different versions; no audit trail linking the charged rate back to the carrier's invoice
Flat internal markupForwarder applies a standard ETS surcharge to all EU bookings regardless of carrier or vessel specificsEither undercharges on high-cost carriers (margin loss) or overcharges on low-cost ones (customer disputes and lost repeat business)

Neither approach scales once you're running EU-bound volume across multiple carriers and lanes. The only durable fix is treating the ETS surcharge the same way you'd treat any other variable carrier cost — captured at the source, linked to the specific shipment and carrier invoice, and passed through with a visible, defensible calculation.

What accurate pass-through actually requires

Capture the surcharge at the shipment level, not the rate-sheet level. The ETS component should be tied to the specific carrier, vessel, and voyage on that house bill — not a generic figure applied across the board.

Reconcile against the carrier's actual invoice before billing the customer. The surcharge you quoted at booking and the surcharge the carrier eventually bills you may differ if there's a lag between quotation and shipment. Reconciliation at the invoicing stage catches this before it becomes a write-off.

Keep the line item transparent on the customer invoice. A named, itemized "EU ETS Surcharge" line with the calculation basis visible builds more trust — and generates fewer disputes — than folding it into a generic "other charges" bucket.

Update the master rate card the moment a carrier notifies you of a change. This sounds obvious, but it's the single most common point of failure in manual systems. Every forwarder we've spoken with has a story about a quarter where three or four EU lanes were quoted at last quarter's rate.

This is fundamentally a data and workflow problem, not a policy problem — which is why forwarders running on spreadsheets and disconnected systems for quoting, invoicing, and carrier cost tracking feel this pain more acutely than those with a connected platform. Purpose-built freight forwarding software ties the quotation, the house bill, and the carrier's actual cost together so a surcharge revision flows through automatically instead of depending on someone remembering to update a sheet.

The margin visibility angle

Beyond the immediate risk of over- or under-billing a single shipment, unmanaged EU ETS surcharges quietly distort your per-shipment P&L. If the surcharge you actually paid the carrier doesn't match what you billed the customer, and that gap isn't reconciled and reported, your profitability numbers on EU lanes will be wrong — sometimes for months before someone in finance notices the pattern. This is exactly the kind of leakage that freight billing automation is built to catch: matching carrier costs to customer invoices at the shipment level so discrepancies surface immediately instead of at quarter-end reconciliation.


Frequently Asked Questions

Does the EU ETS surcharge apply to all shipments to and from Europe?

It applies to voyages by vessels of 5,000 GT or above calling at EU/EEA ports. For voyages between an EU port and a non-EU port, only 50% of the emissions on that leg are counted; for voyages entirely within the EU, 100% is counted. Carriers calculate their surcharge accordingly, which is why the amount varies by specific port pair, not just by "EU vs non-EU."

Should the ETS surcharge be shown as a separate line item on customer invoices?

Yes. Bundling it into a generic surcharge bucket makes it harder to justify to customers and harder for your own team to reconcile against carrier invoices. An itemized line with a clear calculation basis reduces disputes and speeds up collections.

How often do carrier EU ETS surcharge rates change?

Most major carriers revise their ETS surcharge quarterly, though some adjust monthly on volatile lanes based on EU carbon allowance prices. With full coverage now in effect from 2026, forwarders should assume rates will keep moving and build a review cadence into their billing process rather than treating it as a one-time setup.


If tracking carrier surcharges across lanes and reconciling them against customer invoices is eating into your ops team's time, book a demo to see how the Shipmnts platform handles this automatically.

Similar posts

Get notified on the latest on Trade, Logistics and Tech Insights with Shipping Signals

Be the first to know about new insights and technology to grow your global trade & forwarding business.