Shopify orders are retrieved in CIC and the order JSON is translated into NetSuite Sales Order XML, which is then posted to NetSuite.
This section explains the settings required to configure the integration between Shopify and NetSuite to retrieve orders and create the corresponding Standard Sales Order on NetSuite.
How to Configure - Global Variables, Reference Table, and Schedulers
- Configure the following global variables in the com.cleo._customer_.booster.shopify.ShopifyGV Global Variable object:
Global Variable Description ShopifyStoreNames Specifies the Shopify store names being connected to. Multiple store names can be specified separated by commas. Shopify Vault entries should also be the same as the store names. HttpErrorCodesToBeIgnoredForTicketCreation
This is used to identify HTTP error codes that need to be flagged as ‘successful job flows’ in the cockpit. If not mentioned here, the error codes would be flagged as failed jobs in the cockpit.
- Configure the following global variables in the com.cleo._customer_.booster.shopify.NetsuiteGV Global Variable object:
Global Variable Description SimpleItemFileInternalIds This field mentions the internal id of the ‘Simple item’ CSV file uploaded in the file cabinet. Details about csv file setup are mentioned below KitItemFileInternalIds
This field mentions the internal id of the ‘Kit items’ CSV file uploaded in the file cabinet. Details about csv file setup are mentioned in configuration doc under ‘Inventory section’
This field mentions the internal id of the ‘Modified Kit items’ CSV file uploaded in the file cabinet. Details about csv file setup are mentioned in configuration doc under ‘Inventory section’
This field mentions the internal id of the ‘Item Groups’ CSV file uploaded in the file cabinet. Details about csv file setup are mentioned in configuration doc under ‘Inventory section’
This field mentions the internal id of the ‘Modified Item Groups’ CSV file uploaded in the file cabinet. Details about csv file setup are mentioned in configuration doc under ‘Inventory section’
- Configure Reference Tables
- Deploy the project - com.cleo._customer_.booster.shopify.
- Run the process - com.cleo._customer_.booster.shopify.products.CreateShopifyProductsRefTableBPS.bps to create the required reference table.
- Run the process - com.cleo._customer_.booster.shopify.products.LaunchShopifyProductsBPS.bps to populate product records in the reference table for the stores mentioned in ShopifyStoreNames (ShopifyGV mentioned above).
- Run the process - com.cleo._customer_.booster.shopify.locations.CreateLocationIdRefTableBPS.bps to create the required reference table.
- Run the process - com.cleo._customer_.booster.shopify.locations.LaunchShopifyLocationsBPS.bps to populate location records in the reference table for the stores mentioned in ShopifyStoreNames (ShopifyGV mentioned above).
- To verify the setup is complete, navigate to Integration tab > Reference Tables and ensure the required tables have been created.
- Configure the Process Schedulers:
The scheduler - com.cleo._customer_.booster.shopify.products.LaunchShopifyProductsPS.sched is scheduled to run the flow every 1 day with start time set as 4:29:00 PM.
The scheduler - com.cleo._customer_.booster.shopify.locations.LaunchShopifyLocationsPS.sched is scheduled to run the flow every 1 day with start time set as 12:00:00 AM.
The scheduler - com.cleo._customer_.booster.netsuite.inventory.LaunchNetsuiteInventoryPS.sched is scheduled to run the flow every 4 hours with start time set as 12:00:00 AM.
See Creating and Defining Process Schedules – Cleo for more information about defining Schedulers.
Configure CSV Internal IDs
The Inventory Sync Flow consumes inventory data from Netsuite in the form of a CSV file. Inventory data should be updated in the same file periodically. The file name and internal ID should stay constant for every inventory sync run. Note the ‘InternalId’ of the uploaded file and the internal ID of the file should be configured in global variables. For details about CSV schema for inventory items, see the configuration document checked in the with shopifynetsuite intersection project.
How to Test the Order Flow
After you configure the Order Flow (described above), you can test the flow by running it manually or automatically.
- Make sure the following Projects have been deployed:
Note: If any of the projects are already deployed and are not modified, they do not need to be redeployed. If the util 1.0.0 project already exists in the workspace, the customer should upgrade to the latest version.
- Run the LaunchNetsuiteInventoryBPS.
- Manually - Run the LaunchNetsuiteInventoryBPS from your Workspace. For more information, see Business Processes in Starting Objects.
- Automatically - If you have correctly configured the LaunchNetsuiteInventoryPS scheduler, the Business Process will start as scheduled. For information about scheduling, see Creating and Defining Process Schedules.
- Review the results of the flow as follows:
- Review Auditor logs.
- Verify the following in the CIC Cockpit: Message Tiles, Jobs, Dashboard > Charts.
- If the processing fails, then a ticket will be generated; errors will be visible in the cockpit message tile and the job (examples shown below).
Cockpit error job
How to Customize the Inventory Flow
Two typical areas to customize the Order Flow are schedule and mapping details.
Customizing the Business Process
LaunchNetsuiteInventoryBPS is configured to support simple items, kit items, and item groups by default. If one of the items is not applicable to your use case, it can be removed from the LaunchNetsuiteInventoryBPS by disabling or removing the item type block from the business process. For instance, in order. to disable Kit/Package items, the following highlighted steps should be removed from LaunchNetsuiteInventoryBPS:
Customize the Scheulde
The scheduler, com.cleo._customer_.booster.shopify.orders.LaunchNetsuiteInventoryPS, is configured by default to retrieve inventory records every 4 hours. Change THE schedules to run more frequently or less frequently. For details on defining a scheduler, see Creating and Defining Process Schedules.
Adding Mapping Details
The Inventory Sync record is created with all the required fields required for inventory sync. The values mapped are documented in the Integration Design Specification -com.cleo._customer_.shopifynetsuite.docs.LMS.NetSuite_Shopify Logical Mapping Spec Template_V2_1.0.1.xlsx ). However, you can add fields by updating the ruleset com.cleo._customer_.shopifynetsuite.inventory.NetsuiteInventoryToShopifyItemInventoryRS per your requirements.
Please contact Cleo Support for assistance with the above steps.