
Logistics
How to Accurately Classify Goods Using HS Codes
Jun 1, 2025
Export Import
Import duty isn't one flat number, it depends on your HS code, customs value, and country of origin. Here's the exact formula and a worked example.
July 24, 2026By Exim Agent11 min readView as Markdown

A Vietnamese furniture exporter we talked to last quarter quoted a US buyer a landed price based on FOB cost plus freight nothing else, because nobody on the team had actually worked out the duty. The shipment cleared under a wood-furniture HTS line that picked up an extra sector-specific tariff on top of the standard rate, and by the time the invoice was final, almost the entire margin on a $40,000 order was gone. Nobody had done anything wrong on purpose; they just never calculated it before quoting.
Import duty isn't one flat percentage you can memorize and reuse. It depends on four things at once the exact HS/HTS classification, the customs value, the country of origin, and whichever additional tariffs happen to be stacked on that product right now and in 2026 that last part changes more often than most importers can keep track of. Once you've got those four pinned down, the multiplication itself takes ten seconds the part that trips people up is not missing one of them.
Before you can calculate anything, gather these five inputs:
Have these five on hand and a duty calculation usually resolves in one pass instead of several rounds of guessing.
Every country publishes a tariff schedule that assigns a duty rate to each full-length national tariff line in the US, that's the Harmonized Tariff Schedule (HTS), maintained by the U.S. International Trade Commission. Two products can share the same 6-digit international subheading and still carry different rates once you get to the 8th, 9th, or 10th digit, because that's where a country splits a subheading by material, use, or size to apply a different rate.
This is exactly why an approximate classification isn't good enough for a duty calculation "coffee" or "furniture" gets you to the right chapter, but the actual rate lives at the full national code. If you haven't nailed the exact HTS line yet, that's the step to fix first (our HS code lookup guide walks through classifying a product to the full 6-digit subheading before you ever look up a rate).
Most tariff lines carry a general (MFN most-favored-nation) rate that applies by default, plus a separate, much higher "Column 2" rate reserved for a short list of countries the US doesn't extend normal trade relations to (currently Cuba, North Korea, Russia, and Belarus). For nearly every other trading partner, you start from the Column 1 general rate and then layer on anything origin-specific.

Three practical ways to find the rate once you have the full HTS code:
Whichever source you use, check the as-of date. The base HTS rate itself barely moves, but from late 2024 through mid-2026 the US layered and re-layered several country- and sector-specific surcharges on top of it memorizing last quarter's total rate is a common way importers under-quote a shipment today.
The core formula is simple; getting every input right is where the work is:
Import duty = Customs value × Applicable duty rate (plus any specific or compound-duty component, plus any additional tariff that stacks on top).
Two identical products with the same HTS code can owe completely different duty depending on where they're from, for three separate reasons:
Origin also gets genuinely hard to pin down for products assembled from components sourced across several countries the origin is wherever the last substantial transformation happened, which is a legal test, not just "where the factory is."
Beyond the base HTS rate, a shipment can pick up several more charges depending on the product and market:
None of these move in isolation from the base HTS rate they stack on top of it. Ask five importers what the duty on a product actually is and you'll often get five different answers, because each one stopped adding at a different layer

Figures below are an illustrative example only always confirm the live rate for your product and shipment date before filing; the mechanics of the calculation are what matters here, not the exact percentages, which shift often in the current environment.
Say you're importing 500 liters of extra virgin olive oil from Spain to the US, HTS subheading 1509.20.20, with a customs value of $5,000 (FOB Spain)
Step | Detail |
|---|---|
HTS code | 1509.20.20 (extra virgin olive oil, retail containers under 18 kg) |
Customs value | $5,000 (FOB) |
Country of origin | Spain (EU) |
Base (Column 1) duty rate | $0.05/kg on contents + immediate container |
Additional country/sector tariff | Section 301 (EU): +10% ad valorem, effective July 24, 2026 |
FTA/preference applicable | None currently for EU under a US FTA |
Total duty | $25 (specific duty) + $500 (10% Section 301) = $525 |
Landed cost | $5,000 + $525 + freight/insurance + any applicable fees |
The point of the table isn't the dollar figure it's the sequence: classify to the full HTS line first, price it on the correct customs-value basis, apply the base rate, then check what else is stacked on top for that specific origin, before you ever quote a landed price to a buyer.
Instead of running these steps separately across three different lookup sites, EximAgent handles the whole chain in one query:
1. Ask in plain language. Something like "what's the landed cost to import olive oil from Spain to the US" no need to already know the HTS code or which surcharges currently apply.
2. It classifies the product first. The same classification wizard used for HS code lookups confirms the exact subheading before pricing anything since, as covered above, the rate lives at the full code, not the general category.
3. It returns the current duty rate for that exact line and origin including whether any country- or sector-specific tariff is currently stacked on top, and whether an FTA or preference program applies rather than a number that was accurate last quarter.
4. It totals the landed cost customs value, duty, and applicable fees together so you get one figure to quote against, not three numbers to add up yourself.
Checking tariffs and duty by HS code is free on every EximAgent plan, including the free tier the same way HS classification is. Check the current duty rate for your product at hscode.eximagent.ai.
How do I calculate import duty from an HS code? Classify the product to its full national HTS/HS code, establish the customs value (transaction value, generally FOB for US imports), confirm the country of origin, then apply the base rate for that exact line plus any additional tariff currently stacked on that product and origin.
Is import duty calculated on FOB or CIF value? For US imports, duty is generally calculated on the FOB transaction value the price paid or payable for the goods themselves. Many other countries use CIF (which adds freight and insurance) as the customs value base, so the same shipment can be priced differently depending on the destination market.
What's the difference between import duty and VAT? Import duty is a tariff assessed on the customs value of the goods themselves under the HTS/HS classification. VAT (or GST) is a separate consumption tax some countries charge on top of the customs value plus duty. The US has no federal import VAT, but most other major import markets do.
Does country of origin affect the duty rate? Yes, significantly. Origin determines whether an FTA preference lowers the rate, whether a country-specific tariff stacks on top of it, or for a short list of countries whether the much higher Column 2 rate applies instead of the standard rate.
Do small shipments still get a duty-free exemption? No, and this is the change that's caught the most people off guard this year. The $800 de minimis exemption. (Section 321) was suspended indefinitely as of June 24, 2026, across nearly all import modes low-value shipments that used to clear duty-free now go through normal entry and duty assessment.
Is there a free tool to check import duty by HS code? Yes EximAgent's HS classification and tariff/duty lookup are free on every plan; only the detailed buyer-list feature for a given HS code sits behind a paid plan.
Calculating import duty by hand across five inputs and a stack of country-specific surcharges is exactly the kind of thing worth checking rather than assuming a single missed surcharge can erase the margin on an order before it ships. Check the HS code and current duty rate for your product at hscode.eximagent.ai FREE, with the reasoning shown, not just a number.
Enter your email to receive the latest trade insights, guides, and HS-code explainers from EximAgent Blog.