Archived products should be blocked from being added to draft orders and POS transactions. Why would Shopify allow an archived product to be added to an active order? The whole purpose of archiving a product is so you don’t sell it anymore but don’t want to loose the transaction/inventory history/pricing, etc.
We recently had an issue where an old draft order was processed but one item on that order had been archived after the draft was created. This resulted in a product on an active order that was no longer available. This should not be possible!!!
This is incredibly frustrating and completely defeats the purpose of the ‘Archive’ status. We ran into a similar bottleneck where old draft orders acted like a backdoor to retired inventory, which causes a nightmare for fulfillment.
Until Shopify developers build a native hard-block for this, the only failsafe we’ve found is to manually zero out the inventory of a product before hitting archive. It’s an annoying extra step, but if that product is sitting in an old draft order, zeroing the inventory forces the system to throw an ‘out of stock’ error when they try to process it, rather than letting the transaction go through.
Completely agree that this shouldn’t be possible in the first place. Hope they patch it soon.
I just duplicated steps 1-4. (it does put a banner above the product saying there are zero in stock, but does not prevent the order from processing nor does it open any additional pop-ups for “There are zero in stock do you want to proceed anyway” or “Product is archive, un-archive product to complete order” not even the typical windows “Are you sure?” pop up.
There really needs to be a way to block the sale of archived products. I mean there are rights that can restrict who can archive and un-archive a product, why not rights to who can even view/sell them? Sorry, but just a warning banner above the product that its out of stock doesn’t cut it.
Another issue we discovered if a product is returned after its been archived there are no warnings when you process the return to stock, so its possible for a product to gain inventory after its be archived. As I stated I make sure all products are at zero before archiving, imagine my surprise to find 5 archived products with quantities on hand.
That return-to-stock case is especially important. You’re right: an out-of-stock banner is only informational — it doesn’t actually prevent staff from selling the item or putting inventory back onto an archived product.
It sounds like there are two separate gaps here:
An archived product can still be found and sold in the workflow you tested.
A return can add inventory back to an archived product without any warning.
The second issue also means that a one-time cleanup isn’t enough, because the risk can reappear after future returns.
To make sure I don’t point you toward the wrong fix: were you able to complete the sale through Shopify POS, a draft order in Shopify Admin, or the online storefront checkout?
Once I know the exact path, I can map the available guard for that workflow and show you a simple way to identify archived products that currently have positive inventory.
This was done with a draft order in POS. The product does have to be in a draft before it is archived, it can’t be added after it is archived. I know how to easily find archived products with inventory. My post is more in hopes of Shopify fixing the issue with archived products so I don’t have to keep checking and fixing inventory. It would also be amazing if they could make it so they can’t be sold in an archived state.
Hi there @PSKarl
I also believe archiving should give more protection against accidentally selling again. A solution is to check the existing draft orders when you archive products as archiving doesn’t delete the product from existing drafts. For POS, a ban on searching for or adding archived products would solve a similar problem. For Shopify’s order workflow, this would be a welcome enhancement, particularly for stores that regularly change their products.
The reason this keeps happening is that draft orders and POS custom sales reference the variant directly, so they skip the sellability checks the storefront runs. Archiving removes the product from sales channels, but it does not lock the variant itself, which is why an old draft can still push it into an active order months later.
Two process guards that hold until Shopify ships a native block:
Before archiving a product, scan your open draft orders for it and clean them up first. Old drafts are the backdoor: a draft freezes a reference to the variant and will happily complete long after the product is retired.
When refunding a retired item, untick the restock option for it. That closes the second gap described above, where a return silently puts inventory back onto an archived product, so a one-time cleanup is never enough.
Neither replaces a real fix. A hard block on archived variants in drafts and POS is worth a feature request, but both guards are zero-cost and cover the two paths described in this thread.