The brain behind global trade

Classify.
Calculate.
Prove.

Every SKU mapped to its tariff code, its duty rate, and the official schedule it came from. 928,552 national tariff lines, every one sourced.

The store 01

See your whole store, classified.

Paste a store URL. Harmonova returns the tariff code, the duty rate, and the official schedule behind each one.

open reference data·200+ countries·928,552 tariff lines · 149 schedules·100% source-keyed · 94% with a resolvable link

Customs software still runs like it’s 1989

Sourced--:--:-- UTC
Harmonova · 200+ countries
Harmonova

Every line, source verified

Every line hands back a receipt to the official government schedule it came from. source on every line.

RecCalculating duty · 2026

928,552 national tariff lines. 149 national schedules. Full global coverage.

RecFiling a customs entry · 2026

The problem 02

Global trade runs on one code. Most tools still get it wrong.

Classification is where the money leaks. Every number below traces to a primary authority or a named report.

The scale

$34.65T

Global trade in goods and services in 2025. Every shipment of goods needs an HS code, and that code sets the duty.

WTO · World Trade Statistics 2025

The scope

98%

of world merchandise trade moves on HS codes. One nomenclature, maintained by the WCO, used by 200+ countries.

World Customs Organization

The leak

10-digit

200+ countries share the first six digits. Duty is set at the full 10-digit national line. Stop at six and you pay the wrong rate.

World Customs Organization

The penalty

US Customs can charge up to four times the duty for gross-negligent classification, and the full value of the goods for fraud.

19 U.S.C. § 1592

The friction

94%

of cross-border businesses surveyed hit shipping delays from incorrect classification or documentation.

Avalara · Cross-Border Ecommerce 2023/24

The complexity

73%

of product categories now fall into tariff-sensitive classifications after the 2025 tariff changes.

ePost Global, 2025 · 15.6M shipments

The cost

€2B

One EU case. Customs declaration error is not a rounding error - it is duty leakage at scale.

OLAF · EU Court of Justice, C-213/19

Why not just AI

25%general-purpose AI gets the full 10-digit code right just one time in four
44-89%even purpose-built classifiers swing this wide at the 10-digit line

A language model pattern-matches. Harmonova can only return a code that exists in the tariff schedule, and every rate carries the official source and revision it was parsed from.

The legacy problem 03

Customs is stuck in 1989. Your margin pays for it.

Customs today · best guess
VS
Harmonova · every line cited
HARMONOVA HV-1

The capabilities 04

The customs engine, drawn to spec.

928,552 national tariff lines across 149 national schedules. The complete WCO nomenclature everywhere else. Every number traceable to its source.

FIG.01

Straight from the authority

Rates for the seven verified markets come only from the authority that publishes them: USITC, EU TARIC, UK Trade Tariff, CBSA, NZ Customs, ABF, MOF. Beyond those, applied rates are mirrored from World Bank WITS and labelled as such. 100% of rows carry a source key.

$source: USITC
FIG.02

Classification that cannot invent

Product description to HS-6 and full HTS-10, with a confidence score. The classifier can only return a code that exists in the database.

$classify()
FIG.03

Origin-aware duty stack

Section 301, Section 232, IEEPA, free trade agreements. The right stack for the right origin, effective dated.

$origin = CN
FIG.04

Auditable to the revision

Every line records the official schedule and the revision it was parsed from, so a superseded measure is identifiable.

$source + revision
FIG.05

Self-verifying engine

Independent reconciliation against USITC, plus a reference-basket gate that catches drift before you do.

$9/9 agree
FIG.06

Open + API-native

One database, one REST API. A single endpoint classifies, resolves duty, and returns a source for every number.

$REST · /v1

Under the hood 07

A real database, with a guarded model on top.

Harmonova is not an AI guessing at tariffs. The rates are a database - parsed from the schedules governments publish, versioned, receipt on every line. A model proposes the classification; a deterministic guard chain corrects it, labels it, and shows its work.

A database, not a guess

928,552 national tariff lines parsed from the official schedules, versioned, with a source on every line. The rates were never generated - they were published, and we can show you where.

Official sources only

USITC, EU TARIC bulk exports with the publisher's own PGP signature verified on every file, the UK Trade Tariff, and national customs authorities for our seven verified markets. Everywhere else the applied rate is mirrored from World Bank WITS and flagged as a mirror, never presented as that market's law. No bought lists.

Self-verifying

Quality gates freeze a source when its data drifts on sync. Trade remedies are verified against the Federal Register, quoted verbatim. A rate that cannot be proven is served as a floor, never a guess.

Fail-closed by doctrine

A frozen source stops writing. An unproven duty rounds up, never down. A classification the engine doubts is flagged in your face, not smoothed over. Kill switches on every paid path.

01

Source

The official schedules, read from the authorities that publish them. Every line lands with its source, revision and parse date - the receipt exists before the rate does.

02

Verify

Change-rate and drift gates score every sync; a source that moves suspiciously is frozen and paged, not trusted. 70 US trade-remedy orders live, each linked to its Federal Register document number.

03

Classify

A model proposes. A deterministic guard chain corrects: facts stated on the listing beat the model's guess, ties fall to the higher-duty line, and confidence is earned per row - then labelled as model output, always.

04

Price

Landed duty to the national line, including the 3,456 formula duties simple tools skip - per hectolitre, per 100 kg, composite - plus screening against 36,817 denied parties on seven sanctions lists.

928,552
national tariff lines
149
national schedules
106,600
lines at 10-digit depth
5,635
six-digit headings
58
remedy orders with an FR document ref
3,456
lines with a stored duty formula
36,828
denied parties screened
198
de-minimis markets
2,873
automated tests
89,800+
lines of TypeScript

Built on a best-in-class stack

TypeScriptstrict, end to end
Next.jssite + portal
Reactthe product surface
Tailwindone token language
Postgres · Neonthe sourced database
Fly.ioSydney region
Cloudflareedge network
Anthropicmodel calls, zero data retention
Vitest2,873 tests
GitHub ActionsCI + scheduled syncs

The doctrine is fail-closed. A source that drifts is frozen, not trusted. A duty we cannot prove is a floor, never a guess. A classification the engine doubts is flagged, never smoothed over. And the model never files anything: it proposes, the record shows why, and you decide.

The data engine 05

Every duty. Every market. Traced to source.

Every rate comes from the government that set it, and carries the schedule it was parsed from. 928,552 national tariff lines across 149 national schedules. The complete Harmonized System behind 200+ countries.

correction loop · every correction is reviewed before it lands
Harmonovathe verified duty engine
Coverage149 national schedules · HS-6 worldwide
Official-source engineseven markets from the authority that set it
Quote engineproduct → landed cost
Full national depth7 markets · 99%+
United States
100%
Canada
100%
New Zealand
100%
Australia
100%
Japan
100%
European Union
100%
United Kingdom
100%
Official sourcesUSITC · TARIC · CBSA · ABF01
Adaptersparse each official schedule02
Quality gaterejects + freezes bad batches03
Verified databaseevery line cites its schedule and revision04
Productany SKU or description01
HS classificationonly codes that exist in the schedule02
Landed costduty + tax + fees + stacking03
Scored resulta source on every line04
Provenance gateevery line carries its source
harmonova.db · duty linessource-verified

Sample of stored duty lines with their official source: US 6109.10.00 16.5%, source usitc-hts; CA 6109.10.00.00 18%, source ca-cbsa; EU 6109100010 12%, source eu-taric; GB 6109100010 12%, source uk-tariff; JP 6109.10.010 10.9%, source jp-customs; NZ 6109.10.00 10.0%, source nz-customs; AU 6109.10.00 5%, source au-abf; US 6204.11.00.00 14%, source usitc-hts; CA 6204.11.00.00 18%, source ca-cbsa; EU 6204120010 12%, source eu-taric; JP 6203.11.100 16%, source jp-customs; GB 6203191000 12%, source uk-tariff; US 4202.12.21 20%, source usitc-hts; AU 6402.12.00 Free, source au-abf.

Sources: USITC · TAXUD · HMRC · MOF JP · CBSA · NZ Customs · ABF

Swipe to explore

Why it's different 06

A database, not a guess.

Harmonova is a real customs database. 928,552 national tariff lines across 149 national schedules, plus the complete Harmonized System that 200+ trading economies classify against. Every line carries the official schedule it was parsed from. AI does one job here: plain-language lookup. The answer comes from the data, not a model's memory.

928,552 national tariff lines

928,552 national tariff lines across 149 national schedules. Not fuzzy memory, not a scrape, not an average.

A receipt on every line

Each line records the official schedule and revision it was parsed from. Rates come only from the authority for that market.

AI that cannot invent a code

Plain-language search over verified customs data. The classifier can only return a code that exists in the database.

TRY ITFabric x-ray · classification scanner 07

A 2% difference in fabric.
3× the duty bill.

US customs taxes a blend by whichever fibre weighs the most. Drag across the 50% line: the HS heading changes, and the duty rate triples behind it.

// Fabric x-rayChief weight COTTON
SCAN.01 · ACTIVE
CLEAR
FIBRES · COTTON 60 · POLY 40
HS 6202.30
Cotton 60%40% Poly
100% cotton50% · cliff100% poly
classify.outClassified
HTS-106202.30.20.10
Of cotton8.9%
Order type
Duty on a $250 order$22
Cost of the wrong call+$47
Rates · USITC HTS · CH. 62Rule · Section XI Note 2(A) · Chief weight
HARMONOVA · XRAY V2

Classify. Calculate. Prove.

PRODUCTHS CODESKUCATALOGBORDERDUTYLANDED COSTRECEIPT

Get started 08

From any SKU to landed duty in seconds, across 928,552 national tariff lines. Every rate carries the official schedule it came from.

See the data engine