How landed cost is calculated
A plain-English walk-through of every number on the Simulation screen, with sources.
Plain-English walk-through of every number on the landed cost screen, with sources. This is the canonical methodology — the in-app "How this is calculated" modal mirrors it. If a number cannot be sourced, we say so.
The formula:
Risk-Adjusted Landed Cost
= Product cost (declared FOB)
+ Base HTSUS duty ← live HTSUS schedule
+ Trade-program duty (Section 301 / 232 / …) ← live USTR / Presidential Proclamations
+ MPF (Merchandise Processing Fee) ← 19 CFR 24.23
+ HMF (Harbor Maintenance Fee, ocean) ← 19 CFR 24.24
+ Expected detention cost ← modelled (range, transparent)
1 · HTS classification
We classify the product description with a Claude-based classifier that is grounded on two real, live data sources:
- HTSUS — the entire US Harmonized Tariff Schedule (29,500+ codes, including Chapter 99 for trade-program actions), ingested from
hts.usitc.gov/reststop/exportList. Refreshed quarterly. - CROSS — CBP's database of binding classification rulings (
rulings.cbp.gov), ingested and surfaced as cited precedent. Grounding classification on CBP's binding rulings measurably improves accuracy; see the AI methodology for the eval approach.
The classifier returns a 10-digit HTS code, a confidence score, a written rationale, alternatives, and the CROSS rulings it cited.
2 · Base HTSUS duty
We look up the assigned HTS code in the live HTSUS table and apply the effective (or fallback general) ad-valorem rate to the declared FOB value. If the rate is "Free" we report 0. If the leaf code's stat suffix is absent from the schedule, we fall back to any leaf under the same 8-digit subheading — duty rate is set at the 8-digit level, so this is correct.
Specific (per-unit) rates are flagged for manual broker computation; we don't silently fake them.
Source: USITC HTSUS, live.
3 · Trade-program duty (Section 301 / 232 / IEEPA / 201 / UFLPA)
Each active trade program is stored as a tariff_action row with the HTS prefixes it covers, the additional ad-valorem rate, and the Federal Register citation (e.g. "Section 301 List 2 @ 25.00% (9903.88.02) — USTR Notice 83 FR 40823"). If the imported good's HTS sits under a covered prefix and the origin country matches, we add the rate.
Coverage is broad-stroke at the HTS-prefix level (not at the U.S. Note 20(b) exclusion granularity yet) and deliberately mutually exclusive within a program family so we don't double-count a List-3 good as also List-1.
Sources: USTR Federal Register notices; Presidential Proclamations; CBP CSMS messages; HTSUS Chapter 99.
4 · Merchandise Processing Fee (MPF)
Per 19 CFR 24.23, indexed annually for inflation:
- Formal entries: 0.3464% of the declared value, minimum $32.65, maximum $634.82.
- Informal entries (declared value < $2,500): flat $2.62.
5 · Harbor Maintenance Fee (HMF)
Per 19 CFR 24.24: 0.125% of the declared value, ocean shipments only. Not applied to air or truck.
6 · Denied-party screening
We run the supplier name (and importer / consignee, where applicable) against 31,400+ entity records sourced from OpenSanctions us_trade_csl, which consolidates:
- OFAC SDN (Treasury)
- BIS Entity List (Commerce)
- DHS UFLPA Entity List
- BIS Denied Persons List
- BIS Unverified List
- State Department non-proliferation lists
Matching is strict_word_similarity with pg_trgm and corporate-suffix stripping. Match bands:
- Block ≥ 0.55 — high-confidence match (e.g. Hoshine, Mabrooka resolve at 1.00).
- Review ≥ 0.40 — likely match, surface to broker.
- Watch ≥ 0.35 — possible alias; investigate.
Below 0.35, we treat as no match. Generic word-collisions ("Components", "Electronics") sit at ~0.55 — the corporate-suffix stripping and the strict- prefix scoring push real false positives below the cutoffs.
License note: OpenSanctions is CC BY-NC 4.0; a commercial license is required before paying customers.
7 · Detention cost — modelled, transparent, returned as a range
This is the only number that is not a direct read from a regulatory source. We are explicit about it on screen.
Expected detention cost = P(detention) × ( delay carrying cost + response cost )
Cargo at risk (exclusion scenario) = declared value × P(detention) [reported separately, NOT added to the expected cost]
P(detention) — band, driven primarily by the live screening result:
| Screening result | Probability band |
|---|---|
| Block hit (UFLPA / Entity List) | 50 – 70 % |
| Review-band match | 15 – 25 % |
| China-origin, UFLPA-sensitive chapter (cotton/apparel/footwear), no entity hit | 6 – 12 % |
| All other | 1 – 3 % |
Delay carrying cost = declared value × 12% (annual cost of capital) × delay days / 365. Delay days: 60 (block), 30 (review), 21 (UFLPA-sensitive), 0 (clear).
Response cost — legal + consultant fees to prepare a CBP admissibility package. $15K–25K (block), $5K–10K (review), $3K–7K (UFLPA-sensitive), $0 (clear).
What this model deliberately does not claim:
- It is not a CBP detention prediction. It is a planning-grade scenario cost that surfaces that the goods could be detained and roughly what that would cost the importer.
- It does not account for first-time-importer effects, broker reputation, port-specific exam rates, or commodity-specific intensive-exam patterns.
- The numbers will tighten as Commers accumulates real entry + detention data (the data flywheel) and we can replace heuristics with empirical rates.
What's NOT in the simulation (yet)
We omit these on purpose; modelling them poorly is worse than omitting them. See Landed cost — what we are still closing for the detailed plan to close each gap — concrete data sources per category (Freightos, Xeneta, DAT, CBP ADCVD database, port-authority tariffs, etc.), prioritized build order, partnership patterns, and an eval discipline for validating predictions.
- Freight + handling — depends on rates, routing, fuel surcharges. We're scoping a freight-rate API integration (Freightos / Xeneta).
- CBAM certificate cost — EU-only; built when a destination input is added.
- EUDR / deforestation diligence — EU-only, commodity-specific.
- PGA filing fees (FDA, FCC, CPSC, USDA) — flagged but not costed.
- Broker fees — varies by broker.
- Bond cost — varies by importer credit + entry volume.
These additions are on the roadmap, not yet in the product.
How freshness works
The feed auto-refreshes on a schedule — Federal Register tariff alerts daily, and the HTSUS, CROSS, and screening corpora weekly via automated jobs. No number depends on a person remembering to reseed it.
| Source | Refresh cadence |
|---|---|
| HTSUS | Weekly automated check (USITC publishes quarterly) |
| CROSS rulings | Weekly (automated) |
| Screening (OpenSanctions) | Weekly (automated) |
| Tariff actions / alerts | Federal Register alerts, daily (automated) |
Put your own book of entries through Commers.