Netsuite – Shopify integration
Customer Sync
Customer sync from NetSuite to Shopify
- Customer Sync from NetSuite to Shopify will be a real-time sync.
- When a customer record is created in NetSuite, the corresponding customer details will be utilized to create a customer in Shopify website
- When there is ShopifyID is present and Shopify Sync checkbox is checked, if there is a customer updated/ deleted in NetSuite, that will be reflected in Shopify. We will be considering the ShopifyID and email address as the unique key for the customer sync.
Customer sync from Shopify to NetSuite
- Customer Sync from Shopify to NetSuite will be a real-time sync.
- When a new customer is registered in the website, the customer details will be utilized to create a customer in NetSuite.
- The Shopify Customer ID will be stored in corresponding NetSuite customer record.
- Currently, we are syncing the customers from Shopify to NetSuite in a real time sync, but there is a limitation in this real time sync that only 5 requests can be handled. That is, if 6 customers are registering to the website at the same time, only the 5 customers can be created in NetSuite. We can go for a scheduled sync in future if required.
- We can implement this if we have the customer’s username and password. Customer account can be imported using shopify free apps. Additionally, we can use paid apps to perform functionality that can’t be accomplished with free Shopify apps.
Note:
- The update/deletion of records in the Shopify website will not be reflected in the NetSuite.
- Field mapping will be confirmed in the initial stage of development
- Whenever a customer is deleted in NetSuite, it will also get deleted from the Shopify customers list. If there are any dependent records are there, the record cannot be deleted in Shopify.
- Multiple addresses are allowed in NetSuite and Shopify.
- If the lead transforms to a customer in NetSuite, the integration will not work for this scenario. The integration will be triggered if the customer record is created/modified.
Item Sync
Item Sync from NetSuite to Shopify
Inventory Item Create / Update / Delete:
Whenever an item is created/ updated /deleted in NetSuite, that will be reflected in Shopify. We will be considering the SKU as the unique key for the item sync. SKU in the Shopify website will be mapped to the Item Name field in the item record in NetSuite.
Note:
- As per our current scope, we will only consider syncing the inventory items from NetSuite to Shopify.
- The update/deletion of item records in the Shopify website will not be reflected in the NetSuite.
- Field mapping will be confirmed in the initial stage of development
- Whenever a synced item is deleted in NetSuite, it will also get deleted from the Shopify product list. Whenever a synced item is updated in NetSuite, it will also get updated in the Shopify product.
Item Category Sync
Category sync from NetSuite to Shopify
- In Shopify, we have collections, collections are typically displayed to customers so that buyers can select to view only the products in the collection.
- We can create custom collections in Shopify for the categories in NetSuite.
- Category sync is real time sync, that is, when a new category is created in NetSuite, a new custom collection corresponding to this NS category will be created in Shopify. The name of collection created in Shopify will be the name of category in NetSuite.
- At the time when an item is added to a category in NetSuite, if this item is synced with Shopify, then the item in Shopify will also be added to the corresponding collection in Shopify.
- It is required to perform the sync of currently existing categories with Shopify initially.
- The category sync is only from NetSuite to Shopify.
- When the category is deleted from NetSuite, the corresponding collection from Shopify will also be deleted.
- On the website category page, the category will be listed, and customers will not be able to see products and its price without logging in.
Inventory levels Sync
Inventory Level sync from NetSuite to Shopify
- A custom field will be available in the item records to indicate that the items will be synced with Shopify. If the custom checkbox is checked, then the stock quantity will be updated to the Shopify. Otherwise, the item’s availability will not be updated in the Shopify.
- Inventory level sync will be a real time sync.
- Whenever the inventory stock is updated in NetSuite, the same will be updated in the Shopify product.
- For updating the stock quantity, the script will check the ’quantity available’ field in NetSuite corresponding to locations(outlets) in the item record.
- We will be only considering the one-way sync of inventory stock from NetSuite to Shopify website.
Note:
- The inventory sync is only from NetSuite to Shopify.
- We assume that the stock take activities will not be conducted in the Shopify website
- Any inventory adjustment or write-offs of the products will always be handled on the NetSuite Side
- If there are multiple locations in NetSuite, locations corresponding to these NS locations needs to be created in Shopify as well.
- No updates of stock level from Shopify to NetSuite will be taken place
TECHNICAL SUMMARY
Customer Sync:
- Real time sync from NetSuite to Shopify(Create/update/Delete)
- Real time sync from Shopify to NetSuite (Create)
Item Sync:
- Inventory item: Real time sync from NetSuite to Shopify(Create/update/Delete)
Category Sync:
- Real time sync from NetSuite to Shopify(Create/Delete)
Inventory Level Sync:
- Real time sync from NetSuite to Shopify
Search and Filters
- Shopify includes basic search functionality by default.
- Currently there is no option for filtering based on the color and material as per the existing website. To achieve this, we need to install third party app or by custom development.
ASSUMPTIONS
- The Price level sync is not considered in the current scope. We do not have Rest APIs to create the price levels in shopify currently. But we will check for the possibilities of implementing the price level sync using any third party applications and if possible, we will proceed with the development for price level sync. On other case the price level should need to be managed from the Shopify itself.
- Field mapping should be defined in the initial stage of development
- Integration will be active for new records created in NetSuite or updates that happen in NetSuite. The migration of existing/historical customers and items also included in the scope of this development.
- If there is a customer with the given details in the NetSuite but it is inactive, a new customer will not be created before creating the sales order.
- Applicable only to inventory items in NetSuite. Not applicable to special orders, drop ship, kits, services, item group, other charges items
- Not applicable for a lot or serialized items
- Phone field format will not be considered and in NetSuite, the phone field value should have at least five digits and we expect a minimum of five digits in the phone field value entered in the Shopify website.
- There are limits for the fields like a city with a maximum word length of 50 characters in NetSuite and this will be limited while sending data from NetSuite to Shopify website
- Warehouse’s locations will not include any bin management
- Single master data can only be sent at a time
- We are not considering the unit of measure specified in any records
- We will not be considering multiple currencies and assume that there is only one base currency
- Date format of the data sent to ShopifyAPI Should be UTC format and the date format in NetSuite will be followed according to the global preference set up in the account
- Large or additional changes on the theme designs will be consider as extra.
- If the free third-party app does not fulfill the requirements, the Client should need to purchase the paid version to accomplish the same.
RISK
- Some of the API endpoints will be deprecated/version updates can take place in the future.
- If there are any null values in any fields in NetSuite or Shopify, we will be updating the null value itself in the corresponding fields
- Some APIs will infer some mandatory fields while sending data to the Shopify website and which will not be a mandatory fields in NetSuite, and we might need to make it a mandatory field in NetSuite
- Creation of items in the Shopify website will not be reflected in NetSuite
- While we are deleting the records in Shopify, if there are any dependent records, the deletion of a record in Shopify will not take place.