Using NetSuite as a Third-Party Logistic Manager

Posted by CuriousRubik on 26 Mar, 2018

Whether you are a third-party logistics company, or you have some extra storage space you would like to rent, a question that often gets asked is “How would NetSuite handle this process?”. Using built-in NetSuite functionality, we can install a set of processes that will allow us to receive our Customer's inventory, ship orders to their end clients, and bill them for service rendered. In this manner we will also be able to continue using NetSuite as a full ERP system to manage our own inventory, finances, employees and all the other awesome things NetSuite does.

Receiving Process:

Customer >> Sales Order >> Item receipts >> Customer Inventory.

The receiving process will allow us to receive inventory from our Customer into our own NetSuite instance. Here are the steps required to carry out the process:

Declare a Vendor relationship with your Customer. This will allow you to link Purchase Orders you create in your system directly to your Customer.

When you receive the list of items your Customer is sending to your warehouse, create these items in your instance.

NOTE: It is important to create these items with a 0$ value since they do not belong to you, and you do not want them to impact your own finances! Create a custom field named 'item value' and import the value there. This will allow you do to inventory valuation through reports or saved searches for your Customers.

Create a Purchase Order with the items on it associated to your Customer's Vendor record and receive it like you would any other. This will increment the Customer's inventory in your system.

Shipping Process:

Customer >> Sales Order >> Item Fulfillment >> Customer Inventory.

Once we have our Customer's items in the warehouse, it's time to start shipping them to their end clients on their behalf.

Wait for your Customer to send you a list of orders to ship to their end clients.

Create a new Sales Order for each of the orders you received, taking care to associate them with your Customer, but using the end client for the shipping address.

Be sure to set a value of 0$ to every item in this transaction, as these Sales Order are only meant to be fulfilled and never billed! Shipping cost can safely be calculated on the fulfillment.

Fulfill the Sales Orders using the standard NetSuite flow of creating a fulfillment and shipping to the end clients. This decrements the Customer's inventory.

Billing your Customers for the storage space they used and the receiving/shipping you did for them is an easy feat. NetSuite can keep track of the process, and you can define saved searches to get access to all the data you need.

  • Receiving fees are calculated from Purchase Orders and Item Receipts received within a time period.
  • Shipping fees are gathered from the Sales Orders and Item Fulfillment created during the shipping process.
  • All you need to do is the add any extra fees, create a Sales Order, and invoice your Customers.

By creating reports and saved searches based on the transactions we used during the different processes, it is easy to reconstruct the activity for a certain time period. For example, you could search for all items received and shipped during a month's period by a particular Customer and this would give you the information necessary to do your billing by the quantity of items received and sent.

By joining the receiving, shipping, and billing process you get a simple workflow using NetSuite's existing functionality to manage a third party logistic operation. The beauty of this solution is that it is entirely flexible to fit your needs.


  • You have a lot of Customers and you need to keep everything organized? Use classes to link all the transactions and items by Customers.
  • You want to track additional fees like 'time to receive' and 'time to ship'? Simply add custom fields to hold the required information on Item Receipts and Item Fulfillment.
  • You want to make easier the importation of Purchase Orders and Sales Orders? Create some Restlets or use Web Services to obtain the information and add it in Netsuite automatically.
  • You want to automate the billing process? Create a script that gathers the required information through searches and create the Sales Order automatically.
  • You want to support Return Authorizations and Vendor Return Authorizations? These processes are almost identical to our receiving and shipping process thanks to the built-in Netsuite support.
  • With well defined processes and a little ingenuity, it's easy to add third party logistic capabilities to NetSuite.

Topics: NetSuite, Netsuiteblog, netsuiteupdates

Download E-Books

NetSuite CuriousRubik
NetSuite CuriousRubik