Customs classification
Most of the codes in your item master were inherited, not decided. An audit asks who decided.
Then the defence has to be rebuilt one item at a time, from documents that may not be online any more.

- MaterialStainless steel, 1.4408 p. 12
- Primary functionShut-off, quarter-turn ball composed
- Intended useManual shut-off for liquid lines composed
A person confirms the eight-digit code before it is used.
The situation
The code came from whichever item looked closest at the time. Nobody wrote down why, and the person who chose it has moved on. It holds until a tariff changes, a new market opens, or an authority asks for the reasoning behind a heading. Then the defence has to be rebuilt one item at a time, from documents that may not be online any more.
The harder part is quieter. A code cannot be decided without knowing what the item is made of and what it is for, and those are usually the two fields that are empty. Classification is not a step that comes after item data. It is blocked by it.
What inRecipe does
A defence is easier to keep than to rebuild. inRecipe records what each code rests on at the moment it is proposed. Material, primary function and intended use come from the maker’s own document or from the standard, and the code is derived from those rather than from the description text.
What the item is made of, what it does and what it is for.
What the item is. A code we stand behind.
Rests on all three facts. A person confirms it before it is used.
Where we would be guessing, we do not.
A named code beats “other”
The most common error in classification is a residual “other” code chosen where a named one exists. So before “other” may be chosen, the classifier lists the named codes at that level and says why each one does not apply. A residual code without that list does not pass.
- Gate valvesCloses with a sliding gate. Not this item.
- Globe valvesCloses with a disc on a seat. Not this item.
- Ball and plug valvesCloses with a rotating ball. Applies.
- Butterfly valvesCloses with a rotating disc. Not this item.
- Diaphragm valvesCloses with a flexible diaphragm. Not this item.
Every code exists in the tariff
A proposal that is not a code in the current tariff is refused, not quietly corrected. The item goes round again.
From a demo run on synthetic items.
Three states, and the list they make
Every code comes back in one of three states. Every code offered exists in the current tariff, and when two readings of the same item disagree, the item does not get the more confident of the two. It goes to the proposed list. That list is what a classification sitting is for.
A code we stand behind.
A code that needs a person before it is used.
Where we would be guessing, and we do not.
The refusals are the point.
Which fields this fills
- Identity
- ManufacturerManufacturer part numberStandard designationItem kind
- Name and text
- Primary functionIntended use
- Physical
- Net weightMaterial
- Trade
- Customs heading, six digitsCustoms code, eight digitsCountry of origin
Every one of them carries its source, and every one of them can come back as “searched, not found”.
What it does not do
It does not issue a binding ruling and it is not a customs broker. It does not determine preferential origin or decide whether a trade agreement applies. That depends on where the parts came from and what happened to them, which no datasheet records. It does not file your declarations, and it does not mark a code confirmed: above the level we can defend, every code stays a proposal until one of your people confirms it. What it does is remove the thing that makes all of that slow, which is an item master where nobody can say what the item is made of or what it is for.
Start with the codes you would least like to defend.
- 1Send 100 to 200 items with the customs codes you use for them today.
- 2Within days every code comes back held, proposed or not claimed, with the facts it rests on.
- 3One hour together; bring whoever answers to customs.
Your ERP, PDM or PIM stays where it is. A file export is enough to start.
Is it a fit for us? →