My team is requesting an API that enables customizing the fulfillable inventory calculation logic for ProductVariant objects across all sales channels. This would allow merchants to implement complex inventory management strategies while maintaining consistent inventory representation across sales channels, addressing the current disconnect between OMS Functions and inventory display logic.
The core issue
Shopify’s current inventory architecture calculates available inventory using native backend logic that cannot be customized. While the fulfillment constraint functions API allows excluding locations during fulfillment routing, this exclusion only applies at checkout—not during inventory display queries.
Specific pain points
-
Inventory display vs checkout discrepancy: When using fulfillment constraint functions to exclude locations based on business logic (safety stock, daily capacity limits), the fulfillable inventory displayed on product pages, Storefront API responses, and sales channel listings doesn’t reflect these exclusions. Customers see products as “available” but encounter checkout failures when routing functions exclude relevant locations.
-
Limited sales channel propagation: Current workarounds using metafields or custom calculations only affect the Online Store channel through Liquid templating but don’t propagate to Facebook Shop, TikTok Shop, Google Shopping, or other sales channels, creating inconsistent availability across channels.
-
Lack of granular inventory control: Merchants cannot implement sophisticated strategies like:
- Dynamic safety stock patterns
- Channel-specific inventory allocation rules
- Customer based availability (B2B vs B2C)