How to Verify Carrier Quotes for Hidden Charges Before They Eat Your Margin
Hidden charges in freight are rarely “hidden” in the dramatic sense. Most of the time, they are sitting somewhere in plain sight: in a carrier surcharge page, a local charges sheet, an Incoterm assumption, a customs rule, a quote validity note, or a currency conversion that never got written down.
That is what makes them so frustrating.
A carrier quote comes in as a PDF. It has ocean freight, origin charges, a few destination charges, maybe a bunker surcharge, maybe not. The total looks fine. Sales copies the number into a customer quote. The shipment moves. Then the invoice lands three weeks later with a destination terminal handling charge, an emissions surcharge, a customs-related cost, or a currency adjustment nobody accounted for.
By then, the customer has already accepted the quote. The shipment has already moved. And if the charge was not disclosed clearly upfront, the forwarder often has two bad options: go back to the customer and have an uncomfortable conversation, or absorb the cost and watch the margin shrink.
The problem is not always that someone made a careless mistake. It is that freight pricing lives across too many documents.
Carrier quotes do not always show the full commercial picture. Incoterms explain who carries cost and risk, but they do not replace the carrier's tariff or local charge conditions. Customs duties depend on classification, value, origin, and destination-country rules. Currencies move. GRIs and surcharges have effective dates. And different carriers may describe the same charge in different ways.
So the real question is not, “Are there hidden charges?”
The better question is: “Have we checked every charge that could apply before we commit margin?”
Why carrier quotes create margin risk
A carrier quote is not always a complete landed-cost view. It may be accurate for what it includes, but incomplete for what the shipment actually needs.
That difference matters.
A quote can include ocean freight and still exclude destination terminal handling. It can include base freight and still leave out local charges. It can show a destination charge but not make clear whether it applies to the named port, inland point, or consignee location. It can list surcharges separately, while other applicable charges sit in the carrier’s public tariff or surcharge pages.
This is common in ocean freight because many charges are published outside the individual quote. Trade surcharges, terminal handling, security fees, bunker adjustments, peak season charges, emissions-related costs, and local contingency fees may all sit in separate tariff sheets or surcharge notices. That means the carrier PDF may be accurate for what it shows, but still incomplete for the total cost exposure.
That does not mean the carrier is necessarily hiding the charge. It means the quote is only one part of the cost record.
For a freight forwarder, that distinction is important. If the team treats the carrier PDF total as the final truth, margin becomes exposed. If the team treats it as the starting point for verification, the risk drops.
CIF does not automatically answer the DTHC question
CIF is one of the most misunderstood areas when it comes to destination charges. On paper, CIF means the seller pays for cost, insurance, and freight to the named destination port. But that does not automatically mean every destination-side charge is included in the seller’s cost. The ICC’s explanation of C-rules makes the point more carefully: under C-terms, the seller arranges and pays for carriage to the named place, but costs after arrival depend on the contract of carriage and the specific term being used.
That is where DTHC becomes tricky.
A buyer may hear “CIF New York” and assume the destination terminal handling charge is covered. A sales rep may assume the same. But whether DTHC is included depends on the carrier quote, the rate basis, the local charge rules, and how the contract of carriage treats unloading or terminal costs.
This is why “Is DTHC included in CIF?” is the wrong question.
The better question is: “Does this specific carrier quote, for this lane, under this rate basis, include or exclude DTHC at destination?”
The safest approach is to avoid assuming. Quote the customer with clear inclusions, exclusions, and conditional charges.
For example:
“Rate includes ocean freight and origin charges. Destination terminal handling, customs clearance, duties, taxes, demurrage, detention, storage, inspections, and any carrier local charges not listed above are excluded unless specifically stated.”
That kind of wording may feel less neat than a single all-in number, but it protects the quote. More importantly, it educates the customer before the shipment moves.
DDP is where small assumptions become expensive
DDP deserves extra caution because the seller takes on the heaviest obligation. Under Delivered Duty Paid, the seller is responsible for delivering goods to the named destination and paying import duties, taxes, and import formalities. ICC guidance describes DDP as the Incoterm where the seller carries maximum responsibility on the import side.
That sounds simple to the customer. It is not simple for the forwarder.
A proper DDP quote needs more than freight plus delivery. It needs a landed-cost view.
That usually means checking:
HS or HTS classification
Customs value
Country of origin
Duty rate
VAT or GST
Excise or special duties, if applicable
Customs clearance costs
Brokerage assumptions
Last-mile delivery charges
Storage, inspection, or compliance-related risks
The duty rate itself is not always a straightforward lookup. U.S. Customs and Border Protection explains that duty rates are determined through the Harmonized Tariff Schedule and depend on classification. CBP also places responsibility on importers to use reasonable care when declaring value, classification, and duty-related information.
This is why DDP quotes can look complete and still be wrong.
A quote may include duty but miss VAT. It may use the wrong HS code. It may assume a preferential origin treatment that the documentation does not support. It may include delivery to the city but not appointment fees, tail lift, residential delivery, waiting time, or storage. It may use an estimated customs value that later changes.
For repeat lanes or repeat commodities, the best teams do not solve this from scratch every time. They build a reference base: approved HS codes, historical duty assumptions, preferred brokers, known destination charges, recurring accessorials, and customer-specific tax treatment.
Where the risk is high, they seek more formal certainty. The U.S., Canada, and EU all provide ruling or advance ruling mechanisms for classification and related customs questions. That can turn a recurring guessing game into a documented assumption.
Mixed currencies need a policy, not guesswork
Mixed-currency quotes are another quiet margin leak.
A carrier may quote ocean freight in USD, a surcharge in EUR, local charges in CAD, and delivery in the destination currency. If the sales team converts everything manually, small differences can pile up fast, especially when quote validity runs across multiple weeks.
The problem is not just the exchange rate. It is the absence of a documented exchange-rate rule.
Which source was used?
Which date was used?
Was the conversion locked for the customer?
Was a buffer added?
What happens if the shipment moves after the quote validity expires?
Are customs values converted using the same commercial FX rate or a customs-specific rate?
Official trade processes are usually date-sensitive around exchange rates. The ECB publishes euro foreign exchange reference rates daily. CBP publishes foreign currency exchange rates for customs purposes. CBSA guidance also ties value-for-duty conversion to specific exchange-rate rules.
A forwarder does not necessarily need to use a customs FX rate for every commercial quote. But the team does need one internal rule.
For example:
“All non-USD charges are converted using the company exchange rate published every Monday. Customer quotes are valid for 14 days. Any currency movement beyond the validity period may be re-rated.”
That may not remove currency risk completely, but it makes the risk visible. It also gives the team a consistent basis for pricing.
The practical way to verify a carrier quote
The best way to catch hidden charges is not to rely on memory. Even experienced operators miss things when they are under pressure.
A better process starts with breaking the carrier quote apart.
First, extract every line item. Do not stop at the total. Pull out base freight, bunker, documentation, origin terminal handling, destination terminal handling, security, emissions, peak season, congestion, customs, delivery, and any conditional notes.
Second, map the shipment against the Incoterm. CIF, DAP, DDP, FOB, and EXW all shift responsibilities differently. The quote should match the commercial promise being made to the customer.
Third, check the carrier’s local charge and surcharge pages. If the quote is silent on DTHC, do not assume it is included. If emissions, GRI, peak season, or congestion charges are effective during the shipment window, check whether they apply.
Fourth, check destination-country import assumptions. For DDP, verify classification, value, origin, duty, tax, brokerage, and delivery assumptions. If the information is not confirmed, mark it as estimated.
Fifth, normalize currencies. Use one exchange-rate source, one date, and one validity rule. Record all three.
Sixth, separate included, excluded, and conditional charges in the customer quote. This is where many margin issues can be avoided. A customer may not like seeing possible extra charges, but they will like surprise invoices even less.
This does not have to make the quote messy. It can be simple:
Included: ocean freight, origin THC, documentation
Excluded: duties, taxes, customs exams, demurrage, detention
Conditional: DTHC, GRI, emissions surcharge, storage, waiting time
The point is not to overwhelm the customer. The point is to make the commercial boundary clear before the shipment moves.
Where AI can help without replacing human judgment
This is also where AI can be useful, as long as it is treated as a quoting control and not as a magic answer machine.
The hard part of quote verification is not always the expertise. Most freight teams know what they should check. The hard part is doing it consistently when enquiries are coming in from emails, PDFs, spreadsheets, portals, and message threads.
That is where structured workflows help.
A system like WendAI can support this process by extracting RFQ and carrier quote details from unstructured documents, standardizing the charge lines, comparing costs side by side, and making gaps easier to spot before the customer quote is sent. It can help teams see when a quote has freight but no destination charge, when currencies need conversion, when local charges are missing, or when a markup is being applied before the full cost is visible.
That does not remove the need for human review. It should not. Freight quoting still needs judgment, especially around Incoterms, duties, customs assumptions, and customer-specific agreements.
But it does make the checking process more repeatable.
Instead of every sales rep reading a PDF differently, the team works from a structured view of the quote. Instead of relying on memory, they can compare charges against expected cost buckets. Instead of finding missing charges after invoice receipt, they can flag them before margin is committed.
