Version: eXtendPS-SE 1.4.4 and above
Audience: Administrator

Overview

Before making the Live Inventory service available to distributors, you need to configure it.

This configuration:

  • Maps fields from the NetSuite item object to the PromoStandards Live Inventory response.
  • Lets you specify which Inventory Locations are eligible to be included when searching for an item's inventory.

Configuration

Open the inventory setup page

  1. Go to eXtendTecheXtendPS-SEInventory Setup.


General setup

  1. Show Assemblies as Manufactured Items

    Enable this option to treat NetSuite Assembly items as manufactured items in the Live Inventory response.

  2. Show Buy to Order for Drop Ship & Special Order

    Enable this option to indicate the product will be purchased when ordered.

  3. Include Inventory Location

    Enable this option to include the InventoryLocation array in the response.
    Image Placeholder

  4. Suppress Kit Components

    Enable this option to exclude components of NetSuite Kit/Package items in the Live Inventory response.

  5. Suppress Assembly Components

    Enable this option to exclude components of NetSuite Assembly items in the Live Inventory response.

  6. Show Available to Build

    Enable this option to include the Available to Build quantity for NetSuite Kit/Package and Assembly items in the Live Inventory response. This quantity is based on component availability and the quantity required to build.

    The Available to Build value is returned in the customProductMessage field.

    Note: If Suppress Assembly Components is not enabled, the inventory details for all component items (including components of sub-assemblies) will be included in the inventory response. For matrix assembly items, the inventory details of sub-item components will also be included.

  7. Show Available to Build as Quantity Available

    Enable this option to return the Available to Build quantity as Quantity Available for NetSuite Assembly items.

  8. Do Not Show Product Message on Response (1.2.1 Only)

    Enable this option to suppress the customProductMessage field in the Live Inventory response. For more details, see Configure Custom Product Message for eXtendPS-SE Inventory Service.

  9. Show Future Availability for Items

    Enable this option to display future inventory availability in the Live Inventory response. For more details, see Show Future Availability of Items in Live Inventory 2.0.0 with eXtendPS-SE.

  10. 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}.

  11. Product Message Saved Search ID (1.2.1 Only)

    Specify a custom saved search to generate a customProductMessage for items based on related purchase order information.

    Requirements:

    1. The saved search is based on a transaction record. (The record type can be other than a Purchase Order.)
    2. The saved search supports filters for Item and Location. (Location is required when multi-location inventory is enabled.)
    3. The saved search results are sorted so the first result returned is the one you want used when multiple results exist.
    4. The saved search includes exactly one Formula (Text) column. This column is used to generate the customProductMessage.

    Default saved search: eXtendPS-SE Item Inventory[B] {customsearch_extend_promo_api_po_search}

    Default message format: “Next PO Date: {expectedreceiptdate}, Quantity: ({quantity}-{quantityshiprecv})”

    Example: “Next PO Date: JANUARY 18, 2018, Quantity: 1”.

  12. Available To Build Saved Search Id

    Specify a saved search ID used to calculate Available to Build for NetSuite Assembly and Kit/Package items.

    Reference saved search: eXtendPS-SE Item Inventory[B] {customsearch_extend_promo_api_availbuild}

  13. Non-Color/Size Attribute

    Specify a NetSuite field ID for an item attribute that is not related to color or size.

WSDL field mappings

  1. PartID

    Item ID field in NetSuite. Recommended field: {itemid}

  2. Part Brand (1.2.1 Only)

    Item brand field in NetSuite. Included field: eXtendPS-SE Product Brand {custitem_extend_promo_product_brand}

  3. Part Description

    Item description field in NetSuite. Recommended field: {salesdescription}

  4. Color Attributes

    Item color field in NetSuite. It is recommended to include all item fields that contain a color attribute. Included field: eXtendPS-SE Product Part Color Name {custitem_extend_promo_api_part_color}

  5. Size Attributes

    Item size field in NetSuite. It is recommended to include all item fields that contain a size attribute. Included field: eXtendPS-SE Product Part Apparel Label Size {custitem_extend_promo_api_app_label_si}

  6. Is Manufactured Item

    Indicates whether the item is manufactured on demand, allowing customers to order a quantity greater than the stock quantity. Recommended field: {isspecialorderitem}.

    If you use a different field to mark items as manufactured, use that field instead.

  7. Non-color-size Attributes

    Item attribute other than size and color. Included field: eXtendPS-SE Product Part Primary Material {custitem_extend_product_part_material}

  8. Replenishment Lead Time

    Field in NetSuite that 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: You can specify field IDs in the following formats:

    1. text: {HARDCODED_VALUE} to include a static value.
    2. {fieldIdA},{fieldIdB},{fieldIdC}… to include the first non-null field.
    3. fn:{function name} to include the response from a JavaScript function defined in suite_promoapi_invoice_transformers.js.

Inventory locations

  1. Inventory Locations

    Select all locations that should be included when searching for inventory.

Additional settings

  1. Additional Item Search Columns

    Specify any item fields used in functional mappings.

  2. Part Search Filters

    See Remove Parent Name from Part Name in PromoStandards Response for more details on this field.

  3. Maximum member item levels for Assembly and Kit Items

    Specify the number of levels to search for member items of an Assembly or Kit/Package item (starting from the second level onwards).

    Example: A value of 1 finds immediate member items and member items of the immediate Assembly/Kit items, if any.

    Note:

    • The first level is always searched.
    • You can use a negative number to continue finding member items until the end.
  4. Use Is Operator For Item Search (1.2.1 only)

    If you use {itemid} for Part ID and there are other items that start with the same text, the Live Inventory 1.2.1 service may return multiple items. Enable this preference to return an exact match.

  5. Future Availability Offset Days (2.0 Only)

    (Configure as needed for PromoStandards 2.0 future availability behavior.)

  6. In the UOM Mapping sublist, map NetSuite and PromoStandards unit of measures.

  7. Under Apparel Size Map (Product Data Setup), map your NetSuite apparel size values to PromoStandards apparel size values.

    This mapping is required because PromoStandards accepts specific apparel size values. This mapping is not editable on this screen. Use eXtendPS-SE Product Data Setup to configure it. The Product Data Setup link will redirect you automatically.

    Note: Submit any pending changes before clicking the link.

  8. Click Submit to save your changes.

PromoStandards supported request types

getFilterValues response

See Configure the Live Inventory Service's GetFilterValues Response.

getInventoryLevels response

In the getInventoryLevels response, you receive the part ID, color, size, and non-color-size attributes as partId, labelColor, partSize, and attributeSelection. These values are nested under the PartInventoryArray object array.

Note:

  • Size and color fields can be configured as shown in Configure the Live Inventory Service's GetFilterValues Response.
  • Non-standard or unmapped sizes are returned as CUSTOM. A list of PromoStandards-supported sizes is available on the 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>
                </Quantity>
              </InventoryLocation>
            </InventoryLocationArray>
            <lastModified>2019-06-10T13:39:21.417Z</lastModified>
          </PartInventory>
        </PartInventoryArray>
      </Inventory>
    </getInventoryLevelsResponse>
  </soap:Body>
</soap:Envelope>

Frequently asked questions (FAQs)

Q: Why are sizes coming back as CUSTOM?

A: PromoStandards returns CUSTOM for non-standard or unmapped sizes. Make sure your apparel sizes are mapped under Apparel Size Map (Product Data Setup).