We’re onboarding 500+ new material SKUs from our ERP system via bulk import through the material management API, but about 30% of the imports are failing with unit of measure mismatch errors. The error message says “UOM not found in system” even though we verified the UOM codes exist in Apriso’s master data.
Sample error:
HTTP 422 Unprocessable Entity
{
"error": "Invalid UOM",
"field": "baseUnitOfMeasure",
"value": "EA",
"message": "Unit of measure 'EA' not found"
}
Our ERP uses standard codes like “EA” (Each), “KG” (Kilogram), “M” (Meter), but Apriso seems to expect different codes. We’ve checked the UOM master table and “EA” definitely exists. Is there a case-sensitivity issue? Do we need to map ERP codes to Apriso codes? This is blocking our Q1 product launch schedule.
Watch out for conversion factors too. If your ERP material uses “KG” as base UOM but Apriso expects “LB”, you need to include conversion factors in your import payload. The API won’t automatically convert between metric and imperial units. You need to explicitly define: 1 KG = 2.20462 LB in your material master data. Missing conversion factors are a common cause of downstream issues in production transactions.
Yes, use GET /api/master-data/units-of-measure to retrieve all configured UOMs. This returns the exact codes Apriso expects. Build your mapping table from this response and use it to translate ERP codes before bulk import. We do this for every ERP integration - it’s a standard pattern. Cache the UOM list and refresh it weekly to catch any new units added by admins.
One more thing - ensure your ERP export includes both base UOM and any alternate UOMs the material uses. For example, a material might be purchased in “Pallet” but consumed in “Each”. All alternate UOMs need to be defined in Apriso with proper conversion factors. If you only import the base UOM, production transactions using alternate UOMs will fail. We learned this the hard way during our last onboarding project.
UOM codes in Apriso are case-sensitive. Check if your master data has “EA” or “ea” or “Each”. The API validation is strict about exact matches. Also, some organizations use different UOM naming conventions - what your ERP calls “EA” might be configured as “EACH” or “PC” (piece) in Apriso.