Skip to content
Back to Blog
September 23, 2026 — Tier2 Systems

Local charges in freight quotes: where margin leaks

Local charges change faster than base freight and vary port to port. A quote that reuses last month's numbers wins the deal and loses the margin.

freight-forwardingfreight-quotingsalesprofitabilityocean-freight

THC per container at Santos, Brazil’s busiest port, went from US$ 70-100 per TEU in 2019 to roughly US$ 500 in 2026, according to CNN Brasil. During that same stretch, Asia-Brazil base freight often fell below US$ 2,000 per 40-foot container on the spot market. If terminal handling alone runs close to a quarter of the ocean freight, a wrong local-charge figure in the quote is not a rounding error. It is the line where margin leaks out.

On a forwarder’s commercial desk, local charges are the hardest part of any proposal to get right. Base freight arrives from the carrier or NVOCC with a validity window and a defined route. Local charges depend on port, terminal, cargo type, billing currency and deadlines that move without warning. Pulling the numbers from last month’s quote is fast, and it is also the quickest way to give margin back once the actual invoice lands.

Local charges can already exceed base freight on Asia-Brazil

An ocean freight import quote in Brazil has three layers. Base freight is what the carrier or NVOCC charges for space on board. Carrier surcharges cover BAF for bunker, PSS for peak season, GRI for general rate increases. Then come destination local charges: THC (terminal handling charge), storage, release fee, BL fee, ISPS, VGM weighing, LCL deconsolidation and AFRMM, Brazil’s merchant marine renewal levy.

Base freight dropped on several routes as vessel capacity grew, but local charges kept climbing. Container throughput at Santos grew 42% between 2019 and 2025, according to CNN Brasil, while infrastructure lagged behind. Average berth waiting time jumped from 8-9 hours in 2019 to roughly 35 hours by 2024. More demand in the same physical space drives up THC, storage and the time cargo sits idle at the terminal. The forwarder’s invoice absorbs all of it.

A 40-foot container on the Shanghai-Santos route can carry a spot base freight of US$ 1,800 and destination local charges above US$ 1,200 once you add THC, terminal handling, ISPS, BL fee, release fee, initial storage and AFRMM. The ratio changes by route, port and week, but local charges are no longer a footnote at the bottom of the proposal.

Every port charges differently, and adjustments come without warning

An ANTAQ study covering Brazil’s eight largest port complexes, published by Portos e Navios, found wide THC price gaps. For a 20-foot container, charges ranged from US$ 135-180 at Itapoa and Sao Francisco do Sul up to US$ 283-315 at Suape. Santos fell between US$ 164 and US$ 212 in the same survey, already well below today’s levels.

THC varies because it depends on the contract between carrier and terminal, and each terminal has different operating costs. ANTAQ revised its container tariff regulations in 2026, closing a chapter of disputes that lasted over 20 years, according to CNN Brasil. The split between the original THC and THC2 (charged when cargo moves to a dry port outside the terminal) adds another layer of uncertainty. Brazil’s Supreme Court recently reinstated THC2 collection in some cases, and whether it applies depends on each import’s logistics flow.

For a pricing analyst, the THC valid at Santos does not apply at Itajai, and the figure that held in Santos in January may be outdated by September. The quote needs the cost at the specific port, the specific terminal, on the date of the proposal. A generic THC sitting in the spreadsheet is a bet against your own margin.

Other local charges vary just as much between ports and operations. Bonded warehouse storage depends on the terminal and dwell time. LCL deconsolidation costs differ by NVOCC and deconsolidation facility. The BL release fee changes by destination agent. ISPS and VGM weighing are small on their own, but when five or six charges of US$ 20-60 each get left out of the quote, the missing total can top US$ 200 per container.

Three charges the quote forgets and the invoice brings back

Some local charges show up on invoices far more often than they show up on quotes. Three of them cause most of the surprises importers complain about and that sales teams have to explain after the fact.

AFRMM, Brazil’s merchant marine renewal levy, is the most common one left off. On long-haul navigation, the current rate is 8% of the freight value under Law 14.301/2022, the BR do Mar act, according to Brazil’s Ministry of Ports and Airports. Before that law, the rate was 25%. The cut helped, but the levy still applies to waterway transport remuneration and triggers at the start of discharge. On US$ 3,000 of freight, AFRMM adds US$ 240. If the quote skips this figure, the importer finds out at CE Mercante registration or when the forwarder’s invoice arrives.

Storage after free time expires is the second. Free time is the window the forwarder negotiated with the carrier or terminal. Once it runs out, storage charges start accruing. A quote that says “free time: 10 days” without estimating what happens after that pushes the entire risk to the invoice. Delays are routine: a red-channel customs inspection, a weight discrepancy on the packing list, a license the importer did not expect to need. Each extra day at the terminal can cost US$ 40-150 per container depending on the facility, and none of that was in the proposal.

Third is deconsolidation on LCL shipments. The deconsolidation cost at the destination terminal is billed by the NVOCC or consolidator based on volume, weight and facility. Many LCL quotes list freight per cubic meter or per ton and treat deconsolidation as a separate charge the importer only sees when requesting release. For the forwarder who quoted LCL without that cost, the margin that looked solid in the proposal gets thinner once the NVOCC invoice arrives with deconsolidation on a separate line.

The exchange rate between quote and invoice changes local costs

Ocean freight quotes mix currencies. Base freight and most carrier surcharges are in US dollars. THC may be billed in dollars by the carrier and converted to local currency by the forwarder before reaching the importer. Terminal storage and handling at Brazilian facilities are in BRL. AFRMM is calculated on foreign-currency freight and collected in BRL at the exchange rate on the registration date.

The commercial team building the quote has to decide which rate to use. Some forwarders quote in dollars and convert to local currency only on the invoice. Others convert in the proposal so the importer can compare more easily. A previous post on this blog detailed how the exchange-rate choice changes the total of two quotes for the same container.

The problem appears when the quote uses one day’s rate and the invoice arrives weeks or months later at a different one. On a shipment with US$ 1,200 in local charges, a 5% currency swing adds US$ 60 to the dollar-equivalent cost, and the effect is larger in local-currency terms. If the forwarder converted local charges at the proposal-date rate and the currency moved by shipment time, the gap comes straight out of process margin.

What protects margin is stating in the proposal which rate applies, the reference date and the validity period. A proposal valid for 7 days with the rate locked at acceptance limits exposure. A proposal with no stated rate and a 30-day validity hides a currency bet inside the quote, and the importer almost never knows it.

The proposal that omits charges wins the bid and loses the account

There is real pressure to simplify the quote. An importer looking at three proposals compares the bottom-line number, and the forwarder who itemizes every local charge shows a higher total than the competitor who sends an “all-in freight” with no line-item breakdown. Side by side, the detailed proposal looks more expensive.

The incentive works against itself. The forwarder who leaves local charges out wins the bid but moves the surprise to the invoice. When the importer sees a charge for THC2, extra storage or AFRMM that was not in the proposal, trust breaks down. The importer pushes back on the gap between what was quoted and what was billed, no matter the absolute amount.

In our experience with freight forwarders in Brazil, clients stay longer when costs are predictable, not necessarily when costs are lowest. An importer who knows the total upfront can plan cash flow, calculate landed cost and justify the price internally. When charges appear after the fact with no warning, the damage is commercial: the importer starts wondering what else will show up on the next invoice.

The itemized quote, with every local charge on its own line, currency and condition, does the opposite. The total may look higher in the first comparison, but the final invoice matches. The sales rep defending the detailed proposal has to walk through every line, and that conversation is the same one that shows the importer the forwarder understands the operation. The transparency itself becomes the selling point.

A quote with accurate local charges starts with an updated table

Getting local charges right in a quote takes more than checking freight with the carrier. The pricing analyst needs a local-charge table organized by port, terminal and operation type, updated on a set schedule. When a terminal adjusts THC or storage, the new figure has to reach the table before it goes into the next quote.

Four practices cut the risk of local-charge errors.

First, separate charges by source: what comes from the carrier (destination THC, BL fee), what comes from the terminal (storage, handling, weighing), what comes from the government (AFRMM or equivalent levies) and what comes from the destination partner (deconsolidation, release fee). Each source updates on its own cycle. Carrier THC changes with the carrier-terminal contract. Storage follows the bonded-warehouse tariff schedule. Government levies change with legislation.

Second, define the exchange-rate rule in the proposal. The quote must state which rate is being used, the reference date and validity. Without that, the rate stays open and margin stays exposed between acceptance and payment.

Third, include a storage estimate for delay scenarios. The proposal can show the per-day storage cost after free time without guaranteeing the clearance timeline. This protects the forwarder when customs clearance stalls and gives the importer a number for sizing the risk.

Fourth, record each local charge with the calculation rule used: per container, per ton, per cubic meter, per shipment, percentage of freight. When the quote shows how the number was calculated, the importer understands the logic and the sales team can update the figure when the base parameter changes, without rebuilding the whole proposal.

How Tier2 Cargo organizes local charges in the quote

Tier2 Cargo supports ten fee calculation rules in the quote: per container, per weight, per TEU, percentage of freight, lump sum and others. Each local charge goes into the proposal with its own rule, currency and source, and the system applies the exchange rate based on the process configuration. When a destination cost changes, the pricing analyst updates the parameter and later quotes pick up the new figure automatically.

The system compares the margin projected in the quote against billed margin and settled margin at final settlement. If the actual local cost exceeded the quoted amount, the difference shows up in the process result, shipment by shipment, without waiting for month-end close.

See how it works or book a demo.

Local charges are the least standardized and fastest-moving part of a freight quote. For a forwarder’s commercial team, getting this part of the proposal right is what separates the quote that wins and holds margin from the one that wins the deal and gives the profit away on the next invoice.


Ready to transform your operations?

Discover how Tier2 Systems can help your company with intelligent ERP, AI agents, and automation built from real-world experience.

Learn How We Can Help