@adambauer We got to see your error message and the entity mappings. Acumatica connector does not send the UOM info to Shopify. So not sure how you are getting this error. Could you please create a case with Acumatica Support?
I’m working on setting up the Shopify connector on a local Acumatica instance and I ran into this same issue. My instance has data based on a production instance of Acumatica where every stock item has its Weight UOM as LBS. The problem the OP encountered is related to Shopify expecting the weight_unit to be “lb” for pounds and not LBS. It cannot have the S and it must be lower case.
To prevent this error from showing up, I first went into CS203100 and added LB to the Units of Measure with a conversion to and from LBS with a 1.0x multiplier. I also setup a standard LB/LB from/to configuration.
On the single stock item I was trying to sync, I changed the weight UOM from LBS to LB and everything worked as expected.
Given that we have a lot of stock items already setup for LBS, I wanted to find a way to deal with this without having to go modify every stock item’s configuration. Here is how I accomplished a proof of concept that I think should work unless you use some other stock item unit of measure that contains an S.
In Entities I configured the Stock Item export with an export mapping on External Object: Product → Product Variants, External Field: Weight Unit to use the following ERP field from Stock item:
=LCase(Replace(
This handles both the uppercase LBS and LB weight UOM in Acumatica. It is kind of important to know that if your weight UOM is LB and you do not define an export map for that field, the system appears to automatically lower case the UOM value when exporting. However, if you define an export mapping by hand, it does not modify the value, so the LCase function becomes necessary.
@PorchlightZach, you are right. Shopify doesn’t support “lbs” value, it only accept the following valid values in lower case: g
, kg
, oz
, and lb
. So if the value in the weight UOM is not the above values, it may cause the error.