I have created via. API, which sets a corresponding meta field if the goods can be ordered. This means that I no longer filter by stock level but by what is in this field. That was the only solution I found. The field is updated every 15 minutes.
Topic summary
Merchants want to sell both in-stock and out-of-stock items while allowing customers to filter for in-stock products only. The core challenge: Shopify’s native availability filter only works when out-of-stock items are marked as unavailable for sale, which prevents selling them as pre-orders.
Desired functionality:
- Display “Pre-order” button when inventory reaches zero at primary location
- Provide “in stock” filter on collection and search pages
- Continue selling out-of-stock items with longer delivery times
Workarounds attempted:
- Creating separate collections where inventory > 0 (“quick ship” pages)
- Using metafields based on stock status, though filtering from metafields proved problematic
- API-based solution: automatically updating a metafield every 15 minutes to track orderable status, then filtering by that field instead of stock level
- Third-party apps like AI Search & Product Filter to hide unavailable items when filters are applied
- Creating filters based on “Stock on hand” for inventory > 0 products
Current status: No ideal native solution found. Most participants report using imperfect workarounds rather than achieving the exact desired behavior within Shopify’s standard filtering system.