Proposal for Netsuite integration with WMS

Proposal summary

The proposal covers the scope of integrating Netsuite with WMS. This proposal also covers the engagement scope of Jobin and Jismi It Services LLP, as official implementation partner Of Oracle NetSuite.

Requirement 

A one way integration between the Netsuite & WMS system should be implemented to send the vendor record, Purchase order, Item receipt. If the record is created or updated in the Netsuite, it should be sent to WMS using API . Also, item receipt data should be created in Netsuite after getting the request from WMS to Netsuite.

Integration will took place for the following data from Netsuite to WMS :

  • Vendor Master Data
  • Purchase Order

Integration will took place for the following data from WMS to Netsuite 

  • Item Receipt

Our Solution

Prerequisite

  • We need access to WMS  and Netsuite sandbox account during the development phase and the production Netsuite and WMS accounts
  • We need the API credentials to access WMS

Custom record Set up

A custom record can be created to handle the error while integrating the vendor record, purchase order and item receipt. For every record purchase order creation in Netsuite, there will be one integration custom record created in Netsuite. Any error while integration of purchase order and item receipt will be reflected in the custom record and email notification can be sent to the administrator or a specified employee if any error is created during integration.

Netsuite to WMS Integration

The integration will be one way from Netsuite to WMS. This will be a real time integration.

Vendor Data Sync

A script will be implemented in the vendor record and after every creation in the vendor record in the Netsuite, data will be reflected in the WMS in real time. Also, any update in the vendor record will be reflected in the WMS system

JSON Request FieldNetsuite FieldDescription
ownerCode(String)“Legacy”(Hardocode)Owner Code
supplierCodeentityidSupplier Code
supplierNamecompanynameSupplier Name
taxIdNumbervatregnumberTaxId Number
Supplier Addressaddr1, addr2, addr3, city, zip, countryNetsuite Default shipping address values in the vendor record will be used.
supplierFaxfaxSupplier Fax
supplierTelphoneSupplier Phone
supplierEmailemailSupplier EMail
remarkmemoMemo

Purchase Order Sync

A script will be implemented in the purchase order record and after every creation or update in the purchase order record in the Netsuite, data will be reflected in the WMS in real time. 

JSON Request FieldNetsuite Field Internal IDDescription
ownerCode(String)“Legacy”Owner Code
docNotranidDocument Number in Netsuite
docDatetrandateTransaction Date
supplierCodevendor.entityidSupplier Code
dueDateduedateDue date
PIditemidItemid value of the item
quantityquantityQuantity field of each line item
unitCodeunitsUnit of Measure

After getting the response from WMS, we will store the response status in the custom field ‘custbody_wms_infstatus’ in the Netsuite

WMS to Netsuite Integration

Item Receipt Sync

The integration  is from WMS to Netsuite for creation of Item Receipt in the Netsuite. A RESTlet script will be implemented in the Netsuite for creating an API for Netsuite to accept the request sent from WMS to Netsuite to create an Item Receipt.

The following table data will describe the request parameters accepted by Netsuite API

JSON Request FieldNetsuite Field Description
docNo(Mandatory)custbody_wms_tranidCustom field in Netsuite
basetranid(Mandatory)createdfromDocument number of the purchase order in Netsuite
docDate(Mandatory)trandateDate to be reflected in item receipt and it should be in the format as specified in the Netsuite account
remarkmemoMemo 
pId(Mandatory)item.itemidItem Name
quantity(Mandatory)quantityQuantity of each line item
inventorynumberinventorynumberSerial number/Lot number
orderline(Mandatory)orderlineLine Number of items in purchase order
location(Mandatory)location. custrecord_locationcodeLocation where the item is received 

Sample Format:

{

    “docNo”: “PO15060010”,

    “docDate”: “2015-06-17”,

    “basetranid”: “PO15060010”,

    “memo”: “”,

    “item”: [

        {

            “pId”: “080001”,

            “quantity”: “”,

            “location”: “0000-00”,

            “orderline”: 1,

           “inventory_detail”: []

          },

        {

            “pId”: “080002”,

            “quantity”: “3”,

            “location”: “0000-00”,

            “orderline”: 2,

            “inventory_detail”: [

{

                           “inventory_number”: “LOT-0000-01”,

               “quantity”: “2”,

},

{

             “bin_number”: “080002”,

               “inventory_number”: “LOT-0000-02”,

               “quantity”: “1”,

}

]

       }

    ]

}

Note: We will only be creating a POST request API for creation of Item receipt in Netsuite and we are not updating the already created item receipt.

Response for Item Receipt creation in Netsuite will contain following fields:

JSON Request FieldNetsuite Field Internal IDDescription
docNotranidDocument number of Item receipt
statusCodeResponse status as Success or Failure 
messageMessage will be Netsuite error or standard message

Response Status Codes:

  • SUCCESS
  • FAILURE

Response Messages:

  • docNo is missing
  • Document number is invalid
  • docDate format is invalid
  • pId is missing
  • quantity is missing
  • orderline is missing
  • Location is missing

Note:

  • We will be validating whether the document number is valid or not
  • We will be checking whether  the date format is  “YYYY-MM-DD”
  • For other mandatory fields, we will be checking whether the parameter is present or not and the value is not null

Assumptions

  • All items master Data is integrated from Netsuite to WMS (including Unit of Measure) and will be out of the current scope
  • WMS mentioned in the requirement is a third party integration and we are not using the Netsuite WMS module
  • HTTP POST requests can be send with the custom WMS API and while sending the data in the mentioned format, corresponding records will be formed in the WMS system
  • For update and creation of records in Netsuite, we will be using the HTTP POST request method and the WMS system should handle this.
  • We will not be considering the deletion of vendor , purchase order or Item receipt record in the Netsuite
  • Single master data can only be sent at a time
  • We are not considering the exchange rate of transactions in NetSuite
  • We will be sending the unit specified in the purchase order
  • We will be not be considering multiple currencies and assume that there is only one base currency
  • We are only integrating the inbound processes and outbound processes are out of scope of this integration
  • Applicable only to inventory items and not applicable to Kit/package, Item group
  • Applicable to Lot and serialized inventory item and assuming that there is bin management involved in the warehouse
  • We are not considering the any Tax codes while creating and update the record in the Netsuite
  • Applicable only for the Item Receipts created from the purchase orders only and we are not considering the intercompany purchase orders.
  • If there is an approval (standard approval) in NetSuite, only the approved transactions will be send to WMS
  • We will send all records under consideration to WMS regardless of subsidiary/ department/class
  • We will be using the date format for sending and receiving data between Netsuite and WMS as “YYYY-MM-DD” Vendor returns is out of scope of this integration
  • Modifications of Item receipt cannot be achieved by the Netsuite API
  • Inbound Shipment Management and Inventory Detail on Inbound Shipment features are enabled in the Netsuite account

Time

Estimated Effort : 36h

Leave a comment

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