Version: eXtendPS-SE 1.3.6.7 and above
Audience: Administrator, Developer

Overview

There are three methods for sending an item's Unit of Measure (UOM) in the PromoStandards Invoice service.

1. Hardcoded Unit of Measure 

When the associated NetSuite account does not have the MULTIPLE UNITS OF MEASURE feature enabled, the UOM for an item will be sent in the Invoice response using a hardcoded value provided in the transformers file.

To specify a PromoStandards enumerated UOM value, you can modify the getInvoiceData() function in the suite_promoapi_invoice_transformers.js file. See the snippet below for an example:

invoiceResponse.InvoiceLineItemsArray.InvoiceLineItem.forEach(function(lineItemData) { lineItemData.quantityUOM = "Each" })

2. Item's Mapped Unit of Measure

When the associated NetSuite account is utilizing the MULTIPLE UNITS OF MEASURE feature and when UOM mappings are in place on the eXtendPS-SE Invoice Setup screen, the mapped PromoStandards UOM will be sent.

UOM values supported by PromoStandards (as of 2023-10-03):
  1. BX (Box)
  2. CA (Case)
  3. DZ (Dozen)
  4. EA (Each)
  5. KT (Kit)
  6. PR (Pair)
  7. PK (Package)
  8. RL (Roll)
  9. ST (Set)
  10. SL (Sleeve)
  11. TH (Thousand)
Image Placeholder

3. Unit of Measure for Unmapped Value

When the associated NetSuite account is utilizing the MULTIPLE UNITS OF MEASURE feature and when the UOM for an item is not mapped with a PromoStandards UOM, you need to specify a default value to use as the UOM in the getInvoiceData() function within the suite_promoapi_invoice_transformers.js file.

This example below will send the UOM as "Each" if no UOM mapping is present in the eXtendPS-SE Invoice Setup screen or the line item's UOM mapping to PromoStandards UOMs is not present.

Note: You can change the value of the default UOM as per the UOMs supported by PromoStandards.
invoiceResponse.InvoiceLineItemsArray.InvoiceLineItem.forEach(function (lineItemData) {
   lineItemData.quantityUOM = lineItemData.quantityUOM || "Each"
})