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

Overview

The Product Data service must be configured before it can be made available to distributors. The configuration maps fields from the NetSuite item object to the corresponding fields in the PromoStandards Product Data API response.

Configuration

To configure the Product Data service for eXtendPS-SE, go to eXtendTech → eXtendPS-SE → Product Data Setup to access its configuration page.

Product Primary Information

Map the Product Primary Information fields based on the following descriptions:Image Placeholder
  1. Product ID* - Item id field in NetSuite. Recommended field: {itemid}.
  2. Product Name* - Supplier name of the product field in NetSuite. Recommended field: {displayname}.
  3. Description*- Field in NetSuite that contains the product description or a bulleted list of descriptions. Recommended field: {salesdescription}.
  4. Product Brand - Product brand field in NetSuite. Included field: eXtendPS-SE Product Brand {custitem_extend_promo_product_brand}.
  5. Export - Checkbox field in NetSuite that determines if a product can be exported. Included field: eXtendPS-SE Product Export {custitem_extend_promo_api_prod_export}.
  6. Last Change Date* - Field in NetSuite that specifies the date when the product was last changed. Recommended field: {lastmodifieddate}.
  7. Creation Date* - Field in NetSuite that specifies the date when the product was created. Recommended field: {createddate}.
  8. End Date - Field in NetSuite that specifies the date when the product will be discontinued. Recommended field: {enddate}. Included field: eXtendPS-SE Product End Date {custitem_extend_promo_api_end_date}.
  9. Effective Date - Field in NetSuite that specifies the date when the product will be effective. Recommended field: {createddate}. Included field: eXtendPS-SE Product Effective Date {custitem_extend_promo_api_eff_date}.
  10. Is Caution - Checkbox field in NetSuite that determines if there are cautionary comments associated with the product. Included field: eXtendPS-SE Product Is Caution {custitem_extend_promo_api_is_caution}.
  11. Caution Comment - Field in NetSuite that lists the cautionary comments associated with the product. Included field: eXtendPS-SE Product Is Caution Comment {custitem_extend_product_caution_commen}.
  12. Is Close Out - Checkbox field in NetSuite that indicates if the product is a closeout. Included field: eXtendPS-SE Product Part - Is Close Out {custitem_extend_promo_api_part_close}.
    Note: If functional mappings are used for this field to send data in the PromoStandards response, then the getProductCloseOut() service call will not work as expected.
  13. Line Name - Field in NetSuite that contains the Line Name or Division to which the product belongs. Included field: eXtendPS-SE Product Line Name {custitem_extend_product_line_name}.
  14. Compliance Info Available (2.0 Only) - Checkbox field in NetSuite that determines whether the compliance information is available for the product or not. This field is applicable only for the Product Data 2.0.0 service.
  15. UNSPC Commodity Code (2.0 Only) - Field in NetSuite that contains the UNSPC commodity code on the item record.
  16. Validate Response - Checkbox field that determines whether to validate the data type of the fields before returning the response or not.

Product Keyword Information

Map the Product Keyword Information field based on the following description:Image Placeholder
  1. Keyword - Field in NetSuite that contains the common keywords of the product used by search or other functions.

Product Part Primary Information

Map the Product Part Primary Information fields based on the following descriptions:Image Placeholder
  1. Product Part ID* - Product part id field in NetSuite. Recommended field: {itemid}.
  2. Product Part Description - Product description field in NetSuite. Recommended field: {salesdescription}.
  3. Product Part Country of Origin - Field in NetSuite that contains the country of origin for the part. Recommended field: {countryofmanufacture}.
    Note: The values of this field should conform to ISO 3166-1 Alpha 2 coding standards. Example: CA = Canada, US = United States
  4. Product Part Primary Material - Field in NetSuite that contains the primary material of construction. Included field: eXtendPS-SE Product Part Primary Material {custitem_extend_product_part_material}.
  5. Product Part Shape - Field in NetSuite that contains the general shape of the product part. Included field: eXtendPS-SE Product Part Shape {custitem_extend_product_part_shape}.
  6. Product Part Lead Time - Field in NetSuite that contains the lead time for the product part measured in days. Included field: eXtendPS-SE Product Part Lead Time {custitem_extend_product_part_lead_time}.
  7. Product Part UNSPSC - Field in NetSuite that contains the United Nations Standard Products and Services Code (UNSPSC). Included field: eXtendPS-SE Product Part UNSPSC {custitem_extend_product_part_unspsc}.
  8. Product Part GTIN - Field in NetSuite that contains the Global Trade Item Number (GTIN). Included field: eXtendPS-SE Product Part GTIN {custitem_extend_product_part_gtin}.
  9. In Rush Service - Checkbox field in NetSuite that indicates if the product part is Rush service. Included field: eXtendPS-SE Product Part - Is Rush Service {custitem_extend_promo_api_rush_service}.
  10. Part End Date - Field in NetSuite that specifies when the product part will be discontinued. Included field: eXtendPS-SE Product End Date {custitem_extend_promo_api_end_date}.
  11. Part Effective Date - Field in NetSuite that specifies when the product part will be effective. Includd field: eXtendPS-SE Product Part Effective Date {custitem_extend_part_effective_date}.
  12. Part Is Caution - Checkbox field in NetSuite that specifies if there are cautionary comments associated with the product part. Included field: eXtendPS-SE Product Is Caution {custitem_extend_promo_api_is_caution}.
  13. Part Caution Comment - Field in NetSuite that lists the cautionary comments associated with the product part. Included field: eXtendPS-SE Product Is Caution Comment {custitem_extend_product_caution_commen}.
  14. Part Is Close Out - Checkbox field in NetSuite that indicates if the product part is a closeout. Included field: eXtendPS-SE Product Part - Is Close Out {custitem_extend_promo_api_part_close}.
  15. Part NMFC Code - Field in NetSuite that contains the National Motor Freight Classification (NMFC) code for the product part. Included field: eXtendPS-SE Product Part NMFC Code {custitem_extend_product_part_nmfc_code}.
  16. Part NMFC Description - Field in NetSuite that contains the National Motor Freight Classification (NMFC) description for the product part. Included field: eXtendPS-SE Product Part NMFC Description {custitem_extend_product_part_nmfc_desc}.
  17. Part NMFC Number - Field in NetSuite that contains the National Motor Freight Classification (NMFC) number for the product part. Included field: eXtendPS-SE Product Part NMFC number {custitem_extend_product_part_nmfc_num}.
  18. Part Is On Demand - Checkbox field in NetSuite that determines if the product part is manufactured on demand.
  19. Part Is HAZMAT - Checkbox field in NetSuite that indicates if the product part as a hazardous material. Included field: eXtendPS-SE Product Part - Is Hazmat {custitem_extend_promo_api_part_is_hzmt}.

    Note: A nil value (unchecked checkbox) indicates that HAZMAT information is unknown or unavailable.

Product Part Dimension

Map the Product Part Dimension fields based on the following descriptions:Image Placeholder
  1. Dimension UOM For All* - The unit of measure (UOM) being used for product part dimensions.
  2. Dimension UOM Field - Field in NetSuite that contains the dimension unit of measure (UOM) for the product part. Included field: eXtendPS-SE Product Part Dimension Uom Field {custitem_extend_promo_api_dim_uomfield}.
  3. Depth - Field in NetSuite that contains the depth of the product part using the specified UOM. Included field: eXtendPS-SE Product Part Dimension Depth {custitem_extend_promo_api_dim_depth}.
  4. Height - Field in NetSuite that contains the height of the product part using the specified UOM. Included field: eXtendPS-SE Product Part Dimension Height {custitem_extend_promo_api_dim_height}.
  5. Width - Field in NetSuite that contains the width of the product part using the specified UOM. Included field: eXtendPS-SE Product Part Dimension Width {custitem_extend_promo_api_dim_width}.
  6. Weight UOM Field* - Field in NetSuite that contains the weight unit of measure (UOM) for the product part. Recommended field: {weightunit}.
  7. Weight - Field in NetSuite that contains the weight of the product part. Rrecommended field: {weight}.
  8. In the “Dimension UOM Map” sublist, create mappings between NetSuite's dimension unit values and PromoStandards' dimension unit values. For detailed information regarding PromoStandards' API UOM, see: https://tools.promostandards.org/product-data-2-0-0.
  9. In the “Weight UOM Map” sublist, create mappings between NetSuite's weight unit values and PromoStandards' weight unit values. For detailed information regarding PromoStandards' API UOM, see https://tools.promostandards.org/product-data-2-0-0.

Product Part Color

Map the Product Part Color fields based on the following descriptions:Image Placeholder
  1. Part Color Name - Field in NetSuite that contains the color name of the product part. Included field: eXtendPS-SE Product Part Color Name {custitem_extend_promo_api_part_color}.
  2. Part Color Hex - Field in NetSuite that contains the hex-value of the color of the product part. Included field: eXtendPS-SE Product Part Color Hex {custitem_extend_promo_api_part_clr_hex}.
  3. Part Color Approximate PMS - Field in NetSuite that contains the approximate PMS of the color of the product part. Included field: eXtendPS-SE Product Part Color Approximate PMS {custitem_extend_promo_api_part_clr_pms}.

Product Part Apparel Size

Map the Product Part Apparel Size fields based on the following descriptions:Image Placeholder
  1. Part Apparel Style - Field in NetSuite that contains the apparel size for non-matrix items. Included field: eXtendPS-SE Product Part Apparel Size Style {custitem_extend_promo_api_app_style}.
  2. Part Apparel Label Size - Field in NetSuite that contains the apparel label size for non-matrix items. Included field: eXtendPS-SE Product Part Apparel Label Size {custitem_extend_promo_api_app_label_si}.
  3. In the "Apparel Size Map", create mappings between the values for apparel sizes which are used in your NetSuite account against the enumerated values of sizes supported by PromoStandards. Note: This mapping will also be used for generating the inventory service response.

Product Part Specification

Map the Product Part Specification fields based on the following descriptions:Image Placeholder
  1. Specification Type* - Specification type of the product part related to PromoStandards.
  2. Specification Unit - Specification unit of the product part against the selected part specification type.
  3. Measurement Value* - Field in NetSuite that contains the measurement value of the product part.

Other Configuration

Map the Other Configuration fields based on the following descriptions:Image Placeholder

General

  1. Suppress Assembly Components - This checkbox determines whether to suppress assembly components or not.
  2. Suppress Kit Components - This checkbox determines whether to suppress kit components or not.
  3. Additional Item Search Columns - Specify the item field ID which is used in functional mappings. You can specify multiple fields in a comma-separated format.
  4. Product Search Filters - This field will work in conjunction with the Product ID field's value. The field specified in this field will be used for filtering the items for creating the product pricing and configuration response. The field specified in the Product ID field will be used for displaying the item name in the response. If this field is left empty, the field specified under Product ID will be used for both filtering and showing the item name in response. For more detail regarding the usage of this field, see Remove Parent Name from Part Name in PromoStandards Response.
  5. Product Search Column - Specify internal ID of the field used in any functional mapping created for product search.
  6. Part Search Filters - This field will work in conjunction with Part ID field's value. The field specified in this field will be used for filtering the items for creating pricing & configuration response. And the field specified in Part ID field will be used for displaying the item name in the response. If this field is left empty, then the field specified under Part ID field will be used for both filtering and showing the item name in response. For more detail regarding the usage of this field please refer this article.
  7. Part Search Column - Specify internal ID of the field used in any functional mapping created for part search.
  8. Part Search Max Count - Specify the maximum number of parts which will be sent in response.
  9. Assembly Component Search Max Count - Specify the maximum number of assembly components which will be sent in response.
  10. Kit Component Search Max Count - Specify the maximum number of assembly components which will be sent in response.
  11. Exclude Item Types - Select the item types you want to exclude from the response.

Product 2.0 Specific Configuration

  1. Fetch Product Primary Image URL Realtime - In general, the product primary image is fetched from a custom item field. More details regarding the functionality of this field can be found in Product Primary Image URL sourcing in Product Data 2.0 response. If this checkbox is checked, then the primary image URL will not be sourced from this custom item field and it will be sourced in real-time.
  2. Fetch Product Decoration Realtime - In general, the product decoration information served in the Product Data response from the eXtendTech Cache-Store custom record. More details regarding the functionality of this method can be found in How the Location Decoration Array is Sent in the eXtendPS-SE Product Data 2.0.0 Response. If this checkbox is checked, then the primary image URL will not be sourced from this custom record and it will be sourced in real-time.
  3. Fetch Product Price Realtime - In general, product pricing is fetched from a custom item field. More details regarding the functionality of this field can be found in this Configurations for Product Data 2.0.0 Item Pricing. If this checkbox is checked, then the product pricing will not be sourced from this custom item field and it will be sourced in real-time.
  4. Product Price Group Search - Saved search ID of the search which will be used for fetching the product pricing group in real-time. It will only be used when the Fetch Product Price Realtime checkbox is checked, otherwise the product price group will be in the Product Data response from a custom item field as mentioned in Configurations for Product Data 2.0.0 Item Pricing.
  5. Fetch Product FOB Points Realtime - In general, product FOB points are fetched from a custom item field. More details regarding the functionality of this field can be found in Configurations for Product Data 2.0.0 Item Pricing. If this checkbox is checked, then the product FOB points will not be sourced from this custom item field and it will be sourced in real-time.
  6. Imprint Size - Field in NetSuite that contains the imprint size applied to the item.
    Note
    : The field id can be specified using any of the formats below:
    1. Use text:{HARDCODED_VALUE} if you want to include a static response.
    2. {fieldIdA},{fieldIdB},{fieldIdC} if you want to include the first non-null field in the response.
    3. fn:{FUNCTION_NAME} if you want to include response from a JavaScript function defined in the JavaScript file suite_promoapi_invoice_transformers.js.
      1. Arguments passed (from script) for functional mapping:
        itemSearchResult: MAIN_PRODUCT_SEARCH_RESULT
        itemSearchResults: MAIN_PRODUCT_SEARCH_RESULTS
      2. Sample function: 
        /** * * @param {Object} args * @prop {Object} args.itemSearchResult * @prop {Object} args.itemSearchResults */
        function product_getDefaultImprintSize(args) {
            return {
                attributes: {
                    'xmlns': 'http://www.promostandards.org/WSDL/ProductDataService/2.0.0/SharedObjects/'
                },
                $value: 'Description of Imprint Size'
            };
        }
  7. Default Set Up Charge - Field in NetSuite that contains the default setup charge applied to the item.
    Note
    : The field id can be specified using any of the formats below:
    1. Use text:{HARDCODED_VALUE} if you want to include a static response.
    2. {fieldIdA},{fieldIdB},{fieldIdC} if you want to include the first non-null field in the response.
    3. fn:{FUNCTION_NAME} if you want to include response from a JavaScript function defined in the JavaScript file suite_promoapi_invoice_transformers.js.
      1. Arguments passed (from script) for functional mapping:
        itemSearchResult: MAIN_PRODUCT_SEARCH_RESULT
        itemSearchResults: MAIN_PRODUCT_SEARCH_RESULTS
      2. Sample function:
        /** * * @param {Object} args * @prop {Object} args.itemSearchResult * @prop {Object} args.itemSearchResults */
        function product_getDefaultSetupCharge(args) {
            return {
                attributes: {
                    'xmlns': 'http://www.promostandards.org/WSDL/ProductDataService/2.0.0/SharedObjects/'
                },
                $value: 'Description of Default Setup Charge'
            };
        }
  8. Default Run Charge - Field in NetSuite that contains the default run charge applied to the item. Note: The field id can be specified using any of the formats below:
    1. Use text:{HARDCODED_VALUE} if you want to include a static response.
    2. {fieldIdA},{fieldIdB},{fieldIdC} if you want to include the first non-null field in the response.
    3. fn:{FUNCTION_NAME} if you want to include response from a JavaScript function defined in the JavaScript file suite_promoapi_invoice_transformers.js.
      1. Arguments passed (from script) for functional mapping:
        itemSearchResult: MAIN_PRODUCT_SEARCH_RESULT
        itemSearchResults: MAIN_PRODUCT_SEARCH_RESULTS
      2. Sample function:
        /** * * @param {Object} args * @prop {Object} args.itemSearchResult * @prop {Object} args.itemSearchResults */
        function product_getDefaultRunCharge(args) {
            return {
                attributes: {
                    'xmlns': 'http://www.promostandards.org/WSDL/ProductDataService/2.0.0/SharedObjects/'
                },
                $value: 'Description of Default Run Charge'
            };
        }

Product 2.0 Pricing Fields

  1. Industry Discount Code - Field in NetSuite that contains the industry discount code applied to the item. Included field: eXtendPS-SE Industry Discount Code { custitem_extend_promo_ind_code}.

    Note: After version 1.3.8, the Industry Discount Code will be read from the Product Pricing and Configuration Service Setup Configuration page's Discount Code Field field.
  2. Price Group Name - Field in NetSuite that contains the price group name applied to the item.
  3. Price Group Description - Field in NetSuite that contains the price group description of the price group applied to the item.

Product Sellable Service
Image Placeholder

See Configure Product Data's getProductSellable Service for configuration of the Product Sellable Service subtab.

Additional Notes

  1. The Product Pricing and Configuration Service Setup Configuration must be completed to get a Product Data 2.0 response.
  2. After version 1.3.8, the Industry Discount Code will be read from the Product Pricing and Configuration Service Setup Configuration page's Discount Code Field field.