Package Creation Logic
From NewHaven Software Wiki
Contents |
Overview
When adding an item to an order, how does CMS know if it needs to create a new package or decide which existing package to place it in? This article will explain the logic CMS uses and the various factors that impact CMS's use of packages.
Package Rules
The rules CMS uses to determine if an item can go into an exiting package or if a new one is required is:
- item's ship method
- item's ship date
- item's recipient
- item's flag for 'ship in own box'
NOTE: Items that are configured as does not ship will not be added to packages.
Explanation
In a single order, each line item could be shipping by different methods, shipping on different dates or shipping to different recipients. Those plus the item flag that indicates an item cannot ship with others (ships in own box) dictates when items can be combined in a package with other such items.
When all are equal and the item is not set to ship in own box, it will be added to the first existing package CMS finds that matches all of the same criteria. If any are different or it is set to ship in own box, CMS will create a new package for that item.
Back-ordered, future ship and drop ship items are placed in their own Virtual Packages since CMS cannot know if these items on the order can or will ship together. Your system may not be configured to create/show virtual packages however. (setup>fulfillment options>shipping)
This logic is true for both hand-entered and imported orders. Perhaps an important point to make is the CMS will always use this logic to create packages for imported orders. We do not expect or allow the order source (call center, website, etc.) to decide which items will be going into which packages and thus do not support this in our XML/imports.
When Package Logic is Used
This package logic is applied each time an invoice is created. Examples include new orders, fulfillment (back order and future ship) invoices and exchanges. In a situation where you have multiple items on back order, CMS will place them each into their own (virtual) package. When they fulfill, however, CMS re-applies the package creation logic for the fulfillment invoice. There you'd see the items that are being fulfilled at that time go into the same package...provided they should based on the earlier explanation of our package logic.
CMS will drop empty packages when you save the order. Through the course of editing an order you may move items into other packages, have recipients with no items, etc. In these cases, if the package is empty, there is no reason to save it and it will be deleted but not until order save. At that moment, CMS will also renumber the packages for the invoice so the package numbers are sequential, starting from 001.
There are no rules for creating new packages based on weight, qty or other criteria. Such rules, including those user-defined, may be considered in future CMS versions. Please submit any such requests to NewHaven Software for consideration. If considering such rules, however, remember that you are far better off with too few packages (more can be easily be created in the CMS Manifest or your shipping software) than with too many (invoice shipped date won't get set until all packages are shipped.)
Gift Orders
For orders with multiple recipients (aka multi-ship orders) each recipient is stored with its package. If you need to remove a recipient from a multi-ship order, simply remove its items from the order. When you save the order CMS will remove any empty packages from the order and thus the recipient will also be removed. The side-effect of this of course is to make sure you have items assigned to any recipients that you don't want dropped from the order.