Stay AI gives you multiple tools to manage out-of-stock products before and during the billing process. This playbook walks you through the full setup, from configuring Shopify inventory tracking to handling OOS orders and notifying subscribers.
Follow the steps below to get started.
Before You Begin
Stay AI's inventory features depend on Shopify's inventory system to determine stock status. Before configuring anything in Stay, make sure your Shopify inventory tracking is set up correctly.
1. Configure Shopify Inventory Tracking
Stay AI can only detect out-of-stock products in Shopify when all three of the following conditions are true simultaneously:
Navigate to the product in your Shopify Admin.
Ensure Track quantity is enabled.
Ensure Continue selling when out of stock is disabled.
⚠️ Important: If Track quantity is disabled or Continue selling when out of stock is enabled, the product will never register as out of stock in Stay AI — regardless of quantity.
2. Configure Stay AI Billing & Inventory Settings
Navigate to Subscription Setup → Subscriber Billing in the Stay AI Merchant Portal to configure how Stay handles inventory during the billing process.
Check Stock Levels Before Billing
This setting controls whether Stay AI checks Shopify inventory before processing each recurring order.
Check stock levels before billing: Stay AI will check if any product on the subscription is out of stock before attempting to charge the customer. If a product is OOS, the settings below determine what happens next.
Do NOT check stock levels before billing: Orders are submitted to Shopify regardless of stock status. Only use this if your fulfillment team manages OOS separately.
Retry Out of Stock Orders
If a product is out of stock at billing time, this setting controls how many times Stay retries the order before deferring to the next billing date.
Do not retry: The order moves immediately to the next billing date.
Retry once: The order retries the following day. If still OOS, it moves to the next billing date.
Retry twice: The order retries day 1 and day 2. If still OOS after both, it moves to the next billing date.
📌 Note: If enabled the "Item Out of Stock" email fires after the 1st failed attempt and after the 1st retry failure (if "Retry twice" is set). It does not fire on the 2nd retry failure. Notifications and webhooks are only sent after partial fulfillment has been attempted (if enabled).
Partial Fulfillment
If Check stock levels before billing is enabled, you can also enable Partial Fulfillment for subscriptions with multiple items. When enabled, Stay AI will ship in-stock items without waiting for the OOS item,as long as the remaining cart value meets your Minimum Order Value threshold.
Set the Minimum Order Value for Out of Stock Partial Shipping in your store's currency. Set to $0 to fulfill all partial orders regardless of value.
If the remaining in-stock items do not meet the threshold, the order falls back to the Retry Out of Stock Orders logic.
Customers receive the Order Partially Fulfilled email when partial shipment is triggered (found under Notifications → Emails).
⚠️ Partial fulfillment does not apply to:
Prepaid subscriptions
Bundle lines that are out of stock
Orders where a billing failure occurs during the partial reattempt
Subscriptions that receive an Inventory Allocation Error on the initial billing attempt
3. Manually Flag Products as Out of Stock in Stay
Stay AI's manual OOS flag lets you mark products as out of stock before billing runs, so subscribers see a Swap option in their customer portal immediately, rather than waiting for a billing failure.
To mark a product as out of stock:
Navigate to Products → Catalog in the Stay AI Merchant Portal.
If the product isn't listed yet, click Add/Remove Products, search for the product, select it, and click OK.
Click the three-dot menu to the right of the product.
On the product page, mark either all variants or specific variants as Out of Stock.
Click Save.
Once flagged, the product will display an OOS identifier in your catalog. Subscribers with that product on their upcoming order will see a Swap call to action in their customer portal. OOS products are also automatically hidden from the portal carousel and add-on catalog.
📌 Important: Stay's OOS flag does not sync with Shopify automatically. When stock returns in Shopify, you must manually remove the OOS flag in Stay. If stock returns in Shopify while the Stay flag is still active, orders will still process, the Shopify inventory status takes precedence for billing.
4. Set Up OOS Email Notifications
You can notify subscribers about out-of-stock products using Stay AI's built-in email builder.
To set up the OOS email:
Navigate to Notifications → Email in the Merchant Portal.
Open the Item Out of Stock email template.
Within a text block, embed the OOS Items merge tag. This tag dynamically pulls in the Product Image, Product Name, Variant Name, Delivery Frequency, and Price for all affected items.
Save your changes.
📌 Note: The OOS Items merge tag captures items flagged manually in Stay AND items flagged via billing logic. Both types appear in the same email.
5. Ongoing OOS Management & Edge Cases in the Customer Portal
When stock returns
Remove the OOS flag manually in Stay (Products → Catalog). Orders won't automatically retry once the flag is removed. Use Get It Now on individual subscriptions to retry outside the normal schedule, or wait for the next scheduled billing date.
Get It Now and OOS products
If any line item on a subscription is flagged as OOS in the Product Catalog, Get It Now will not be permitted. The customer must first remove the OOS product before a Get It Now order can complete.
Bundles and OOS flags
Stay's manual OOS flag does not impact bundle lines. Products flagged as OOS within a bundle will not be marked, and partial fulfillment will not attempt to remove them.
Adding OOS products
By default, customers can still add a manually flagged OOS product to their subscription (as long as the Add One, Subscription, and Swap checkboxes are enabled). If you want to prevent customers from adding the product, uncheck those boxes on the product page.
Inventory allocation errors
If your product inventory is located at a warehouse outside the delivery profile or shipping zone for a given subscription, Stay AI will return an OOS error, even if the product technically has stock. Review your location-based inventory settings in Shopify to resolve these. Partial fulfillment will not be attempted for subscriptions that receive an allocation error on the initial billing attempt.
Using an external dunning or OOS app
If you're using an external solution to manage the retry process, set Stay AI's Retry Out of Stock Orders to Do not retry and set billing retries to 0. This gives your external provider full control over dunning logic.
Here's Your Quick Checklist
Use this checklist to get your inventory settings configured in Stay AI.
Configure your Shopify settings. Make sure Track quantity is enabled, Continue selling when out of stock is disabled, and your available quantity is 0 or below across all locations.
Set your out-of-stock checks and partial fulfillment in Subscriber Billing. Go to Subscription Setup → Subscriber Billing and enable Check Stock Levels Before Billing. Set your retry logic and, if you have multi-item subscriptions, configure Partial Fulfillment and your minimum order value threshold.
Mark your product as out of stock. Go to Products → Catalog, find the product, click the three-dot menu, and mark the relevant variants as Out of Stock. Save your changes.
Set up your out-of-stock emails. Go to Notifications → Email, open the Item Out of Stock template, and add the OOS Items merge tag to a text block.
NOTE: When a product comes back in stock: Billing will resume automatically based on your Shopify inventory, you don't need to change any billing settings. Just go to Products → Catalog and uncheck the product as out of stock so the OOS treatment is removed from the customer portal.
Quick Reference
Scenario | Setting | Result |
Want Stay to check stock before charging | Check Stock Levels = ON | OOS items trigger retry/defer logic |
Want to skip inventory checks entirely | Check Stock Levels = OFF | All orders submitted regardless of stock |
Multi-item sub, want partial shipments | Partial Fulfillment = ON + set minimum order value | In-stock items ship; OOS items deferred |
Want proactive OOS flag before billing | Mark OOS in Products → Catalog | Subscriber sees Swap CTA; product hidden from add-ons |
Stock returned, need to retry orders now | Remove Stay OOS flag → use Get It Now | Manual retry outside normal schedule |
Using external dunning or OOS app | Retries = 0, billing retries = 0 | External app controls all retry logic |
