Specification matching

The order line does not carry your part number. It carries the part.

Specification matching resolves an incoming order line to the right item in your catalogue using what the line actually describes — thread and pitch, length, material, property class, standard, tolerance, pressure class — instead of a part number that was never in the line. It is the work that begins where part-number lookup returns nothing.

M8×40 A2-70 is not a line of text. It is eight parameters.

Read it the way the person at the trade counter reads it.

M is the thread system. 8 is the nominal diameter in millimetres. 40 is the length — measured from under the head, unless the head is countersunk, in which case it is overall. A2 is the material group: austenitic stainless, roughly 1.4301, roughly AISI 304. 70 is the property class: at least 700 MPa tensile, at least 450 MPa yield.

That is five facts stated and three implied. The pitch is not written down — coarse is assumed, and M8×1 exists. The head form is not written down. Neither is the drive, the governing standard, the threaded length, or the surface treatment.

Your buyer fills those in without noticing. Your ERP does not fill them in at all. Neither does a parser that was built to find a part number in a PDF.

M8×40 A2-70

The parameters carried by the order line M8×40 A2-70, and which of them the line does not state.
#In the lineAttributeValue
1MThread systemMetric
28Nominal diameter8 mm
3Thread pitchNot written down. A buyer reads it as 1.25 mm. Coarse is assumed, and M8×1 exists.
440Length40 mm
5Where the length is measured fromNot written down. A buyer reads it as under the head. Under the head, unless the head is countersunk, in which case it is overall.
6A2Material groupAustenitic stainless, roughly 1.4301, roughly AISI 304
770Property classAt least 700 MPa tensile, at least 450 MPa yield
8Head form, drive, governing standard, threaded length, surface treatmentNot in the line at all. Five attributes, and the line names none of them.
Five tokens. Eight parameters. Three of them not in the line.

Three of the eight have to come from somewhere before the line can be matched: a rule, a default the customer has already agreed, or a question.

Row 8 is the one that is not a convention. Head form, drive, governing standard, threaded length and finish each separate catalogue items that are otherwise identical, and a default for them is a customer decision rather than a habit of the trade.

What the rate misses is the line that describes a part instead of naming one.

Conexiom advertises correcting the majority of common order issues automatically. Rossum advertises a straight-through rate in the low seventies. Vic.ai advertises a no-touch rate above eighty by month six. Hypatos advertises above ninety within three months.

Take any of those numbers at face value. The question none of the pages answer is what happens to everything that number missed — and in industrial distribution, most of what it missed is a line that describes a part instead of naming one.

That remainder does not go away, and it is not free. It waits — for the person who knows the catalogue, for the engineer who can confirm a substitution. And when waiting stops being acceptable, the line goes out on somebody's judgement with the standard unchecked. That is the failure that costs more than the wait.

How the match is actually made

One — normalise the line, not the document. V2A, SS304, 18-8 and A2 are the same material group written by four different people. Vollgewinde, full thread, FT and DIN 933 are the same statement about where the thread stops. Normalisation happens against a dictionary that grows with every sender you onboard, not against a regex.

Two — decompose into attributes, not tokens. A token is M8x40. Attributes are a thread system, a diameter, a pitch, a length and a datum for measuring it. Everything downstream depends on this step being right, which is why it is the step that takes the longest to build.

Three — resolve the governing standard, and know what it constrains. DIN 933 and ISO 4017 are both fully threaded hex bolts, and for most diameters they are dimensionally identical. At M10 the width across flats is 17 mm under DIN and 16 mm under ISO. At M22 it is 32 mm under DIN and 34 mm under ISO. M12 and M14 differ too. A line that says DIN 933 and a shelf that holds ISO 4017 are a substitution that works on paper and stops an assembly line with fixed tooling.

Four — constrain by engineering rules, and take those rules from an engineer. Which substitutions are allowed, which tolerances are acceptable, whether A4 may stand in for A2 and never the reverse — these are decisions with liability attached. We implement them. They come from an engineer, with a signature, and purchasing is not where they originate.

Five — rank candidates with a reason attached. A confidence score alone is not usable by the person who has to accept or reject the match. Every candidate carries the attributes that matched, the attributes that were inferred, and the attributes that were missing.

Six — refuse when the evidence is short. This is the part that separates a matcher you can put into production from one you cannot. When the line does not carry enough to decide, the system does not pick the closest thing. It stops, and it hands over an exception with the question already formed: pitch not stated — coarse or fine? A queue of formed questions is work. A queue of near-misses is rework.

Six lines, as they arrived

Six incoming order lines: what part-number lookup returns for each, and what matching by specification does with it.
As it arrivedBy part numberBy specification
HEX BOLT M8x40 A2

No match

no part number in the line

Default, or one question. Decomposed. Pitch, head form and property class are not stated, so it takes the standing default this customer has already agreed, or asks once. It does not choose.
DIN933 M10x50 A2-70 100 St.

No match

no part number in the line

Flagged. DIN 933 is not ISO 4017 at M10 — 17 mm across flats against 16. The shelf holds ISO. Marked as a substitution for someone to accept, not made quietly.
Sechskantschraube M12×60, V2A, Vollgewinde

No match

German, and no number in it

Matched. V2A is A2 is 1.4301. Vollgewinde is full thread, which is DIN 933 or ISO 4017, and at M12 the two differ — the line names the diameter, so the difference is decidable.
SHCS M6-1.0 x 20 SS304

No match

American notation, and no number in it

Flagged. SHCS is a socket head cap screw, DIN 912 or ISO 4762. SS304 is A2 for material — but 304 is a grade and not a property class, so the class is unstated and says so.
Flansch DN150 PN16 Vorschweiß

No match

no part number in the line

Refused. EN 1092-1 type 11. No cross to ASME Class 150: rated to 19.6 bar against 16, and the bolt circles agree at this size and not at others. The two bolt together; they are not the same flange.
M8x40 A4-80, and the shelf holds A2-70

No match

no part number in the line

Refused. A4-80 does not come down to A2-70. Escalated with the question already formed, which is the only answer that does not put a guess on a site.
One of the six matches outright. The other five end in a flag, a default already agreed, or a refusal — each with what was missing named.

None of these six lines contains a part number. All six are ordinary.

Two places where "equivalent" is the wrong word

DIN 933 and ISO 4017. Same fastener, same full thread, interchangeable at most diameters — and not at M10, M12, M14 or M22, where the head takes a different spanner. A cross-reference table that maps one standard onto the other without carrying the diameter is wrong four times in every size range.

EN 1092-1 PN16 and ASME B16.5 Class 150. DN150 and 6" both take eight M20 bolts on a bolt circle that differs by three tenths of a millimetre — close enough to mate in the field. At other sizes the holes do not line up at all. And the pressure ratings were never the same: Class 150 is rated to 19.6 bar, PN16 to 16. Two flanges that bolt together are not two flanges that are equivalent.

Both of these are known to every application engineer and to no catalogue search box.

What matching assumes about your catalogue

It needs a catalogue that carries attributes in some form, including inconsistently, in free-text description fields. Where the master file holds a description string and nothing else, this is a data project first — a different engagement, and cheaper to find out in a 1-week diagnostic than in week six of a build.

This work exists for everything arriving as email, PDF, spreadsheet and free text — which, in most distributors we have looked at, is the larger half. Lines that already carry your part numbers, out of your own portal or over EDI, are matched before they reach you.

It is built on what an industrial catalogue is organised by: tolerance, material, property and pressure class, and the DIN and ISO families that govern them. Colour, size and brand are a different problem; the vendors who match on those work one market and we work the other.

Your ERP stays as it is configured. We deliver into it. Changing how it is set up is your integrator's work, and we say so in the first call rather than the last.

Substitution rules stay yours. What may stand in for what is your engineer's call. We build the system that applies that decision consistently and records why.

What it costs

Specification matching — C5. 6–10 weeks, for a scope up to seven engineer-weeks, with a published rate per additional week.

You provide: your item master with its attributes · a sample of incoming lines exactly as they arrive, not cleaned · your existing cross-reference sources · and tolerance rules from an engineer.

You receive: the matching system in production against your catalogue · the rules engine with your substitution logic · an exception queue with routing · and the repository, documentation, configuration and prompts in your ownership, with no lock to us and none to a model provider.

Not included: ERP reconfiguration · catalogue cleanup beyond the agreed volume · integrations not named in the statement of work · licences.

Start smaller if you would rather. A 1-week flow diagnostic. It tells you how many formats are really in your stream, where it breaks, and what tail will remain permanently. It is credited against the project within 60 days.

Where this comes from

Catalog Brain is our own system for industrial distribution, and specification matching is its proven capability — matching by what the line describes rather than by what it names.

Four systems we built and run in four unrelated industries, and named people you can check in a minute.

Questions

Can this run against our existing catalogue, or do we have to clean it first?
Against the existing one, provided items carry attributes in some form — including inconsistently, in free-text description fields. What does not work is a master file where the only thing distinguishing two items is a description string a human wrote. The diagnostic tells you which of the two you have.
How is this different from what our OCR vendor already does?
The OCR vendor turns a document into fields. This decides which item those fields describe. They are consecutive problems, not competing ones, and most distributors we speak to have solved the first and not the second.
What happens when the system is not sure?
It stops and escalates, with the missing attribute named. It does not select the nearest candidate. A system that guesses on a pressure class is worse than no system, because the guess is invisible until the part is on site.
Who owns the rules?
You do, and you should. We build the engine and implement your rules in it. The repository, the documentation, the configuration and the prompts are yours at handover, with no dependency on us and none on a model provider.
We already have a vendor for order automation. Is this a replacement?
Usually not. More often it sits behind them and takes the share their rate does not cover. If you want to know how large that share actually is in your stream, that is exactly what the 1-week diagnostic measures.

A 45-minute call. Bring two or three real order lines — the messy ones. We will run them on screen and tell you what a match would take.

Contact us

Deeper