Section 232 customs declarations (232SAD)
Written 2026-07-23, after the ST728704 border hold (2026-07-21, entry
F57-6255079-0, broker Willson International). Companion code: PR #1667
(Declaration232, Declaration232::XlsmWriter,
Pdf::Document::Declaration232); follow-up plan:
doc/tasks/202607231030_232_HTS_WATCHLIST_GUARDRAIL.md.
Facts below (annex membership, rates, reporting rules) were verified
against the June 2026 Annex I-B and July 2026 CBP guidance — they have
an expiry date; re-verify before relying on them.
How the 232SAD is generated
Every delivery that crosses the border into the US — in practice our
Canada → US STs — automatically gets a Section 232 Steel/Aluminum/Copper
Declaration (232SAD) generated at ship-labeling time, alongside the
commercial invoice and BOL. It's only Canada → US: Section 232 is a US
import tariff, so US → Canada shipments get a commercial invoice and
USMCA certificates but no 232SAD.
The form is built line-by-line from the same data as the commercial
invoice, so the declaration always matches the invoice — the mismatch
Willson rejected on ST728704 (a stale form from an October 2025 shipment,
ST711716, that had been re-attached to every border crossing since) can
no longer happen. Two files attach to each delivery: Willson's own Excel
template filled in (declaration_232_xlsm, macros and dropdowns intact,
ready to forward if the broker asks), and a PDF copy
(declaration_232_pdf) that prints inside the international forms packet
(all_intl_forms_pdf) handed to the driver.
Each invoice line produces the NON-STEEL/STEEL row pair the template
requires. Steel content comes from per-item fields
(steel_content_value_ratio, steel_content_weight_kg,
steel_melt_pour_coo, on the item Logistics form). All items carried
zero steel as of July 2026, so forms show full value on the NON-STEEL row
and zeros with a blank melt/pour on the STEEL row — the same shape as the
completed declaration Willson accepted when they released ST728704.
Where we stand on Section 232 duties (as of July 2026)
Since April 2026 (Proclamation 11021), whether a product owes Section 232
duty is determined purely by its HTS (Harmonized Tariff Schedule) code
against the US proclamation's product lists — and duty applies to the
full customs value, not just the metal content. None of our HTS codes
appear on the duty annexes, so no WarmlyYours product owes 232 duty
today, and our zero-steel declarations are accurate.
However, duty and paperwork are separate questions. We checked every
production item's HTS code against the screening list in Willson's own
declaration template (the "Steel-Aluminum-Copper" tab), which tracks the
broader "combined derivative" annex where a metal-content breakout is
required even when no duty results:
| HTS | Broker screening | Active SKUs | Products | Canada→US, 12 mo to 2026-07 |
|---|---|---|---|---|
| 8516.29.00.90 | Steel Info Needed | 1,437 | TempZone family + related | constantly (every ST) |
| 8302.49 / 8302.50 | Aluminum Info Needed | 22 | Towel-warmer spares, mounting hardware (TW-, IPE-) | 3 deliveries |
| 7318.14 / 7318.15 | Steel derivative | 4 | Screws, mount kits (genuinely steel) | none |
| 8504.31.40.65 | Aluminum (transformers) | 6 | INTEGRATION-KIT, TR transformers | none |
| 8544.42.9090 | Aluminum + copper reporting from Jul 30, 2026 | 7 | HTM connector cables | none |
| 8544.11.00.50 | Not on the list | — | Snow-melt mats | — |
The first row explains the ST728704 hold completely: Willson's screening
genuinely requires a steel-content breakout for every TempZone line —
they weren't being overcautious. Our steel content is zero, so the
correct declaration (which the system now produces automatically) clears
it.
Ongoing vigilance
- The US adds HTS codes to these lists up to three times a year, so "not
listed" has an expiry date — and nobody will notify us. Realistically
we'd only find out from a held shipment or an unexpected duty charge —
Venu or Heide might
subscribe to CBP's bulletin emails
and re-check our handful of cross-border HTS codes against the
published lists whenever a Section 232 change is announced, or
quarterly. Separately: our system fills in a stored copy of Willson's
declaration form (data/excel/declaration_232_willson.xlsm, currently
the "Revised 06/12/2026" version); if a newer version of that form ever
appears — usually attached to a delivery border hold, like this one
was — the stored copy should get replaced. Copper is the one to watch
longer-term: our snow-melt mats are copper-cored, and copper reporting
began expanding to some insulated-wire HTS codes (not ours, for now) on
July 30, 2026. - Towel-warmer hardware is flagged "Aluminum Info Needed" and does
occasionally ship Canada → US. The item metal-content fields cover
steel only; aluminum fields (smelt/cast countries) are a filed
follow-up (see the watchlist task doc). - If we ever stock new items that genuinely contain steel or aluminum,
the item's metal-content fields must be filled in when the item is
created, or the declaration will understate content on a signed customs
document.
Re-verification checklist (run this when re-surfacing the doc)
- Pull the current Section 232 annexes / CBP FAQ and re-check our
cross-border HTS codes (list above; confirm against
items.harmonization_codefor anything new). - Confirm the vendored Willson template is still the broker's current
revision (revision date is stamped top-right of the declaration
sheet). - Re-run the catalog-vs-broker-list match (SQL in the watchlist task
doc /Declaration232::HtsWatchlistif built by then). - Check whether copper coverage has reached 8544.11 (snow-melt mats) —
if so, copper smelt/cast item fields are required before the next
Canada → US mat shipment.