<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: InvoiceTariff</title>
    <description>The latest articles on DEV Community by InvoiceTariff (@invoicetariff).</description>
    <link>https://dev.to/invoicetariff</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4104428%2Fcdbd76b6-700c-4b0b-9a42-c0b5dfafd98f.png</url>
      <title>DEV Community: InvoiceTariff</title>
      <link>https://dev.to/invoicetariff</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/invoicetariff"/>
    <language>en</language>
    <item>
      <title>InvoiceTariff Public API: Free HTS Code Search &amp; US Tariff Radar (No API Key)</title>
      <dc:creator>InvoiceTariff</dc:creator>
      <pubDate>Wed, 16 Sep 2026 03:31:05 +0000</pubDate>
      <link>https://dev.to/invoicetariff/invoicetariff-public-api-free-hts-code-search-us-tariff-radar-no-api-key-6bj</link>
      <guid>https://dev.to/invoicetariff/invoicetariff-public-api-free-hts-code-search-us-tariff-radar-no-api-key-6bj</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Spec: &lt;code&gt;https://invoicetariff.com/openapi.json&lt;/code&gt; (OpenAPI 3.1) · RSS: &lt;code&gt;https://invoicetariff.com/radar/feed.xml&lt;/code&gt; · LLM index: &lt;code&gt;https://invoicetariff.com/llms.txt&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you sell internationally, two questions decide your margin: &lt;strong&gt;what is the duty rate for my product&lt;/strong&gt;, and &lt;strong&gt;did it just change&lt;/strong&gt;. The US tariff landscape in 2025–2026 is a moving target — Section 301 lists, Section 232 sector tariffs, IEEPA layers, Federal Register notices every week. InvoiceTariff (&lt;code&gt;https://invoicetariff.com&lt;/code&gt;) is a free web tool that answers both questions, and its public API lets you wire the same data into your own systems. &lt;strong&gt;No sign-up, no API key, no charge.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This document describes the public read-only endpoints, with real request/response examples. An interactive calculator is at &lt;code&gt;/en/tariff-calculator&lt;/code&gt;, and all 5,689 HTS 8-digit codes are browsable at &lt;code&gt;/en/hts&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick facts
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Base URL&lt;/td&gt;
&lt;td&gt;&lt;code&gt;https://invoicetariff.com&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auth&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Methods&lt;/td&gt;
&lt;td&gt;GET only (read-only)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rate limit&lt;/td&gt;
&lt;td&gt;30 requests/min/IP on &lt;code&gt;/api/hts/search&lt;/code&gt; (HTTP 429 + &lt;code&gt;retry-after&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Caching&lt;/td&gt;
&lt;td&gt;Search &amp;amp; radar responses are CDN-cached for 5 minutes (&lt;code&gt;cache-control: public, max-age=300&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Formats&lt;/td&gt;
&lt;td&gt;JSON, RSS 2.0, plain text&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Machine-readable spec&lt;/td&gt;
&lt;td&gt;`&lt;code&gt;/openapi.json&lt;/code&gt; — OpenAPI 3.1`&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data sources&lt;/td&gt;
&lt;td&gt;USITC HTS (US government, public domain); Federal Register notices&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Endpoints
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Search HTS codes — &lt;code&gt;GET /api/hts/search&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Full-text search over the complete US HTS 8-digit table (5,689 lines, synced from USITC). Match by code prefix (dots optional) or description keyword. Returns up to 12 results, code-prefix hits ranked first.&lt;/p&gt;

&lt;p&gt;`&lt;code&gt;&lt;/code&gt;bash&lt;/p&gt;

&lt;h1&gt;
  
  
  by code prefix
&lt;/h1&gt;

&lt;p&gt;curl "&lt;a href="https://invoicetariff.com/api/hts/search?q=8471" rel="noopener noreferrer"&gt;https://invoicetariff.com/api/hts/search?q=8471&lt;/a&gt;"&lt;/p&gt;

&lt;h1&gt;
  
  
  by keyword
&lt;/h1&gt;

&lt;p&gt;curl "&lt;a href="https://invoicetariff.com/api/hts/search?q=lithium" rel="noopener noreferrer"&gt;https://invoicetariff.com/api/hts/search?q=lithium&lt;/a&gt;"&lt;br&gt;
&lt;code&gt;&lt;/code&gt;`&lt;/p&gt;

&lt;p&gt;Response (real example, keyword &lt;code&gt;lithium&lt;/code&gt;):&lt;/p&gt;

&lt;p&gt;&lt;code&gt;`json&lt;br&gt;
{&lt;br&gt;
  "ok": true,&lt;br&gt;
  "results": [&lt;br&gt;
    {&lt;br&gt;
      "hts8": "28369100",&lt;br&gt;
      "description": "Carbonates; peroxocarbonates (percarbonates); commercial ammonium carbonate containing ammonium carbamate: — Other: — Lithium carbonates",&lt;br&gt;
      "general": "3.7%"&lt;br&gt;
    },&lt;br&gt;
    {&lt;br&gt;
      "hts8": "85065000",&lt;br&gt;
      "description": "Primary cells and primary batteries; parts thereof: — Lithium",&lt;br&gt;
      "general": "2.7%"&lt;br&gt;
    }&lt;br&gt;
  ]&lt;br&gt;
}&lt;br&gt;
`&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;hts8&lt;/code&gt; — 8-digit code, digits only (insert a dot after the first six for display: &lt;code&gt;2836.91.00&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;general&lt;/code&gt; — Column 1 general duty rate exactly as printed in the HTS (&lt;code&gt;Free&lt;/code&gt;, &lt;code&gt;2.7%&lt;/code&gt;, compound expressions like &lt;code&gt;6.5% + 37.5¢/kg&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Exceed 30 requests/min and you get &lt;code&gt;429&lt;/code&gt; with &lt;code&gt;{"ok": false, "error": "rate_limited"}&lt;/code&gt; and a &lt;code&gt;retry-after&lt;/code&gt; header.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Tariff radar updates — &lt;code&gt;GET /api/radar/updates&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;A pipeline scans the US Federal Register every 12 hours and digests tariff-relevant notices into structured entries: effective dates, affected HTS scope, old → new values where applicable, and links to the official document. Add an RSS reader and you never miss a change; consume the JSON and you can route them into Slack, ERP, or an AI agent.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;`bash&lt;br&gt;
curl "https://invoicetariff.com/api/radar/updates"        # all entries, newest first&lt;br&gt;
curl "https://invoicetariff.com/api/radar/updates?id=2026-09-15-2026-18834"  # single entry&lt;br&gt;
`&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Response shape (real example, truncated):&lt;/p&gt;

&lt;p&gt;&lt;code&gt;`json&lt;br&gt;
{&lt;br&gt;
  "ok": true,&lt;br&gt;
  "entries": [&lt;br&gt;
    {&lt;br&gt;
      "id": "2026-09-15-2026-18834",&lt;br&gt;
      "date": "2026-09-15",&lt;br&gt;
      "layer": "mfn",&lt;br&gt;
      "status": "published",&lt;br&gt;
      "title": "Accreditation and Approval of Bennett Testing Service, Inc. (Rahway, NJ), as a Commercial Gauger and Laboratory",&lt;br&gt;
      "titleEn": "…same…",&lt;br&gt;
      "summaryEn": "Notice is hereby given, pursuant to CBP regulations, that Bennett Testing Service, Inc. …",&lt;br&gt;
      "affectedHtsEn": "See document",&lt;br&gt;
      "affectedCount": null,&lt;br&gt;
      "changes": [],&lt;br&gt;
      "sources": [&lt;br&gt;
        { "title": "Federal Register 2026-18834 — …", "url": "https://www.federalregister.gov/documents/2026/09/15/2026-18834/…" }&lt;br&gt;
      ]&lt;br&gt;
    }&lt;br&gt;
  ]&lt;br&gt;
}&lt;br&gt;
`&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Field notes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;layer&lt;/code&gt; — which tariff layer is affected: &lt;code&gt;mfn&lt;/code&gt;, &lt;code&gt;china301&lt;/code&gt;, &lt;code&gt;global301&lt;/code&gt;, &lt;code&gt;section232&lt;/code&gt;, &lt;code&gt;section338&lt;/code&gt;, &lt;code&gt;fees&lt;/code&gt;, &lt;code&gt;ieepa&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;status&lt;/code&gt; — &lt;code&gt;published&lt;/code&gt; (effective), &lt;code&gt;upcoming&lt;/code&gt; (announced, future date), &lt;code&gt;historical&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;changes&lt;/code&gt; — array of &lt;code&gt;{label, oldValue, newValue}&lt;/code&gt; (+ &lt;code&gt;*En&lt;/code&gt; variants) when the notice changes numeric values.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;sources&lt;/code&gt; — official Federal Register / agency links. Always cite the source, not just the digest.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Prefer RSS? Same data at &lt;code&gt;https://invoicetariff.com/radar/feed.xml&lt;/code&gt; (RSS 2.0).&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Visitor country — &lt;code&gt;GET /api/geo&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Returns the caller's ISO-3166 alpha-2 country as detected at the CDN edge (&lt;code&gt;null&lt;/code&gt; when unavailable). Handy as a lightweight geo fallback.&lt;/p&gt;

&lt;p&gt;`&lt;code&gt;&lt;/code&gt;bash&lt;br&gt;
curl "&lt;a href="https://invoicetariff.com/api/geo" rel="noopener noreferrer"&gt;https://invoicetariff.com/api/geo&lt;/a&gt;"&lt;/p&gt;

&lt;h1&gt;
  
  
  {"country":"US"}
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;`&lt;/p&gt;

&lt;h3&gt;
  
  
  4. LLM-friendly indexes — &lt;code&gt;GET /llms.txt&lt;/code&gt;, &lt;code&gt;GET /llms-full.txt&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Following the &lt;a href="https://llmstxt.org" rel="noopener noreferrer"&gt;llms.txt convention&lt;/a&gt;, the site publishes a markdown index of its pages and data endpoints for AI agents. Point your agent at &lt;code&gt;https://invoicetariff.com/llms.txt&lt;/code&gt; and it can discover the calculator, the HTS browser, and the API without a human.&lt;/p&gt;

&lt;h2&gt;
  
  
  Minimal client examples
&lt;/h2&gt;

&lt;p&gt;Python (3.8+):&lt;/p&gt;

&lt;p&gt;`&lt;code&gt;&lt;/code&gt;python&lt;br&gt;
import requests&lt;/p&gt;

&lt;p&gt;BASE = "&lt;a href="https://invoicetariff.com" rel="noopener noreferrer"&gt;https://invoicetariff.com&lt;/a&gt;"&lt;/p&gt;

&lt;p&gt;def find_hts(keyword: str):&lt;br&gt;
    r = requests.get(f"{BASE}/api/hts/search", params={"q": keyword}, timeout=10)&lt;br&gt;
    r.raise_for_status()&lt;br&gt;
    return r.json()["results"]&lt;/p&gt;

&lt;p&gt;def tariff_watch():&lt;br&gt;
    r = requests.get(f"{BASE}/api/radar/updates", timeout=10)&lt;br&gt;
    r.raise_for_status()&lt;br&gt;
    for e in r.json()["entries"]:&lt;br&gt;
        if e["layer"] in ("china301", "global301") and e["status"] == "upcoming":&lt;br&gt;
            print(e["date"], e["titleEn"], e["sources"][0]["url"])&lt;/p&gt;

&lt;p&gt;if &lt;strong&gt;name&lt;/strong&gt; == "&lt;strong&gt;main&lt;/strong&gt;":&lt;br&gt;
    for hit in find_hts("lithium"):&lt;br&gt;
        print(hit["hts8"], hit["general"], hit["description"][:60])&lt;br&gt;
&lt;code&gt;&lt;/code&gt;`&lt;/p&gt;

&lt;p&gt;JavaScript / TypeScript:&lt;/p&gt;

&lt;p&gt;`&lt;code&gt;&lt;/code&gt;ts&lt;br&gt;
const BASE = "&lt;a href="https://invoicetariff.com" rel="noopener noreferrer"&gt;https://invoicetariff.com&lt;/a&gt;";&lt;/p&gt;

&lt;p&gt;export async function findHts(q: string) {&lt;br&gt;
  const res = await fetch(&lt;code&gt;${BASE}/api/hts/search?q=${encodeURIComponent(q)}&lt;/code&gt;);&lt;br&gt;
  if (res.status === 429) throw new Error(&lt;code&gt;rate limited, retry after ${res.headers.get("retry-after")}s&lt;/code&gt;);&lt;br&gt;
  const { results } = await res.json();&lt;br&gt;
  return results;&lt;br&gt;
}&lt;br&gt;
&lt;code&gt;&lt;/code&gt;`&lt;/p&gt;

&lt;h2&gt;
  
  
  What this API is (and isn't)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Read-only reference data.&lt;/strong&gt; It exposes HTS lookup and tariff-change monitoring. It does not compute your full landed cost — that logic (MFN + 301 + 232 + IEEPA stacking, MPF/HMF fees, multi-destination VAT) runs client-side in the &lt;code&gt;free calculator&lt;/code&gt; or batch mode.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A full programmatic calculation API is planned.&lt;/strong&gt; If you need &lt;code&gt;goods value + HTS + destination → landed cost&lt;/code&gt; as an endpoint, join the waitlist at &lt;code&gt;invoicetariff.com/api-waitlist&lt;/code&gt; — it shapes the roadmap.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rates are official but not legal advice.&lt;/strong&gt; Data comes from USITC and the Federal Register; always confirm against the official sources linked in each radar entry before clearing customs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenAPI 3.1 spec: &lt;code&gt;https://invoicetariff.com/openapi.json&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Site (free, bilingual EN/中文): &lt;code&gt;https://invoicetariff.com&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;HTS browser: &lt;code&gt;https://invoicetariff.com/en/hts&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Tariff radar page + RSS: &lt;code&gt;https://invoicetariff.com/en/radar&lt;/code&gt; · &lt;code&gt;https://invoicetariff.com/radar/feed.xml&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;LLM index: &lt;code&gt;https://invoicetariff.com/llms.txt&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>api</category>
      <category>ecommerce</category>
      <category>python</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Is your product hit by the 2026 "global" Section 301 tariff? A 9-step check before you place the PO</title>
      <dc:creator>InvoiceTariff</dc:creator>
      <pubDate>Thu, 10 Sep 2026 00:40:30 +0000</pubDate>
      <link>https://dev.to/invoicetariff/is-your-product-hit-by-the-2026-global-section-301-tariff-a-9-step-check-before-you-place-the-po-11ic</link>
      <guid>https://dev.to/invoicetariff/is-your-product-hit-by-the-2026-global-section-301-tariff-a-9-step-check-before-you-place-the-po-11ic</guid>
      <description>&lt;p&gt;Since July 24, 2026, a new tariff layer applies to goods from &lt;strong&gt;60 economies&lt;/strong&gt; — and in my experience talking to small importers, most of them found out the hard way: the quote looked fine, then the entry summary came back with a charge nobody budgeted for. This is the "global" Section 301 program (the forced-labor one, Federal Register 2026-15181), and it is &lt;strong&gt;separate&lt;/strong&gt; from the older China Section 301 lists.&lt;/p&gt;

&lt;p&gt;Last week I wrote about the five duty layers in a landed-cost calculation. Today, a concrete pre-order check: how to tell in about 15 minutes whether this new layer hits your product, and how much it actually adds.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Nail down the 10-digit HTS code
&lt;/h2&gt;

&lt;p&gt;Everything starts with classification. Get the exact 10-digit HTS code from your supplier — in writing. A 6-digit guess is not enough, because the exemptions and the Chapter 99 surcharge lines live at the 8–10 digit level. If two suppliers quote you "the same" product under different codes, resolve that disagreement before you compute anything.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Confirm true country of origin
&lt;/h2&gt;

&lt;p&gt;Origin is where the goods were &lt;strong&gt;grown, manufactured, or substantially transformed&lt;/strong&gt; — not where they were shipped from. A Vietnamese-assembled product using Chinese components may or may not be Vietnamese origin; a Malaysian-traded Chinese-made good is still Chinese origin. When in doubt, your customs broker can make a formal determination. Getting this wrong poisons every later step.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Check whether Section 232 covers your product (if yes, you may be exempt)
&lt;/h2&gt;

&lt;p&gt;This surprises people: goods covered by the Section 232 sectoral tariffs — steel, aluminum, copper and derivatives, passenger cars/light trucks and parts, wood products, medium/heavy trucks and parts, semiconductors — are &lt;strong&gt;exempt from the global 301 layer&lt;/strong&gt;, regardless of origin country. The two programs don't stack. So before you panic about the 12.5% tier, check whether your HTS line already falls under a 232 action.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Find your country's tier
&lt;/h2&gt;

&lt;p&gt;The program has four tiers:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tier&lt;/th&gt;
&lt;th&gt;Economies (examples)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;10% flat (17)&lt;/td&gt;
&lt;td&gt;India, Indonesia, Malaysia, Mexico, Canada, UK, Pakistan, Sri Lanka…&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10% &lt;em&gt;cap&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;European Union (all 27), Taiwan&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12.5% &lt;em&gt;cap&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;Japan, South Korea, Switzerland&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12.5% flat (38)&lt;/td&gt;
&lt;td&gt;China, Vietnam, Thailand, Brazil, Hong Kong, Singapore, Türkiye, Australia…&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The "cap" tiers are &lt;strong&gt;net of MFN&lt;/strong&gt;: the MFN duty plus the 301 surcharge combined cannot exceed 10% (or 12.5%). So a German machine part with a 2.5% MFN rate gets 7.5% added; a line with a 10%+ MFN rate gets &lt;strong&gt;zero&lt;/strong&gt; added. Flat tiers just stack on top, period.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: If you import from Canada or Mexico — check USMCA eligibility
&lt;/h2&gt;

&lt;p&gt;Goods from Canada or Mexico that qualify for USMCA duty-free treatment are exempt from the global 301 layer. The importer claims this eligibility, so make sure your supplier documentation actually supports a USMCA claim (certification of origin, tariff shift rules). Don't assume — verify, or skip the exemption.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Scan the exclusion lists
&lt;/h2&gt;

&lt;p&gt;Two kinds of carve-outs exist in U.S. note 52 of the Federal Register notice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;General product exclusions&lt;/strong&gt; — 16 specific commodity lines (etrogs, frozen tropical fruit, sowing seeds, açaí, single-strength citrus juice, coconut water, eucalyptus plywood, and similar). Narrow, but worth a scan.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Per-economy product lists&lt;/strong&gt; — Annex II of the notice lists product exemptions for specific countries (UK, EU, Switzerland, Taiwan, and others).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The authoritative source is the HTS Chapter 99, Subchapter III text on &lt;a href="https://hts.usitc.gov" rel="noopener noreferrer"&gt;hts.usitc.gov&lt;/a&gt; — search your 10-digit code and read the Chapter 99 references that come back.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 7: Stack the layers — and watch China
&lt;/h2&gt;

&lt;p&gt;For &lt;strong&gt;China origin&lt;/strong&gt;, the new 12.5% global 301 layer stacks &lt;strong&gt;on top of&lt;/strong&gt; the existing China Section 301 lists (the 7.5%–25% List 1–4A rates) and on top of MFN. A product that was "25% tariffed" last year can now carry meaningfully more. Also note: the existing China 301 exclusion lists are scheduled to expire November 10, 2026 — if your product currently relies on an exclusion, diarize that date.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 8: Mind the special cases
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;In-transit relief&lt;/strong&gt;: goods loaded before July 24 and entered before July 28, 12:01 a.m. ET escaped the layer. Only relevant for shipments in the pipeline at announcement time, but worth knowing if you're auditing old entries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Textile TRQs pending&lt;/strong&gt;: Bangladesh, Cambodia, Indonesia, and Malaysia are supposed to get tariff-rate quotas for apparel; until USTR establishes them, the flat 10% applies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Canada has an extra layer&lt;/strong&gt;: separate proclamations under Section 338 add a &lt;strong&gt;50% surcharge&lt;/strong&gt; on Canadian autos, dairy, and alcohol (effective August 22, 2026) — with &lt;strong&gt;no USMCA exemption&lt;/strong&gt;, unlike the global 301 layer. If you import Canadian wine, maple-adjacent dairy, or vehicle parts, read the Annex II scope carefully; 232-covered goods are again excluded.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Caps on compound duties&lt;/strong&gt;: for the capped tiers, compound MFN duties are reduced to their ad-valorem equivalent first. This is fiddly math — most calculators (and some brokers) get it wrong.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 9: Recompute your margin at the landed number
&lt;/h2&gt;

&lt;p&gt;Add the layers to MFN, add MPF (0.3464%, min/max apply) and freight, and re-run your unit economics at that number — not at invoice value, and not at last quarter's rate sheet. Then screenshot or print your calculation with the date on it: when a rate changes, you'll want to know which quotes were priced on which rule snapshot.&lt;/p&gt;

&lt;h2&gt;
  
  
  The honest caveats
&lt;/h2&gt;

&lt;p&gt;This program is already being litigated at the Court of International Trade, and rates have been adjusted by proclamation more than once since July. Whatever you compute today, treat it as a snapshot: &lt;strong&gt;verify the rates the week you place the order&lt;/strong&gt;, not the week you read a blog post (including this one).&lt;/p&gt;

&lt;p&gt;I maintain a versioned tariff rule database for a living — we built &lt;strong&gt;InvoiceTariff&lt;/strong&gt; precisely because static spreadsheets kept rotting — and even we re-verify against the Federal Register text every time the radar flags a change. The method above is the same one we walk through; do it manually once and you'll never look at a supplier quote the same way again.&lt;/p&gt;




</description>
      <category>ecommerce</category>
      <category>tariffs</category>
      <category>supplychain</category>
      <category>smallbusiness</category>
    </item>
    <item>
      <title>How I calculate landed cost for small US imports — a 2026 founder's guide</title>
      <dc:creator>InvoiceTariff</dc:creator>
      <pubDate>Wed, 09 Sep 2026 02:24:25 +0000</pubDate>
      <link>https://dev.to/invoicetariff/how-i-calculate-landed-cost-for-small-us-imports-a-2026-founders-guide-2h4c</link>
      <guid>https://dev.to/invoicetariff/how-i-calculate-landed-cost-for-small-us-imports-a-2026-founders-guide-2h4c</guid>
      <description>&lt;p&gt;Last year I helped a friend import a small batch of phone accessories from Shenzhen to the US. The quote from her supplier looked great — until the shipment got stuck in customs with a bill she never saw coming. That experience sent me down a rabbit hole, and I want to share what I learned about calculating &lt;strong&gt;true landed cost&lt;/strong&gt; in 2026, because the rules changed dramatically in the past two years.&lt;/p&gt;

&lt;h2&gt;
  
  
  The five layers you actually pay
&lt;/h2&gt;

&lt;p&gt;When people say "tariff", they usually mean just one layer. In reality, for most goods entering the US, you pay up to five:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;MFN duty&lt;/strong&gt; — the baseline rate from the HTS code. Check it free on the &lt;a href="https://hts.usitc.gov" rel="noopener noreferrer"&gt;USITC HTS search&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Section 301 China tariff&lt;/strong&gt; — if the product is China-origin, an additional 7.5%–25% applies to thousands of HTS lines. This is where most surprises happen.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reciprocal/global tariffs (2025–2026 layer)&lt;/strong&gt; — the 2025 executive orders added country-level ad valorem tariffs that stack on top of #1 and #2. Rates have shifted several times, so check the current snapshot before ordering.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MPF/HMF&lt;/strong&gt; — the merchandise processing fee (0.3464%, min/max apply) for ocean/air entries. Small but real.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State sales/use tax &amp;amp; last-mile&lt;/strong&gt; — not customs, but part of true landed cost.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  A worked example
&lt;/h2&gt;

&lt;p&gt;Say you import $4,000 of LED desk lamps (HTS 9405.XX, China origin):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Rate&lt;/th&gt;
&lt;th&gt;Amount&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Invoice value&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;$4,000.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MFN duty&lt;/td&gt;
&lt;td&gt;~3.9%&lt;/td&gt;
&lt;td&gt;$156.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Section 301&lt;/td&gt;
&lt;td&gt;25% (List 3)&lt;/td&gt;
&lt;td&gt;$1,000.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reciprocal layer&lt;/td&gt;
&lt;td&gt;current snapshot rate&lt;/td&gt;
&lt;td&gt;varies&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MPF&lt;/td&gt;
&lt;td&gt;0.3464%&lt;/td&gt;
&lt;td&gt;$13.86&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That "cheap" order carries &lt;strong&gt;30%+ in duty layers&lt;/strong&gt; before it leaves the port. If your margin math assumed invoice value + 10% shipping, you're underwater.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three lessons I learned the hard way
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Your supplier's HS code suggestion is a starting point, not gospel.&lt;/strong&gt; Classification drives everything. A "lamp" classified under 9405 vs 8513 can differ by tens of percent in total duty. When in doubt, get a binding ruling or ask your broker in writing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. De minimis is not a strategy.&lt;/strong&gt; The $800 de minimis exemption that fueled years of direct-from-China parcels has been tightened for covered-origin goods; building your unit economics on it is building on sand. Check the current de minimis policy per origin country every time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Automate the boring math.&lt;/strong&gt; I built a spreadsheet first, then realized the rates change so often that a static sheet rots within weeks. Rule tables need versioning and a changelog — which is why we ended up building &lt;strong&gt;InvoiceTariff&lt;/strong&gt;, a free calculator with a versioned rule base (more on that in a future post; this one is deliberately method-first).&lt;/p&gt;

&lt;h2&gt;
  
  
  Your 10-minute pre-order checklist
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Get the exact HTS code from your supplier — in writing&lt;/li&gt;
&lt;li&gt;[ ] Look up MFN rate on USITC (free, 2 min)&lt;/li&gt;
&lt;li&gt;[ ] Check whether Section 301 applies to that HTS line for your origin country&lt;/li&gt;
&lt;li&gt;[ ] Check the current reciprocal-tariff snapshot for the origin country&lt;/li&gt;
&lt;li&gt;[ ] Add MPF (0.3464%) + freight + insurance&lt;/li&gt;
&lt;li&gt;[ ] Recompute your margin at the &lt;em&gt;landed&lt;/em&gt; number, not invoice value&lt;/li&gt;
&lt;/ul&gt;




</description>
      <category>ecommerce</category>
      <category>tariffs</category>
      <category>supplychain</category>
      <category>smallbusiness</category>
    </item>
  </channel>
</rss>
