Best Practice for Product Sync
Product sync applies to both Full Product Sync and Price and Quantity sync.
Flag Field
NetSuite Connector does not sync every item to the storefront with Product Sync. It uses a flag field on the item that allows you to indicate which items should sync to the storefront. This also lets you determine, by connector or account, which items will or will not sync. Therefore, there is flexibility to different sets of items for different connectors or accounts.
SKU Values
Storefronts identify items by an SKU value. NetSuite Connector uses this value as a unique identifier to match to an existing item in NetSuite, so the source and target item can be determined during product sync. A field on the NetSuite item record containing the SKU value on the item record is designated in the Product Mappings. When NetSuite Connector retrieves an item from NetSuite, it uses the value in the mapped SKU field to find a matching item in the storefront. This requires the SKU values to uniquely match, one-to-one, between the storefront and NetSuite.
Consider the following:
-
The best practice is to use the Item Name/Number field as the SKU field.
-
The NetSuite Connector requirement for unique SKUs applies to all storefronts even if the storefront allows duplicate SKU values.
-
NetSuite SKU values must be unique across all item types and across both active and inactive items.
-
SKU values are case-sensitive.
-
If you are using Order Sync, the same SKU field must be used for both Order Sync and Product Sync, otherwise you would be syncing products that are not selling in orders.
Mapping Logic
All complex logic for determining the field values to sync to the storefront must be handled in NetSuite using a formula field, script, or some other automation. NetSuite Connector works best when mappings are relatively simple. NetSuite Connector either directly syncs data from NetSuite to the storefront or uses a simple translation mapping to produce an output for the storefront field. Constructing complex mapping logic directly in NetSuite Connector complicates troubleshooting, makes issues unclear, and renders some mappings only editable at the backend, which then requires you to rely on support for editing or even viewing your mapping. Keeping complex logic in NetSuite allows you to have full control and visibility into such logic. If an unexpected value is written to a field on the product in the storefront, determining where the unexpected data came from is greatly simplified.