The project is designed to retrieve the Shopify orders at a specific interval and create the corresponding Standard Sales Order in NetSuite. Once the Orders/Items are fulfilled on the NetSuite, the corresponding Item Fulfillments are retrieved from the NetSuite and updated as a Shipment to the Shopify Order.
Supported integration flows
Features
- Pre-built Integration Flows: Integration flows in CIC are provided to retrieve orders from Shopify and create the corresponding Sales Order in NetSuite. If the customer does not already exist, the customer is created in NetSuite before creating the Sales Order. If the buyer updates the order in Shopify, the Sales Order in NetSuite is updated respectively. If the buyer cancels the Shopify order before fulfillment, the Sales Order in NetSuite is updated to be closed. Once the Order is fulfilled, the integration flow automatically retrieves the Item Fulfillment from NetSuite and updates the Order with the shipment details. The Inventory sync flow updates an item’s on-hand quantity with respect to the location from NetSuite to the corresponding item in Shopify.
- Throttling: If the API requests are throttled on Shopify, the Accelerator handles the throttling without any manual intervention. The process execution waits as per the throttling restore rates from the Shopify API limits.
- No order loss: The Accelerator is designed in such a way that there is no order that is missed while retrieving from Shopify. The Accelerator also ensures that duplicate orders are not created on the NetSuite side.
- Error Handling and Ticket Creation: Accelerator ensures all the processing failures are logged as a ticket and marked as Issues in the Cockpit
- Integration Design Specification: This is a default mapping template for a Transaction between source and target ecosystem entities. The Integration Design Specification describes the transaction type, Data Flow direction, source data, target data, and relevant application version(s). It also includes applicable B2B/API elements and mapping rules. The template helps to explain the business rules that are applied while creating the order on the NetSuite from the Shopify Order. The template helps in documenting any changes to the template as per your requirement.
- Out-of-the-box Cockpit visibility: Accelerator is already enabled with the resources necessary to display data in several Cockpit monitoring pages.
- The Message Details page displays the life cycle of a Shopify Order along with the shipment.
Example of Inventory Doctype. - Accelerators are also enabled to populate out-of-the-box charts to monitor marketplace-related transactions. (See below).
- Dashboard > Chart transactions screenshot with details.
- Marketplace Order - shows total amount, orders count
- Cancelled Shopify Order - shows total count
- Shopify Order Fulfillment - shows total count
- Shopify Inventory Activity - shows inventory sync records count i.e. number of times a product count has been synced between Netsuite and Shopify
- Marketplace Order - shows total amount, orders count
- Customer Creation: If the customer does not exist in NetSuite, then the Accelerator creates the customer in real-time based on customer's e-mail. Details about the Shopify customer field tags are mentioned in the Shopify_NetSuite Accelerator Logical Mapping Spec Template located in the docs folder. If the customer (email/name) is not specified in the order request, then a dummy email and name is defaulted on the sales order. Details of these dummy customer details can be configured in ShopifyNetsuiteGV.globalVar (shown here).
- The Message Details page displays the life cycle of a Shopify Order along with the shipment.
Prerequisites (Connector Projects, Custom fields, SKU)
Please read, understand, and complete the following prerequisites before configuring and using this Accelerator.
What’s not supported
- Price feeds/updates are not included.
- Product sync between NetSuite and Shopify is not supported.
- It is assumed that any Shopify store has a minimum of 1 product SKU configured.
- The order update includes adjusting item quantities, add/remove items, and updating notes and shipping addresses. Currently, contact information update ( email & phone number ) is not supported.
- Reference Table ‘shopify_location_id_store_id_table’ should be populated manually with store location records. More details in the section ‘Order Fulfillment (Shipment)’ in ‘Shopify NetSuite Accelerators Document’ Currently, the Accelerator doesn't work for ‘canceled’ or ‘updated’ orders to be inserted into NetSuite. They are retrieved from Shopify and users can extend the logic as per the requirements.
- Tracking number updates to fulfillment records are not supported in the current phase. If an update is required for number tracking, it should be manually updated in Netsuite in the ‘Package tracking number’ section below.
- Multiple tracking numbers are not supported by Shopify REST APIs. Single tracking numbers should be provided in the NetSuite Item Fulfillment record.
How to Add a New Flow
If you find any flow that is not covered as part of the Accelerator, you can create a new extended Project to add the specific flows as per your requirements.
For example, if Invoice flow needs to be added, follow the steps mentioned below.
- Create a new Project:
com.cleo._customer_.booster.netsuite.extended
. - Add a Booster Project:
com.cleo._customer_.booster.netsuite
.
2a: Set this Project as a dependency (from the Manifest.MF file) to thecom.cleo._customer_.booster.netsuite.extended
Project created above. - In the project
com.cleo._customer_.booster.netsuite.extended
, create the following package:com.cleo._customer_.booster.netsuite.extended.invoice
.
3a: Create your BP Schedulers and Rulesets (This includes Launcher, DARS, Search Request, and Search Response). - Create a new Project:
com.cleo._customer_.booster.shopify.extended
.
4a: Add Booster Projectcom.cleo._customer_.booster.shopify
as a dependency (from Manifest.MF file) to thecom.cleo._customer_.booster.shopify.extended
Project. - In the
com.cleo._customer_.booster.shopify.extended
Project, create a new package:com.cleo._customer_.booster.shopify.extended.invoice
. - Create a new Project:
com.cleo._customer_.shopifynetsuite.extended
.
6a: Add the Booster Projectcom.cleo._customer_.booster.shopifynetsuite
as a dependency (from Manifest.MF file) ofcom.cleo._customer_.booster.shopifynetsuite.extended
Project. - In the
com.cleo._customer_.shopifynetsuite.extended
Project, create a new package:com.cleo._customer_.shopifynetsuite.extended.inventory
.
7a: Create a Route Business Process and configure it as required.
7b: Create the Transformation Ruleset per your business requirements. - Deploy all the Projects that have changed.
- Run and test.
Please contact Cleo Support for assistance on Project structure or steps noted above.
Project Structure
Detailed Accelerator documentation on the project structure and object-level details is available in the Project: com.cleo._customer_.shopifynetsuite.docs.
(Workflow and Project Details for NetSuite Shopify Accelerator.pdf)
How to Configure the Cleo-Supplied Staging Database
Take these steps to configure the Cleo-provided staging database.
- Deploy the project -
com.cleo.cic.util
- Create the required table by running this Business Process -
com.cleo.cic.util.processes.CreateStagingDataTableBPS
. - To verify if the setup is complete, refer to the auditor logs. The auditor logs display the specific step details. If there are issues (driver or connection issues, for example), they will appear in the logs; in this case, you must take corrective action and run the Business Process again.
Comments
0 comments
Please sign in to leave a comment.