PROPOSAL SUMMARY
This proposal outlines the scope of order and fulfilment integration between NetSuite and Lithotone, and also the limitations and drawbacks of this integration.
REQUIREMENT
Taycobrace needs to integrate the orders and fulfilment between NetSuite and Lithotone. They need the sales order details created in NetSuite to generate orders in Lithotone. And they need to create the Item Fulfillment for the Sales order in NetSuite based on the status of the Order in Lithotone.
OUR SOLUTION
With the API provided by the Taycobrace, we can connect with the Lithotone from NetSuite.
1. Custom Record
We will create a custom record in NetSuite for the error handling. If any error occurs while creating an Order and Item Fulfilment, we will create a custom record. This record will have the fields to store the Order ID and the reason for the error.
2. Order Creation
We need to create a custom field in the sales order to store the Order ID from the Lithotone. The order creation in the Lithotone is a scheduled process, we will deploy a scheduled script in NetSuite to send orders to Lithotone.
We use a saved search to identify all the sales orders in NetSuite that has no value in the custom field (which stores the Lithotone Order ID) and status pending fulfilment.
We will use the “ Order Header” API to create an order header in Lithotone and its response will be the Order ID, and we will store this value in the custom field. Then we call the “Order Line” API to create the line items for the order in Lithotone.
If any error occurs, we will create a custom record for the error handling.
3. Fulfillment Creation
The Item Fulfilment record creation in NetSuite is a Scheduled process. We will develop a scheduled script that will run every day. Using saved search we will find the Sales order that has Lithotone Order ID and status pending fulfilment, and we will use “Order Status” API to get the status of the Order in Lithotone. If the response is “Shipped” then we will call the “Order Details“ to get the line items in the Lithotone. In order to get the tracking numbers for the order we will call the “Order Tracking” API. With this information, an Item Fulfilment record for the order will be created in NetSuite.
Note : We use multiple API calls to produce orders and Item Fulfillment, increasing the time required to create a single record. For the creation of an order in Lithotone, two API requests are required. The creation of an Item Fulfillment record in NetSuite requires three API calls.
PRE-REQUISITES
- We require JSON files of all the API requests. The API documentation we have contains only the parameters (and its definition) used by the API; it lacks request and response formats. It would be great if the request can be given in CURL format.
- We require the credentials of the NetSuite sandbox instance to develop the script and connect with the Lithotone test environment.
ASSUMPTIONS
- Invoice Creation
We assumed that when an Item Fulfilment record was created, the invoice had to be made. This invoice will be only for the items in the Item Fulfilment record. Back-ordered items will not be present on the Item Fulfilment, hence it will not be considered in the Invoice.
- Order Line API
The “Order Line” API in order creation will take only one line item from the sales order in NetSuite. So, if a Sales order has more than one line item, we will call the “Order Line” API that many times.
QUESTIONS
- Which shipping career should be assigned to the Item Fulfilment record in NetSuite?
- What If a single order has multiple Item Fulfilment records, will they have multiple tracking numbers?
ESTIMATED EFFORT
Estimated Efforts: 58hours
| Task | Time |
| Analysis | 3hr |
| Schedule script for order creation | 16hr |
| Schedule script for Item Fulfilment | 20hr |
| Invoice Creation | 9hr |
| Custom record and custom field creation | 4hr |
| Documentation and Deployment | 3hr |
| Testing | 3hr |