Solved: Variable Package Definitions using native NetSuite Item Fulfillments



This article is relevant for organizations who require an ability to easily define and create variable packages and per package packing slips within a single item fulfillment.


Within native NetSuite, the ability to cross pack multiple items within the same box or package has been a challenge and is not supported with native package definitions. Sometimes people need to put multiple items into a single package or box, other times you may need to pack different quantities of the same item into different boxes, or any combination in between.

For example, if you have three (3) different items that can all fit in the same box, NetSuite does not recognize that similar items can fit in the same box and the native configurations would assign a separate box per item. Three (3) items = three (3) boxes, when in reality they all would ship in one (1) box. This is the gap we busted, and kept it native within NetSuite.

Our client required variable pack outs of both the same item within boxes, as well as multiple items defined in the same box, and was looking for an intuitive solution to provide those N:1 (Items:Boxes) definitions.

Adaptation of NetSuite Multi-Fulfillment

While we were thinking about the solution to provide the ability to define different pack out combinations within the Sales Order, or at the Item level, we decided to utilize and adapt one of our UI’s from our Multi-Fulfillment management solution to support a better user experience for the package definitions.

NetSuite Package Definition – Expanded

Once a Fulfillment is created, or even prior to save, the user can define the prescribed packaging combinations on the Fulfillment, or adopt the definition from the Sales Order, to support multiple package creation and call for shipping labels per package composition.


When the user clicks on the Specify Item Package Details button, a pop-up window appears that enables the user to easily break-down and split the items and quantities to be shipped to each distinct package, setting the stage for weight based calculations on a per-package basis. But it doesn’t stop there…. 

The UI is abbreviated from the Multi-Fulfillment configuration app as that there is no requirement for alternative shipping destinations.

With simple “Add” and “Copy” operators on both the fulfillment group level and the item level, the entry is quite rapid for the user.

If a user enters an item quantity greater than the available quantity, then the field will highlight in error to prevent over distribution.

To see how this UI acts, here is a video demonstration of creating multi-fulfillments via the UI


NetSuite Packing application – use case

Specifically, the use case for this packing interface was used in conjunction with our direct NetSuite and ShipEngine integration work. The user can trigger multiple shipping label generation using a cloud print application we leverage called PrintNode.

Our client will default a packing configuration or use the UI to configure a custom packing configuration and then trigger label generation directly from ShipEngine, then PrintNode kicks in to print the ship label on a local thermal printer.

We leverage this in different contexts to also print packing slips on the same thermal printer stock so everything comes out in a bulk printing process and is associated with the physical packages. 

The combination of the ShipEngine API and PrintNode truly releases shipping constraints imposed by native and third party shipping solutions.  

Packing it up

For years, there has not been a quick / native package definition solution within NetSuite for these types of operations. We’ve worked with some third-party packing solutions to achieve this per-package definition, but it’s never been fully embedded into the NetSuite fulfillment structures.

With this utility, we’re able to pull line level item data and place those values in association with each box, so achieving a per package packing slip, and being able to run some advanced configurations related to dimensional weight vs. physical weight are now possible with an intuitive package layer that can be configured to hold greater than one (1) distinct item per box.

If you’ve got a method you use that works great for your company, or would like to discuss / learn more about how this can help your organization, drop us a line via our contact us and let’s have a conversation.

Subscribe to Our Blog

Receive updates whenever a blog goes live!

  • This form collects your details so our marketing team can send you blog release updates. Please read our privacy policy for more information on how we protect and manage your data.
  • This field is for validation purposes and should be left unchanged.