CTL Integration Proposal

Proposal Summary

This proposal covers CTL Integration. There is one existing CTL integration for CTL Netsuite. Need to modify the script in an efficient manner for reducing existing issues in the integration script.

Requirements 

Optimizing CTL integration development. Currently, multiple scripts are working for CTL integration scripts. 

  1. Script for pushing orders from Netsuite to CTL 
  2. Script for fetching orders from the CTL and creating the Item fulfillments in Netsuite. 
  3. Scheduled workflow is done to get orders from CTL and Convert the orders one by one using a workflow action script.

Our Solution

We have reviewed the script done for CTL integration. Mainly we have noticed 3 scripts and one workflow for the integration. For sending sales orders from Netsuite to CTL and importing orders from CTL to Netsuite.

When the script fetches the orders from CTL automatically converts the sales orders to item fulfillment and sets the package tracking numbers on the script.

We have noticed there will be governance issues when the schedule script will execute. The existing script does multiple operations in the same script(record creation, calling API, and searches). If governance is complete the script will stop working.

Solution for pusing Netsuite sales orders to CTL

We mentioned our understanding regarding the orders, which will be sent to the CTL for shipping.

We will get the orders from Netsuite according to the following criteria.

  1. Only we consider the sales orders with subsidiary OX TOOL USA.
  2. Order status is pending fulfillment and pending billing/partially fulfilled orders.
  3. Location is US CTL Chicago DO NOT USE/US Chicago 3PL.
  4. Ship date is on or before tomorrow these orders are considered.
  5. Order is not yet sent to the CTL logistics for shipping.
  6. Order is not on Hold
  7. Transaction number is not empty.

For fetching these orders in your netsuite account there is one saved search created. The search id is : “search id: 854”.

Here is the step we are following to achieve this integration.

  1. We will implement a Map/reduce script in Netsuite updated script version.
  2. We will handle the governance issue for when the script is scheduled.
  3. The same data we are considering for pushing orders from Netsuite to CTL(used in the current script).
  4. If a sales order with any backorder quantity item, we will not consider the order for pushing into CTL. Also, we consider only orders “sent to 3PL” checkbox as unchecked orders.
  5. The carrier id will take according to the shipping method currently used in the script.
  6. We will use the same Order stream values currently used in the script.
  7. If the carrier id is empty, we will not consider those orders for processing.
  8. After successfully sending data without any error we will set the time and date like the current process.
  9. If any errors occur in the script we will store the error value in the error field which is used in the sales order record.

Schedule script for Import orders from CTL and creating item fulfillment records in Netsuite.

We will fetch shipment details  from CTL using the API. If the shipment country code is not ‘AU’ we will create item fulfillment for these orders.

  1. We will write a new map/reduce script in the updated script version. 
  2. We will begin the new script execution from the last proceed to order from CTL. The existing script will process the last processed order value in a custom record with internal id:”custrecord_err_msg”.
  1. We will process each order one by one in the NetSuite.
  2. We will automatically create item fulfillments for received orders in the CTL.
  3. For receiving orders we will consider the item UPC or Item SKU for the unique value.
  4. If the order contains the same items in the multiple lines. First, we will fulfill the first item with a full quantity then only we will set the quantity for the remaining item with the same SKU/UPC.
  5. Also, we have set up the tracking Number for the item fulfillment which is received from CTL global.
  6. Only we have updated the script and optimized the script in an efficient way.

Workflow and workflow action script for item fulfilment creation

We will fetch shipment from CTL for creating item fulfillment in Netsuite.Based on the following criterias are satisfied with the orders.

  1. We will check the orders already sent to the 3PL in Netsuite. Only created the item fulfillment for already sent orders in CTL.
  2. We will check if the order subsidiary is not the OX tool AU.
  3. Customer is not ‘TEST-USA’.
  4. Order status is pending fulfillment.
  5. Transaction number is not empty.

For achieving this a saved search is already created with internal id : “861”.

If the shipment country code is not ‘AU’ we will create item fulfillment for these orders.

We found a schedule workflow flow for creating item fulfillment in Netsuite using the CTL Shipment details.This work-flow using a saved search internal id : ‘’861” for getting orders.For these orders  we will create item fulfilment records using shipping data fetched from CTL.

For this script we will use the same saved search for getting orders.

  1. We will create a new workflow action script in netsuite.
  2. The work-flow and saved search we will reuse in this script.
  3. We will not create item fulfilment in Netsuite if the shipment country code is ‘AU’.

Assumptions

  1. Only creates the item fulfillment record according to the country code.
  2. There will be multiple scripts working for date formatting. We will not update the script. Currently, we could not find issues in those existing scripts.
  3. We can implement the script in Sandbox first after testing we will move to production.
  4. This estimate is only for the CTL integration not for a split order calculation.
  5. We are not considering the modification for Axima integration in this proposal.  

Question/Risks

  1. We found errors in the existing script because the shipment data is missing on API response. When the script tries to take the country code from the JSON response, the following error occured. Entire item fulfillment creation will fail in the existing script.

Could you please confirm how you would like to process such orders to create IF?

  1. We will follow the same process defined by Netscore with the new script version and by including more error handling. So OX Tools need to confirm if any updates/Modification required from the existing process for CTL. Because we identify the process by analysing the existing scripts.
  2. Split order processing is not included in this scope

Leave a comment

Your email address will not be published. Required fields are marked *