Inventory management is always a bit of a dance to figure out how much stock to have available. Too much stock might mean that you’re investing too much money in product and storage space. Too little stock could threaten customer satisfaction. For this reason, it’s good to come up with a strategy for when you cannot completely fulfill a sales order. Here are some ideas. The list is not exhaustive, but meant to help you clarify your plan.
Park the sales order until the entire order can be shipped at one time.
Process the sales order and mark the appropriate line items as backordered and the sales order as partially completed. Create a purchase order to fulfill the rest of the order (if the item has a minimum quantity level to have available, then you may want to add that to the purchase order quantity). You’ll need a way to keep these partially completed sales orders on your radar (e.g. a dashboard component, a daily/weekly email notification, etc.). You’ll also need a way to send an alert when the new stock arrives. You don’t want to have a situation where you could have filled a partially completed order for several days, but nobody thought to match the incoming stock with the backorder list.
Process the sales order and mark it as completed. Then, open a new sales order with the items that could not be filled. Create a purchase order to fill the rest (with the same process as #2 above).
Pull inventory from one or more of your other warehouses. This will require multiple Pick-Pack-Ship records (one for each warehouse).
Transfer the backordered quantity from one of your other warehouses to the location that received the sales order.
Process what you can and create a purchase order for your supplier to drop ship the remaining quantity.
You don’t have to choose one. You might choose several. And you might have more options. The point is to think before you build. Meet, discuss, and consider various scenarios and options with your team. Having that in place BEFORE you start to build your sales order module will not only make the application building process go smoother, but it will likely increase user adoption.