Navigating Service Inventory: How to Handle Cash Payments Without Auto Stock Reduction on Shopify
Hey everyone,
It’s always a treat diving into the Shopify Community forums, because that’s where the real-world questions from store owners like you get asked. Recently, a great question popped up from michael80000 that I’ve seen variations of many times, especially from those of us selling services rather than physical products. Michael was asking about how to configure cash payments so they don’t automatically reduce stock, unlike online payments.
Specifically, Michael wanted a setup where:
- Online payments (like credit card): Stock reduces automatically.
- Cash payments: Stock reduction is manual, by a human, only after in-office payment and validation.
This is a fantastic point because services often have a different inventory rhythm than, say, t-shirts or gadgets. Let's break down how Shopify handles this and what options you have, even on a Basic Plan.
Understanding Shopify's Inventory for Services
Shopify’s inventory system is, by default, geared towards physical products. When a customer places an order and it's marked as paid (or sometimes even just created, depending on your settings), Shopify typically reserves or reduces the quantity of that item. This works perfectly for online payments where the transaction is immediate and the product is effectively "sold."
However, when you’re selling a service – whether it’s a consultation, a workshop slot, or a booking – the concept of "stock" can be a bit more fluid. You might have a limited number of "slots" or "availability," but the actual reduction often needs a human touch, especially for in-person cash transactions.
The Core Challenge: Payment-Specific Inventory Rules
The crux of Michael’s question is that he wants Shopify to behave differently based on the payment method. This is where native Shopify can get a little tricky, as there isn't a direct setting that says, "If payment method = X, then ignore inventory tracking." Shopify's inventory reduction usually happens once an order is confirmed and paid, regardless of how it was paid, if inventory tracking is enabled for that product.
So, how do we achieve that desired manual control for cash payments without resorting to complex apps or custom code?
Solution 1: The 'No Inventory Tracking' Approach (Often Best for Pure Services)
For many services, the simplest and often most effective solution is to tell Shopify, "Hey, don't worry about tracking inventory for this." If your "service" doesn't have a hard, depletable stock quantity in the traditional sense, why force it into a product-centric inventory model?
This approach naturally fulfills Michael's requirement for cash payments: if there's no inventory being tracked by Shopify, then cash payments won't automatically reduce anything because there's nothing to reduce!
How to Disable Inventory Tracking for a Service Product:
- From your Shopify admin, go to Products.
- Click on the specific service product you want to edit.
- Scroll down to the Inventory section.
- Uncheck the box next to "Track quantity."
- (Optional, but recommended for services) Check the box for "Continue selling when out of stock." This ensures customers can always book your service even if you manually manage "slots" elsewhere.
- Click Save.
With this setup:
- Online payments: Customers pay, order comes in, and no Shopify inventory is reduced (because none is tracked). You then manually validate or schedule the service.
- Cash payments: Customers choose your "Cash at Office" manual payment option (we'll cover setting that up next), the order comes in, and again, no Shopify inventory is reduced. You validate and schedule after they pay in person.
This shifts the "stock reduction" from Shopify's system to your own manual process of managing availability for the service, which is often what service providers need anyway.
Solution 2: Leveraging Manual Payment Methods & Draft Orders (For More Control)
If you do need to track some form of "slots" or "capacity" for your service within Shopify, but still want that human validation for cash payments, we can use a combination of manual payment methods and draft orders. This gives you more explicit control over when an order is finalized and inventory (if tracked) is committed.
Step 1: Set Up a Manual Payment Method for Cash
You'll want to give your customers an option to indicate they want to pay cash. Shopify calls these "manual payment methods."
- From your Shopify admin, go to Settings.
- Click on Payments.
- Scroll down to the Manual payment methods section.
- Click Add manual payment method.
- Choose "Create custom payment method."
- Name it something clear like "Cash at Office" or "Pay in Person."
- Add any instructions you need for your customers (e.g., "Please visit our office at [Address] to complete your payment.").
- Click Activate.
Step 2: The Draft Order Workflow for Cash Customers
This is the key to getting that "human order validation will reduce the stock" for cash payments. Instead of letting customers use the storefront checkout for cash payments (which would still reduce tracked stock upon order creation), you'll create the order for them.
- When a customer wants to pay cash for a service, instead of sending them to your public checkout, you (or your staff) will create a draft order for them in your Shopify admin.
- Add the service product(s) to the draft order.
- When the customer comes to your office and pays in cash, you'll then mark the draft order as paid in the admin.
- This is the moment when Shopify's inventory (if tracked for that service) will be reduced.
- You can then fulfill the service as usual.
It's important to remember that if you do track inventory for your service product, any completed order – whether through an online gateway or a manually marked-as-paid draft order – will reduce that stock. The draft order method simply gives you the 'human validation' step before that reduction happens for cash sales.
Wrapping It Up
Michael's question really highlights a common need for service-based businesses on Shopify. While Shopify's inventory system is powerful, it's primarily built with physical products in mind. For services, we often need to get a little creative with how we manage our "stock" or "availability."
The best solution for you will depend on how strictly you need to track "slots" or "capacity" for your services within Shopify. If you're okay with managing availability outside of Shopify's core inventory (perhaps in a booking calendar), then simply disabling inventory tracking for your service products is the cleanest route. If you absolutely need Shopify to reflect your service capacity, then leveraging manual payment methods with a draft order workflow for cash customers gives you that crucial human-controlled validation step before any stock is committed. Both options are totally doable on a Basic Plan, so you've got flexibility!