Unit of measure mismatch
The cart arrives, the lines look right, and the price is wrong — or the buyer reports that your unit is not one their system accepts.
Send a UN/CEFACT code, not a word. EA, not "each". But the more expensive version of this problem is PriceBasisQuantity: if your price is per pack of ten and the buyer reads it as per unit, the cart is out by a factor of ten and nobody notices until the invoice.
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.
-
The unit is a word rather than a code
How to confirm: Values like "each", "box" or "pcs" in UnitOfMeasure. Some buyers reject these; worse, some accept them and guess.
Fix: Map to UN/CEFACT codes — EA, BX, CS, PK, KGM. Our free tester flags common words and suggests the code.
-
Price and unit describe different quantities
How to confirm: You sell in boxes of ten and priced per box, but the unit says EA. The buyer multiplies by quantity and gets ten times the intended price.
Fix: Make the unit and the price agree, and use PriceBasisQuantity where the price applies to a quantity other than one.
-
The buyer maintains their own accepted list
How to confirm: A valid UN/CEFACT code is rejected. Many procurement systems are configured with a subset, and anything outside it fails.
Fix: Ask for their accepted unit list during setup. It is a short document and it prevents an entire class of test failures.
-
Casing
How to confirm: Codes are upper case. Lower case is tolerated by many systems and not by all, and it is trivially avoidable.
Fix: Upper-case units on output.
-
Your catalogue and your ERP disagree
How to confirm: The unit shown at punchout differs from the one on the invoice. The buyer’s three-way match then fails even though the punchout itself worked.
Fix: Source the unit from one system. If the catalogue and ERP hold it separately, they will drift.
If it is not on your side
Ask the buyer for their accepted unit-of-measure list before testing rather than after. Most have one and few volunteer it.
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
Which code list should we use?
UN/CEFACT Recommendation 20 is what cXML expects and what most buyers validate against. Where a buyer supplies their own list, theirs wins.
How do we handle products sold in variable quantities?
Price per the unit you actually sell in and say so with PriceBasisQuantity. Trying to normalise everything to EA produces rounding that reappears as invoice disputes.
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