The most common reason an order is not ready to ship is because the items are backorder.
Item is backordered
If any items are backordered and the Allow Partial is off, then order will not be ready to ship.
If you turn Allow Partial on, if any items are allocated those allocated items will ship. If all items are backordered even if Allow Partial is on, the order will not ship.
If you don’t track inventory and want all items to always be allocated (which is not the normal implementation) and always ship regardless of your stock turn on Always allocate stock to orders on https://app.shiphero.com/dashboard/settings/app
Order has a hold
Orders will also not be ready to ship if there is any hold on the order.
If you think an order should be Ready to Ship but it won’t reprocess.
If an order is locked, it won’t be available to reprocess. Orders are locked when they have been retrieved by a picker on their app. We don’t want to reprocess when an order is locked, because we don’t want to change what needs to be shipped once a picker has started on the order. You can see a lock on the order page and on the Pending Shipments page. If an order is locked, but you’re certain it’s not being worked on, you can clear the lock.
If an order is in a tote, it won’t be available to reprocess. The correct approach is to scan that tote and the order will pull up even if it’s not ready to ship. You can see if an item is in a tote on the order summary page and on the order detail page. If you want to remove that order from a tote, you can do so on the order page.
Order is in a single item batch. On https://app.shiphero.com/dashboard/orders/pending_shipments search for the order number with Ready To Ship -> All and if the status starts with singleitembatch the order is in a single item batch and therefore won’t show to ship a second time.