Publishing is an introduction. It tells a storefront that this product exists, and tells Mossery which listing belongs to which product code.
Until that introduction happens, the two systems know nothing about each other. Stock changes here reach nobody, and an order out there matches nothing.
This page covers:
What publishing does
One click does three separate things.
- It creates the listing. A brand-new listing is always created as a draft on the storefront, with the price from the channel's assigned price tier. You finish the images, the description and the launch there. Re-publishing something that already exists never changes its live-or-draft status, so you cannot accidentally hide a selling product.
- It records the link. This is what the product page reads to show you a channel as Syncing, and what the on/off switch controls.
- It records the mapping. This is the pointer stock updates actually follow when they go out.
Those last two are separate records on purpose, and both are written together here. Knowing they exist matters for one reason: if a product ever shows Syncing in the app but never updates online, the two have come apart, and that has its own page — see Explore below.
Whether the number then travels depends on the channel's mode. A channel in shadow mode records what it would have sent without sending it. A live channel pushes on every stock movement.
Before you publish
Four things need to be true. The app refuses or skips rather than guessing.
- The channel is connected. A channel that is not connected is shown greyed out and cannot be ticked.
- The product has a price in that channel's tier. Each channel is assigned one price tier, and a product with no price in that tier is skipped with a "no tier price" note.
- The product is active. Inactive codes are left out of the listing.
- The channel is one you should be pushing to. Wholesale channels take orders in but are never published or pushed to, so they are not offered here.
One more thing to expect. On a storefront, a family of related codes is a single product with variants. So publishing any one code publishes every active code in its family, as one listing. The confirmation step names the extra codes before anything is written.
Publish one product
- Open the product.
- Choose Manage sales channels.
- Each connectable channel is listed with its status. A channel already live reads Published; one that is not says what it would publish at, for example the tier price it would use.
- Switch on the channels you want.
- Click Done. Changes are applied together, and any channel that fails says why on its own row.
Switching a channel off does not delete anything. It pauses the stock sync and leaves the listing in place, so it is safe and reversible.
Whether the listing can sell at zero stock is decided by the product's stock mode, not by this screen. Made-to-order products keep selling below zero. Ready stock products stop at zero.
Publish a batch
- Open the product list and select the products.
- Choose Publish to sales channels.
- Tick the channels, then click Review.
- Read the preview. It groups by family and puts a badge on each channel: creates a new listing, adds to an existing listing, already published, skipped for a missing tier price, or needs unlinking first.
- If the preview says more codes will be published than you selected, that is the family rule doing its job. Check the extra codes are ones you want live.
- Click Confirm & publish.
Large selections publish in batches with a progress bar. Keep the tab open. If it is interrupted, run it again — anything already published is reported as already published rather than duplicated.
Needs unlinking first is worth understanding. It means a code is already attached to an existing listing on the storefront, but the app does not know which parent product that listing belongs to. Publishing would create a duplicate, so it refuses. Unlink those codes, or resolve them to the real listing, then publish again.
Check it worked
Publishing is not the same as selling. Two checks close the loop.
- On the storefront. Find the listing. It should exist as a draft, with your product codes as variants and the tier price on each.
- Back in the app. Reopen the product's channels. The channel should read Published, and once a stock movement has been pushed it carries a last-sent time.
The opening quantity is seeded from the location mapped to that channel. If no location is mapped yet, the listing is still created — it simply carries no stock until a location is mapped and the next movement happens. That is the most common reason a freshly published product sits at 0 online while the shelf is full.
Explore
How stock reaches your channels. What travels, when it travels, and why the storefront number is always a copy. Learn more →
A product shows 0 online, but you have stock. The three causes, in the order worth checking, including the link-and-mapping split. Learn more →
Fix a sync error. What to do when an update was attempted and refused. Learn more →