How Out-of-Stock Products Should Appear in an Online Wholesale Catalogue
Keep sold-out variants understandable without letting old stock overwhelm daily operations or customer browsing across Inventory Manager, billing apps and the MLS catalogue.
An online wholesale catalogue should keep a product visible while at least one colour-size variant is available, clearly mark individual sold-out variants, and remove a completely sold-out design from normal customer browse lists. Operational apps should also hide zero-stock noise by default while retaining deliberate filters and history for the owner.
This matters especially in fast-fashion wholesale, where old designs often do not return. Without stock-aware listing behaviour, yesterday's sold-out catalogue becomes larger than today's sellable range.
At a glance
| Situation | Correct behaviour |
|---|---|
| One SKU reaches zero | Product remains visible if another SKU is in stock; sold-out option is labelled |
| Every SKU at one shop reaches zero | Product leaves that shop's normal catalogue |
| Same product remains at another shop | It can remain visible for that other shop |
| Customer has an old direct link | Product can show out-of-stock status and still allow enquiry |
| Seller hides the product manually | Customers do not see it in browse; owner retains control |
| Seller hides price only | Product remains visible with Price on request |
| Inventory Manager daily list | In-stock by default; Out of stock and All remain available as filters |
| Low-stock section | Zero-stock products should not crowd genuine low-stock attention |
| Invoice picker | Shows sellable grouped products; zero-stock SKU cannot be added |
| Nearby products | Completely out-of-stock listings are excluded |
Why showing every old product is harmful
In garment and footwear wholesale, a design may sell through and never be restocked. New styles replace it.
If the business adds 50 designs per month and 40 eventually sell out, an unfiltered catalogue could show 480 unavailable designs after one year. Customers would spend more time opening dead products than current stock, while staff would search through the same noise during billing.
Deleting the old product is also wrong because it removes useful identity and movement history.
The practical answer is:
Preserve the product record
↓
Keep zero-stock history available to the owner
↓
Exclude fully sold-out designs from daily/customer browse
↓
Retain clear variant-level out-of-stock information on detail views
Product and SKU availability are different
Suppose Mickey Print T-Shirt has nine SKUs:
- Red: S, M, L;
- Green: S, M, L; and
- Blue: S, M, L.
If Red / M reaches zero but the other eight types still have stock, the product is not fully out of stock. Customers should still discover the design and understand that Red / M is unavailable.
The grouped product becomes completely out of stock at a shop only when none of its SKUs has positive stock at that shop.
This product-level grouping prevents nine near-identical catalogue cards while preserving exact variant availability inside the detail view.
Behaviour in Inventory Manager
The Products screen uses In stock as its default filter. This keeps normal operations focused on products the business can currently sell.
The owner can deliberately choose:
- Out of stock to review sold-out designs; or
- All products to view the complete catalogue history.
The same grouped listing can be sorted by name or last stocked and filtered by location. A shop-specific view shows only products available at that shop under the default in-stock filter.
Out-of-stock products are preserved, not deleted. The owner can still open details, inspect SKUs, restock an existing product and review relevant stock history.
Low stock is not the same as zero stock
The Low Stock section should answer: Which products need attention before they run out?
If thousands of old sold-out designs appear there, genuine low-stock alerts disappear inside historical noise. Zero-stock products belong behind the explicit Out of stock filter, while low-stock attention should focus on positive quantities at or below the configured threshold.
This distinction is operationally important:
- Low stock may lead to replenishment or a sales decision.
- Old zero stock may simply mean the fast-fashion design has completed its lifecycle.
Behaviour while creating an invoice
Order Manager and Staff Bill use grouped product listings so the user searches once by product name or item code and then sees its colour-size SKUs together.
Inside the SKU list:
- available quantity is shown for the selected billing location;
- a zero-stock SKU is clearly marked Out of stock;
- its quantity and price inputs are disabled for adding that line; and
- other available variants remain usable.
The user therefore sees that the type exists without mistaking it for available stock.
The product-picker list itself is paginated and focused on currently sellable catalogue listings. Final invoice save still rechecks the server's latest stock to prevent concurrent overselling.
Behaviour on the public MLS shop page
The shop's normal product list queries grouped listings that currently have positive stock in that exact public shop.
A customer sees a product only when it is:
- active and ready for sale;
- published on MLS;
- associated with the shop; and
- in stock at that shop for at least one SKU.
Godown inventory does not appear as public shop stock.
When the last available SKU at that shop reaches zero, the grouped design leaves normal shop browse results. This keeps the catalogue centred on what the retailer can enquire about today.
What a customer sees on product detail
If some variants remain available, the detail page keeps all useful options visible:
- available options can be selected;
- unavailable colour or size choices remain visible;
- each unavailable option says Out of stock; and
- the customer can continue comparing the available types.
Selection is not removed merely because one option is sold out. Showing the unavailable type teaches the retailer that the design exists in that colour or size while preventing an assumption that it can be supplied immediately.
When every variant is unavailable in the shop context, the detail page shows Currently out of stock. It does not cover the product with an opaque warning that hides the image and details.
Why an old direct link may still work
A retailer may have received a product link earlier through WhatsApp. Completely removing that page would turn a useful conversation into a broken link.
The historical shop relationship can therefore support a direct product view even after current stock reaches zero. The page clearly shows the current out-of-stock state, while the existing WhatsApp enquiry option lets the retailer ask about:
- a similar design;
- a different available colour;
- stock at another location; or
- possible future availability.
The system does not promise restock and does not add a duplicate “Ask shop owner” button when the normal WhatsApp enquiry action is already present.
Nearby discovery should remain current
Nearby Products is a discovery surface, not an archive. Listings that are not publicly in stock are filtered out, and the associated shop must be active.
This avoids recommending a nearby product that has already sold out everywhere it is publicly offered.
Manual visibility remains separate
Stock availability and seller intent are two different controls.
Publish on MLS
Turning publication off hides the grouped product from customers even if stock remains. This is useful when the owner does not want to advertise a design publicly.
Show price
Turning price visibility off does not hide the product. Customers see Price on request and can contact the seller.
Stock
Stock visibility is derived from positive SKU quantity at each public shop. It should not be manually faked merely to keep an old design visible.
Read How Product Visibility, Price Visibility and Out-of-Stock Display Work on MLS for every combination.
What happens after stock changes
When Inventory Manager restocks, transfers, removes or sells stock through a connected invoice, the private product and buyer-safe grouped listing are updated together by the relevant write flow.
Public catalogue data uses a production cache of up to 15 minutes for cost and performance efficiency. The seller's owner view forces fresh data. A returning customer's device may therefore take a short time to show a recent availability change, but invoice creation never relies on the public website cache for final stock truth.
A shop-wise example
Classic Runner Shoe has four variants:
| Variant | Borivali | Andheri | Public result |
|---|---|---|---|
| Black / 7 | 0 | 8 | Out of stock at Borivali; available at Andheri |
| Black / 8 | 0 | 5 | Out of stock at Borivali; available at Andheri |
| White / 7 | 0 | 0 | Out of stock at both |
| White / 8 | 0 | 2 | Out of stock at Borivali; available at Andheri |
Result:
- The design leaves Borivali's normal public catalogue.
- It remains in Andheri's catalogue.
- A Borivali direct link can explain that it is currently out of stock.
- Inventory Manager can still find the historical product through Out of stock or All.
- Billing from Borivali cannot use Andheri's quantity without a deliberate location change or stock transfer.
Common mistakes to avoid
Deleting every sold-out product
This loses identity and history and makes future restock harder.
Showing sold-out designs before available stock
Customers should reach current stock first. Historical designs belong outside normal browsing.
Hiding the whole product when one size sells out
The remaining variants may still represent meaningful sellable stock.
Hiding unavailable options completely
Clear out-of-stock labels provide useful context and reduce repetitive questions.
Treating godown stock as public shop stock
Godowns are private operational locations. A product should appear for a customer-facing shop only when that shop holds positive stock.
Filling Low Stock with permanent zeros
Low Stock should highlight positive stock approaching zero, not become an archive of old fashions.
Frequently asked questions
Does one zero-stock SKU hide the complete product?
No. The product remains visible while another SKU is in stock at that shop.
What happens when every SKU reaches zero?
The design leaves normal public and operational in-stock lists but remains available to the owner through explicit filters and can support an informative old direct link.
Can the customer still select an unavailable option?
The website keeps the option visible with an Out of stock label so the customer understands the range, but it does not claim that the type is currently available.
Can staff add an out-of-stock SKU to an invoice?
No. Its row is disabled, and final transaction validation also prevents a stale draft from overselling it.
Will a restock make the product visible again?
Yes, when positive stock returns to a public shop and the listing is active and published. Public cache timing may delay the returning customer's view briefly.
Does hiding price affect stock visibility?
No. The product can remain visible and in stock while displaying Price on request.
Should old products be permanently archived?
Not automatically. Keeping them behind Out of stock or All supports history and possible restock without crowding daily work.
Keep current stock visible and history recoverable
The best out-of-stock experience is neither deletion nor noise.
My Local Shops keeps available designs at the front, labels unavailable variants honestly, removes fully sold-out styles from normal browse surfaces and preserves the underlying product for owner review, enquiry history and possible restock. That matches fast-moving wholesale operations while keeping the public catalogue useful to retailers.
Continue with How to Create an Online Wholesale Catalogue Without Maintaining Another Website and How to Track Stock Across Two Shops and One Godown.
