Trimtabist
The independent record of what US trade rules required and what importers were actually billed — and a free check of any customs entry you have filed against it.

How a line is priced

Two numbers sit on every line and they are not the same kind of thing. One was counted by somebody else. The other we built by reading the schedule. This page is how the second one is built, and what happens on the lines where it cannot be built at all.

The arithmetic, in the order it is applied

the rate the schedule required =
  Column 1 General rate (the ordinary base rate)
+ Section 232   + Section 301   + IEEPA
+ the country measure under Chapter 99   + Section 122

Every term is read at the entry’s own month and origin, not at today’s. That is the whole difficulty: a line entered in April 2025 and the identical line entered in June 2026 are governed by different law, and a lookup tool that reads today’s schedule gets the first one wrong. The Section 232 carve-out is applied where it belongs, so a product that merely contains the metal (a “derivative article”) is not charged twice on its metal content.

The schedule we read
2026HTSRev21 · 29,861 lines
Chapter 99 measures mapped
601, across 75,504 code entries, each traced to its Federal Register document
Lines priced this way
1,401,940 — 17,517 ten-digit codes × 10 origins × every month from January 2024 to August 2026
The other number
Duty assessed at entry ÷ dutiable value, counted by US Census. 20,243,684 measured lines, January 2017 onward. Nothing built on top of it.
Which is which, always
One of the two numbers on every line was counted by a named body. The other we built by reading law. We never quote the second as though somebody measured it, and we never mix the two silently.

Scope, because it is not national
Canada, China, Germany, India, Japan, Mexico, South Korea, Taiwan, Thailand, Vietnam — and only the lines Chapter 99 reaches. Any figure from the book we built is an in-scope figure and is labelled one.

What “could not be priced” means

This is the part worth arguing with, so it is stated in full rather than softened. On 389,721 of 1,401,940 lines — 27.8% — the public record does not settle the rate. Not because the data is missing: because the rule turns on a fact that only the filed entry declares. Those lines get an interval — the lowest and highest rate the rule could produce — and a named reason, and they are not dropped.

A count of lines and a share of money are different claims, so here is the second one too. In August 2026 those lines carry $58.95bn of the $91.67bn of dutiable value we can see — 64.3%. The share of money is the larger of the two, and it is the one printed wherever a page has room for only one.

why the rate cannot be settled from public recordslines
per-entry declaration not carried by monthly receipts240,848
General-column month component: general month unverified; 2026-07-01: boundary_entry_clock_required; complete dated duty and eligibility are not certified55,655
the General duty source includes a per-unit component; its percentage or a numeric ancestor is not a complete MFN rate21,158
vehicle/parts admission unresolved (original entry day and product context unverified): automobile parts; missing: vehicle type and passenger/light/medium-heavy product or parts use, dated classification and selected-claim activation, origin/MFN and certification eligibility, approved non-US content, manufacturer offset or other relief, original entry, warehouse/FTZ and boundary-clock context, complete coupled duty composition17,180
vehicle/parts admission unresolved (original entry day and product context unverified): automobile parts, medium/heavy vehicle parts; missing: vehicle type and passenger/light/medium-heavy product or parts use, dated classification and selected-claim activation, origin/MFN and certification eligibility, approved non-US content, manufacturer offset or other relief, original entry, warehouse/FTZ and boundary-clock context, complete coupled duty composition13,163
current joint-duty composition is unpriced (complete branch conditions unverified): metal or wood attachment, material origin/content, product use, approved relief and the country-duty carve-out must be established together; a declared heading or an independent component range does not establish a complete duty or bound8,201
metal share of article WEIGHT, U.S. note 16(c): outside ch.72/73/74/76 the heading applies only at >=15%7,891
USTR exclusion claim, U.S. note 20(dd)/(vvv): relief applies only where the importer entered under the exclusion heading4,885
metal share of article WEIGHT, U.S. note 16(c): outside ch.72/73/74/76 the heading applies only at >=15% + US-melted-and-poured share, U.S. note 16(e)/(f); 9903.82.07/.08 at 10% vs 9903.82.10/.11 at 15%2,558
other article/use/sector/Chapter98 exemptions not established; qualifying USMCA claim not established; qualifying duty-free USMCA claim and MFN preference not established2,522
programme admission unresolved: Japan leather and footwear (product and complete composition unverified); missing: covered product kind and named footwear exclusions, dated complete cumulative composition2,066
vehicle/parts admission unresolved (original entry day and product context unverified): legacy vehicle classification approximation; missing: vehicle type and passenger/light/medium-heavy product or parts use, dated classification and selected-claim activation, origin/MFN and certification eligibility, approved non-US content, manufacturer offset or other relief, original entry, warehouse/FTZ and boundary-clock context, complete coupled duty composition1,772
vehicle/parts admission unresolved (original entry day and product context unverified): passenger/light vehicles; missing: vehicle type and passenger/light/medium-heavy product or parts use, dated classification and selected-claim activation, origin/MFN and certification eligibility, approved non-US content, manufacturer offset or other relief, original entry, warehouse/FTZ and boundary-clock context, complete coupled duty composition1,731
General-column month component: general month unverified; 2026-08-01: general_context_unverified; complete dated duty and eligibility are not certified1,724
other article/use/sector/Chapter98 exemptions not established; qualifying USMCA claim not established1,594
vehicle/parts admission unresolved (original entry day and product context unverified): medium/heavy vehicle parts; missing: vehicle type and passenger/light/medium-heavy product or parts use, dated classification and selected-claim activation, origin/MFN and certification eligibility, approved non-US content, manufacturer offset or other relief, original entry, warehouse/FTZ and boundary-clock context, complete coupled duty composition985
General-column month component: general month unverified; 2026-08-01: specific_general; complete dated duty and eligibility are not certified960
Section301 monthly source unverified on 2026-08-01: no active List, explicit primary absence or active review tranche; a historical receipt estimate or missing-row zero cannot establish the duty872
General-column month component: general month unverified; 2026-08-01: compound_general; complete dated duty and eligibility are not certified801
Note39 semiconductor technical parameters and intended-use conditions are not established; classification, a declared heading or its absence cannot certify the whole-line duty578
vehicle/parts admission unresolved (original entry day and product context unverified): medium/heavy vehicles; missing: vehicle type and passenger/light/medium-heavy product or parts use, dated classification and selected-claim activation, origin/MFN and certification eligibility, approved non-US content, manufacturer offset or other relief, original entry, warehouse/FTZ and boundary-clock context, complete coupled duty composition508
Canada Section 338: missing entry day; component scope/bounds do not certify eligibility, admissibility or complete duty; missing: entry day, entry time eastern at boundary495
General-column month component: general month unverified; 2026-08-01: flagged_general; complete dated duty and eligibility are not certified459
General-column month component: general month unverified; 2026-08-01: classification_absent; complete dated duty and eligibility are not certified287
USMCA non-US-content share, 9903.94.03 / U.S. note 33(d)277
General-column month component: general month unverified; 2026-07-01: ten_digit_ordinary_classification_required; complete dated duty and eligibility are not certified133
pharmaceutical/company/use/source or entry-time facts unresolved124
vehicle/parts admission unresolved (original entry day and product context unverified): buses and other listed vehicles; missing: vehicle type and passenger/light/medium-heavy product or parts use, dated classification and selected-claim activation, origin/MFN and certification eligibility, approved non-US content, manufacturer offset or other relief, original entry, warehouse/FTZ and boundary-clock context, complete coupled duty composition69
enteral-syringe carve-out 9903.91.10; scope not enumerated61
General-column month component: general month unverified; 2026-08-01: ten_digit_ordinary_classification_required; complete dated duty and eligibility are not certified58
qualifying duty-free USMCA claim and MFN preference not established49
programme admission unresolved: quartz surface safeguard (entry day or boundary clock required); missing: material/product scope, QSP-only value, quota allocation and rollover19
vehicle/parts admission unresolved (original entry day and product context unverified): medium/heavy vehicles, passenger/light vehicles; missing: vehicle type and passenger/light/medium-heavy product or parts use, dated classification and selected-claim activation, origin/MFN and certification eligibility, approved non-US content, manufacturer offset or other relief, original entry, warehouse/FTZ and boundary-clock context, complete coupled duty composition19
pharmaceutical/company/use/source or entry-time facts unresolved; qualifying duty-free USMCA claim and MFN preference not established9
General-column month component: general month unverified; 2026-08-01: chapter2_context_unverified; complete dated duty and eligibility are not certified6
vehicle/parts admission unresolved (original entry day and product context unverified): automobile parts, medium/heavy vehicle parts, medium/heavy vehicles; missing: vehicle type and passenger/light/medium-heavy product or parts use, dated classification and selected-claim activation, origin/MFN and certification eligibility, approved non-US content, manufacturer offset or other relief, original entry, warehouse/FTZ and boundary-clock context, complete coupled duty composition4
Settled from the public record1,012,219

Dropping them would be the easy move and it would flatter us: a smaller denominator makes the remaining agreement look tighter than it is. They stay. A count of lines we could not price cannot be wrong — which is why it is the more defensible half of what we publish, and why it is printed in the same typography as the lines that agree.

It is also the reason the check asks for your document. Your own entry is the only thing that resolves a line like this: it is the form that declares the metal share, the exclusion, or the US content.

How a rate for a whole era is put together

A rate for one line is a division. A rate for a country, a chapter or an era is an index number — and an index number is not just a bigger division. Three choices sit inside it, each defensible, each moving the answer. We publish all three rather than leave a reader to guess.

What goes underneath Value that owed duty. Dividing by all import value instead gives a number less than half as large for the same month.
Which period is the yardstick 2024, unchained. About 2.7 points move across four defensible choices of base.
How finely the data is cut Origin and six-digit code — the finest the ledger supports. Cutting by origin alone moves the answer about 1.2 points.

The plain average of a rate across an era uses that era’s own import mix. That is the right answer to “what was charged on what actually arrived”, and the wrong answer to “what did the rulebook cost”. When a tariff rises, imports move away from what it hits, so the later average is taken on a basket that has already dodged part of the increase. On this ledger that understates a fixed basket by roughly 16% cutting by origin and 30% cutting by origin and product.

So we publish a Fisher index beside it — the same comparison run on the old basket and on the new one, then combined. It is superlative: the price part and the quantity part separate exactly, rather than by a convention someone picked. We do not publish its usual companion, a Törnqvist index: 2024 rates sit near zero for many cells because those tariffs did not exist yet, and an index built on log changes is unstable against a near-zero base. Tested here, it fell outside the bracket its own two halves define, which disqualifies it.

Falsify it

Two breaks in the record, both real

April and May 2025 are 100% unpriceable on China : the required rate moved 34% → 84% → 125% → 10% inside two months, and monthly receipts cannot say which one a given entry met. That is a real property of that window, not a gap in our data collection.

A second break at April 2026, as the Proc. 11021 metal tiers and the USMCA content band take effect. A chart drawn straight across either of those points is drawing a line through a change of law.

Send one entry

The arithmetic above is what runs on a real entry, line by line, at each line’s own date and origin — including the lines it refuses to price.

Check one of your own entries

Free. No account. We do not file with CBP and take no fee on anything you recover. Your file is read on our own server and is never sold or shared.

try it on one code · the national number · the test we failed, and the conflict · what we got wrong