When using API "Supplier Invoice - Create (A2A, Inbound, Asynchronous)" to create supplier invoice you get error BM034 "No measurement unit is assigned to ISO code &".
Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.
SAP S/4HANA Cloud
Reproducing the Issue
The payload you are sending has the unitCode at the item level, for example:
The error is caused because unitCode is not an ISO code.
As mentioned in the SAP Help Documentation you can use either the ISO Code or the SAP internal code:
You can find settings related to units of measurement in SSCUI 102179 "Check Units of Measurement".
Considering the example above, we are using unit BAG, and the respective ISO code is BG:
As mentioned in the SAP Help Documentation you can use either the ISO Code or the SAP code. So it is expected to have, for example, one of the following lines in your payload:
<QuantityInPurchaseOrderUnit_SAPUnitCode unitCode="BAG">1000</QuantityInPurchaseOrderUnit_SAPUnitCode >
SupplierInvoiceS4Request_In, SAP_COM_0240, BM034, QuantityInPurchaseOrderUnit, QuantityInPurchaseOrderUnit_SAPUnitCode, ISO code, unitCode, measurement unit , KBA , MM-FIO-IV , Fiori UI for Invoice Verification , Problem