Bulk HS code classification from a product list file

Drag an Excel or CSV file in here — a commercial invoice, a packing list, or your own SKU list. The tool finds the header row by itself, merges rows sharing a SKU code into a single item, then returns an 8-digit HS code with its basis for each item.

What the results look like

A real garment-manufacturing shipment, trimmed down. This is the shape of the table you get at the review step.

Description in your fileHS codeConfidenceWhy
POCKET BAG ANG-441 / WOVEN 100% NYLON3 SKU rows62179000Medium

Three rows sharing SKU ANG-441 merged into one article, classified once. Cut to shape → Section XI Note 7, so it is not classified as fabric.

ZIPPER 5# METAL, 18CM96071100High

Slide fastener with base-metal teeth — heading 96.07 names it directly.

SHELL FABRIC 150D POLY, 150CM2 SKU rows54077400LowNeeds review

Needs review: the file does not say whether the yarn is filament or staple. The two branches fall in different chapters (54 vs 55) with different duty — one extra word in the description settles it.

WOVEN SATIN LABEL, PRINTED LOGO58071000High

Woven label, not embroidered — heading 58.07, not the base-fabric heading.

CARTON BOX 5-PLY 60X40X354 SKU rows48191000High

Four box sizes sharing one source SKU — merged into one article, saving three runs.

SEWING THREAD 40/2 POLY, 5000M CONE2 SKU rows54011000Medium

Sewing thread of synthetic filament; retail packing does not change the code at this 8-digit level.

The export has three sheets

  • Article results

    One row per article: HS code, confidence, legal basis, and a trace if you overrode the code by hand.

  • SKU rows

    Every row of the original file in its original order — ready to paste into ECUS.

  • _meta

    Records which columns were used as description, SKU and quantity, so the run can be audited later.

Three steps

01

Check data

Pick the description column, the SKU column, the quantity column. Drop the rows you don't want to run, and fix any description that is too terse. See how many items will run before you spend a single run.

02

Classify

Runs item by item, with progress, and you can stop midway. Each item gets an HS code with its legal basis and its own set of competing codes.

03

Review codes

Two groups: settled, and needs review. Click a row to see why it was classified that way, pick one of the competing codes, or type in your own. Every change you make is recorded in the export.

What costs a run, and what doesn't

Free, no account needed

Reading the file, finding the header row, mapping the columns, merging duplicate SKU rows, previewing the item count. This stage is deterministic — no AI runs, so it costs nothing.

Costs a run, account needed

Classification: one run per item. The free plan covers 50 items a day, resetting at 00:00 Vietnam time.

Because rows sharing a SKU code are merged before the run, a 500-row file usually costs a few dozen runs, not 500.

What it accepts

  • Excel/CSV: no row limit on reading the file.
  • Images/PDF: up to 10 items per file.
  • A single run handles at most 100 items.
  • A single export holds at most 2000 SKU rows. Over the ceiling you get an error with the real row count — the system will not trim your rows for you.
FAQ

Frequently asked questions

What kind of Excel file can it read?
Files in .xlsx, .xls and .csv. No need to clean the file first: the tool finds the header row itself, even with a few lines of company name and address sitting above it as on a real invoice. If the file has several sheets, you choose which one to run. Pick the wrong one and you can re-read it right there on screen, without uploading again.
Does a 500-row file cost 500 runs?
No. Rows sharing a SKU code are the same item, so they are merged before the run — a 500-row shipment from a garment manufacturer usually comes down to a few dozen items. The real item count shows at step 1, before you press run, so you never spend runs and find out afterwards.
Can I fix a wrong code?
Yes, and that is what step 3 is for. Each item has a set of competing codes — the near-tied codes that lead to different duty or policy obligations — and you pick one of them, or type in your own code. The change is marked in the confidence column of the export, so whoever approves it later knows which rows a person decided.
Can the export go straight into ECUS?
The “SKU rows” sheet keeps every row of your original file in its original order, with the HS code assigned to it, so you can paste it straight into declaration software. The other two sheets are the per-item results and a _meta sheet recording which columns were used, so you can check back later.
Do I need an account?
Not for reading the file and checking the data. Yes for classification — that is the step that calls the AI, so it has to be tied to an account for the quota. The account is free, and the free plan classifies 50 items a day.

Is your shipment more complicated than this?

Avenir is a customs broker. If your shipment has contested items, needs an advance ruling on the code, or needs someone to take responsibility on the declaration, send the file over.