The buyer rejects your UNSPSC codes
A cart or catalogue is rejected citing classification, or lines arrive uncategorised and fail to route for approval.
Check for stripped leading zeros first. UNSPSC codes are strings, and any that begin with a zero lose it the moment the file passes through a spreadsheet — turning a valid eight-digit code into a seven-digit invalid one. It is the most common cause and the least suspected.
Causes, most likely first
Ordered by how often each one turns out to be the culprit, not by how interesting it is. Work down the list.
-
Leading zeros were stripped by a spreadsheet
How to confirm: Look for codes of seven digits where the rest are eight. Excel and Google Sheets treat the column as numeric on import and silently drop the zero.
Fix: Store and transmit classification codes as text. If your catalogue pipeline passes through a spreadsheet at any point, assume this has happened and check.
-
The code is at the wrong level
How to confirm: UNSPSC is hierarchical: segment, family, class, commodity. Most buyers want the eight-digit commodity level. A four-digit family code is a valid UNSPSC and still not what they asked for.
Fix: Confirm which level the buyer requires and classify to it consistently.
-
The buyer is pinned to a different UNSPSC revision
How to confirm: The code set is versioned and codes are added and retired. A code valid in a current release may not exist in the release the buyer validates against.
Fix: Ask which version they use and classify against that. This is a normal question and their enablement team will know.
-
The domain attribute is missing or wrong
How to confirm: Classification needs domain="UNSPSC". Without it the buyer cannot tell which scheme the number belongs to, and a correct code fails anyway.
Fix: Set the domain explicitly on every Classification element.
-
The element is present but empty
How to confirm: An empty Classification passes a "has classification" check in your own code and fails on the buyer side exactly as a missing one would.
Fix: Treat an empty code as missing at the point you build the document.
If it is not on your side
If your codes are valid at the right level and still rejected, ask the buyer for the specific code they rejected and the reason string. Some maintain an internal allow-list narrower than UNSPSC itself.
Check the document itself
Paste your cXML or OCI payload into our free tester. It runs entirely in your browser and reports the structural problems buyers reject on.
Open the testerRelated questions
What if our products have no UNSPSC codes at all?
That is a data preparation task rather than an integration one, and it runs alongside the build instead of after it. Classifying a catalogue systematically by category is far quicker than line by line.
Does every line need a code?
Assume yes unless the buyer says otherwise. Coupa in particular rejects the entire cart on one bad line rather than accepting the rest, so a single uncoded product blocks the whole order.
Rather not be the one debugging this?
We build and run the endpoint, and deal with the buyer’s technical team directly. Pricing is published in full.
See pricing Send us the error