Hi Anil, I think there is already a functional issue in the example before we even get to the reservation handling. If an order requests a quantity of 2 while only 1 is available, I don't think a partial picklist should be created if maySplit = N (OrderItemShipGroup). From a warehouse perspective, the order should simply wait until the complete quantity is available. Only if maySplit = Y should it be possible to create a picklist for the available quantity while leaving the remaining quantity on backorder. In that case, I would also expect the backordered quantity to become reservable again when new stock arrives. However, I would not expect an already released or active picklist to be modified afterwards, nor should additional quantities or picklist items be added automatically. Changing an active picklist after warehouse processing has started can easily lead to picking and packing errors. From our experience, picklists should be considered stable once they have been created and released. We use the OFBiz fulfillment process quite extensively in our daily operations, so this scenario is very relevant for us. For that reason, I would first like to clarify the expected business behavior before discussing the technical implementation. Once there is agreement on the business rules, the implementation can follow naturally. Best regards, Dimitri
________________________________ From: Anil Patel <[email protected]> Sent: Wednesday, July 1, 2026 7:05 AM To: ofbiz users <[email protected]>; [email protected] <[email protected]> Subject: [DISCUSSION] OFBIZ-830 — clearing backorders while a picklist is active Hi all, I'd like to get community feedback on OFBIZ-830, which touches how OFBiz reassigns inventory reservations when stock arrives while a pick is in progress. https://issues.apache.org/jira/browse/OFBIZ-830 Short version of what I confirmed on current trunk: - Order 2 of a product with only 1 in stock -> one reservation row with quantity 2 and quantityNotAvailable 1 (1 reserved, 1 backordered). - Create a picklist for the available unit. - Receive the second unit. The backorder does NOT clear -- not on receipt, and not after the picklist completes. It only clears if the inventory balance runs again later, on some unrelated receipt. The reason: the available and backordered quantities live on the same OrderItemShipGrpInvRes row, and the picklist references that row. The reassign logic clears backorders by cancelling and re-reserving the whole row, so it (correctly) won't touch it while a picklist is active. The operational need I'd like to raise: when stock arrives during an active pick, the backordered portion should become reservable against the new stock right away -- without waiting for the pick to finish and without disturbing the pick of the already-available unit. That means reassigning only the not-available portion, i.e. splitting the reservation rather than cancel-and-re-reserve. That's a change to core reservation semantics, so before anyone codes it I'd like input on the preferred direction: - Split a reservation row on demand (keep the picked qty, move only the backordered qty to fresh stock)? Or model available vs backordered quantities as separate rows from the start so the backordered part can be reassigned independently? - For those running real fulfillment on OFBiz: is immediate mid-pick reassignment the behavior you'd expect, or do you rely on the current "settle it after the pick" behavior? Details, exact entity states, and the reproduction steps are in the Jira comment. Feedback and real-world experience much appreciated. Thanks and Regards Anil Patel CEO HotWax Systems http://www.hotwaxsystems.com Cell: + 1 509 398 3120
