Version: eXtendPS-SE 1.4.0 and above
Audience: Administrator
Overview
Before making the Live Inventory service available to distributors, it needs to be configured. This configuration involves mapping fields from the NetSuite item object to the corresponding fields in the PromoStandards Live Inventory API response. Additionally, you can specify the eligible Inventory Locations to be included when searching for an item.
Configuration
- Go to eXtendTech → eXtendPS-SE → Inventory
Setup.
General setup
- Show Assemblies as Manufactured Items
Enable this option to indicate that items of the NetSuite Assembly item type should be treated as manufactured items in the Live Inventory response. - Show Buy to Order for Drop Ship & Special Order
Indicates that product will be purchased when ordered. - Include Inventory Location
Enable this option to include the InventoryLocation array in the response. - Suppress Kit Components
Enable this option to exclude components of the NetSuite Kit/Package item type in the Live Inventory response. - Suppress Assembly Components
Enable this option to exclude components of the NetSuite Assembly item type in the Live Inventory response. - Show Available to Build
Enable this option to include the 'Available to Build' quantity for NetSuite Kit/Package and Assembly item types in the Live Inventory response. This quantity is based on the availability of the components and the required number to build. The 'Available to Build' data will be returned in the customProductMessage field of the Live Inventory response.
Note: If the “Suppress Assembly Components” preference is not enabled, the inventory details for all component items of the assembly will be included in the inventory response. This includes the components of any sub-assemblies. For matrix assembly items, the inventory details of its sub-item components will be included in the Live Inventory response. - Show Available to Build as
Quantity Available
Enable this option to return the 'Available to Build' quantity as the 'Quantity Available' for NetSuite Assembly item types.
- Do Not Show Product Message
on Response
This checkbox determines whether to display the customProductMessage field in the Live Inventory response or not. For more details, please refer to Configure Custom Product Message for Inventory Service. - Show Future Availability for
Items
Enable this option to display future inventory availability in the Live Inventory response. - Show Future Availability
Item Receipt Date
Specify the NetSuite field ID that contains the value used to display an item's expected receipt date for future inventory availability. Recommended field id:{expectedreceiptdate}
. - Product Message Saved
Search ID
You can use a custom saved search to create a customProductMessage for items based on their related purchase order information.
To create this saved search, please make sure that the following requirements are met: - The saved search is based on the transaction record. Note: The record type can be other than a Purchase Order.
- The saved search must support filters for Item and Location. Note: The Location filter is required for NetSuite accounts with the multi-location inventory feature enabled.
- Make sure that the saved search results are sorted to display the first result of an item, in case there are multiple results for the searched item.
- Make sure to add exactly one "Formula (Text)" field, as we will dynamically select this field for the customProductMessage.
The default saved search that will be used is: eXtendPS-SE Item Inventory[B]{customsearch_extend_promo_api_po_search}
.
The customProductMessage which will be generated by this saved search is in the format: “Next PO Date:{expectedreceiptdate}
, Quantity: ({quantity}-{quantityshiprecv}
)” Example: “Next PO Date: JANUARY 18, 2018, Quantity: 1”.
You can copy this saved search and add/append the criteria of this saved search as per your requirements. - Available To Build Saved Search Id
Specify a saved search id to be used for calculating the 'Available to Build' value for NetSuite Assembly and Kit/Package item types.
eXtendPS-SE Item Inventory[B]{customsearch_extend_promo_api_availbuild}
is included with eXtendPS-SE to be used as a reference. - Non – Color Size Attribute
Specify a NetSuite field ID which specifies an item attribute which is not related color or size.
WSDL Field Mappings
- PartID*
Item ID field in NetSuite. Recommended field:{itemid}
- Part Brand (1.2.1 Only)
Item brand field in NetSuite. Included field: eXtendPS-SE Product Brand{custitem_extend_promo_product_brand}
- Part Description
Item description field in NetSuite. Recommended field:{salesdescription}
- Color Attribute
Item color field in NetSuite. It is recommended to include all your items fields that contain a color attribute. Included field: eXtendPS-SE Product Part Color Name{custitem_extend_promo_api_part_color}
- Size Attribute
Item size field in NetSuite. It is recommended to include all your items fields that contain a size attribute. Included field: eXtendPS-SE Product Part Apparel Label Size{custitem_extend_promo_api_app_label_si}
- Is Manufactured Item
Returns if the item is manufactured on demand or not so that customers can order a quantity more than the stock quantity. Recommended field:{isspecialorderitem}
. If you use any other field for marking your items as a manufactured item, use that field. - Non – Color Size Attributes
Item attribute other than size and color. Included field: eXtendPS-SE Product Part Primary Material{custitem_extend_product_part_material}
- Replenishment Lead Time for Inventory 2.0
Field in NetSuite which contains the time to replenish buy to order or made to order items. Included field: eXtendPS-SE Product Part Replenishment Lead Time{custitem_extend_promo_api_repl_led_tim}
Note: Field IDs may also be specified in the formats below: - Use
text:
{HARDCODED_VALUE}
if you want to include a static response. {fieldIdA},{fieldIdB},{fieldIdC}….
if you want to include the first non-null field in the response.fn:{function name}
if you want to include the response from a JavaScript function defined insuite_promoapi_invoice_transformers.js
.
Inventory Locations
- Select all locations that should be included when searching for
inventory.
Additional Settings
- Additional
Item Search Columns
Specify any item fields which you are using in any functional mappings. - Part
Search Filters
See Remove Parent Name from Part Name in PromoStandards Response for more details on this field's usage. - Maximum Member Item Levels For Assembly And Kit Items
Specify the number of levels to search for member items of an Assembly item or a Kit/Package item, starting from the second level onwards. For example, a value of "1" would find immediate member items and the member items of the immediate Assembly/Kit items, if any.
Note: The first level will always be searched. You can use a negative number to continue finding member item(s) until the end. - Use Is Operator For Item Search (1.2.1 only)
If you are usingitemid
in the Part ID field and there are other items that start with the same text, you may receive multiple items in the response when using the Live Inventory 1.2.1 service. To ensure that you get an exact matching item in the response, enable this preference.
Additional Settings
- Specify any item fields which you are using in functional
mappings in the “Additional Item Search Column” field.
- In the UOM Mapping sublist, specify the NetSuite and PromoStandards unit of measures for mappings between NetSuite and PromoStandards.
- Under the Apparel Size Map, specify the mapping between your NetSuite apparel size values and the PromoStandards
apparel size values. This mapping is required as PromoStandards accepts specific values as apparel sizes. This mapping is not available for editing
in this setup, and you will have to update the eXtendPS-SE Product Data Setup to create this mapping. The link “Product Data Setup” will redirect you to the Product Data Setup screen automatically. Note: Submit any pending changes before clicking the link.
Click Submit to save your changes.
PromoStandards Supported Request Types
getFilterValues Response
See the related article Configure the Live Inventory Service's GetFilterValues Response.
getInventoryLevels Response
In the getInventoryLevels response, you will receive the part ID, color, size, and non-color-size attributes as "partId", "labelColor", "partSize", and "attributeSelection" respectively. These values will be nested under the object array "PartInventoryArray".
Note: size and color fields can be configured as shown in the Configure the Live Inventory Service's GetFilterValues Response.
Non-standard or unmapped sizes will be returned as CUSTOM in the response. List of PromoStandards-supported sizes can be found on PromoStandards website.
Sample XML response:
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://www.promostandards.org/WSDL/Inventory/2.0.0/" xmlns:ns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/" xmlns:ns1="http://www.codesynthesis.com/xmlns/xsstl"><soap:Body><getInventoryLevelsResponse><Inventory xmlns="http://www.promostandards.org/WSDL/Inventory/2.0.0/SharedObjects/"><productId>29M : 29M- M-Classic Pink</productId><PartInventoryArray><PartInventory><partId>29M : 29M- M-Classic Pink</partId><mainPart>true</mainPart><partColor>Classic Pink</partColor><labelSize>M</labelSize><partDescription>description</partDescription><quantityAvailable><Quantity><uom>EA</uom><value>111701</value></Quantity></quantityAvailable><manufacturedItem>false</manufacturedItem><buyToOrder>true</buyToOrder><attributeSelection>Material: 29M : 29M- M-Classic Pink</attributeSelection><InventoryLocationArray><InventoryLocation><inventoryLocationId>2</inventoryLocationId><inventoryLocationName>01: San Francisco</inventoryLocationName><postalCode>94403</postalCode><country>US</country><inventoryLocationQuantity><Quantity><uom>EA</uom><value>111701</value></Quantity></inventoryLocationQuantity><FutureAvailabilityArray><FutureAvailability><Quantity><uom>EA</uom><value>4000</value></Quantity><availableOn>2019-06-05T07:00:00.000Z</availableOn></FutureAvailability><FutureAvailability><Quantity><uom>EA</uom><value>41999</value></Quantity><availableOn>2019-06-10T07:00:00.000Z</availableOn></FutureAvailability><FutureAvailability><Quantity><uom>EA</uom><value>15000</value></Quantity><availableOn>2019-06-09T07:00:00.000Z</availableOn></FutureAvailability></FutureAvailabilityArray></InventoryLocation><InventoryLocation><inventoryLocationId>1</inventoryLocationId><inventoryLocationName>02: Boston</inventoryLocationName><postalCode>02101</postalCode><country>US</country><inventoryLocationQuantity><Quantity><uom>EA</uom><value>0</value></Quantity></inventoryLocationQuantity></InventoryLocation><InventoryLocation><inventoryLocationId>310</inventoryLocationId><inventoryLocationName>New Jersey</inventoryLocationName><country>US</country><inventoryLocationQuantity><Quantity><uom>EA</uom><value>0</value></Quantity></inventoryLocationQuantity><FutureAvailabilityArray><FutureAvailability><Quantity><uom>EA</uom><value>15000</value></Quantity><availableOn>2019-06-06T07:00:00.000Z</availableOn></FutureAvailability></FutureAvailabilityArray></InventoryLocation><InventoryLocation><inventoryLocationId>3</inventoryLocationId><inventoryLocationName>Overstock</inventoryLocationName><country>US</country><inventoryLocationQuantity><Quantity><uom>EA</uom><value>0</value></Quantity></inventoryLocationQuantity></InventoryLocation></InventoryLocationArray><lastModified>2019-06-10T13:39:21.417Z</lastModified></PartInventory></PartInventoryArray></Inventory></getInventoryLevelsResponse></soap:Body></soap:Envelope>