A listing customers buy outright — purchase options, sale pricing, stock that is deducted rather than reserved, and selling one-of-a-kind items without overselling.
Open in TWICE Admin
catalog/listings
A sales listing is one a customer buys and keeps. The unit is deducted from stock and does not come back.That fact shapes the settings the same way the opposite fact shapes a rental. Availability is a count rather than a calendar, there is one price rather than a rate card, and nothing needs to know how long the customer keeps it.This guide is the sales-specific path through the four tabs. The tab-by-tab walkthrough common to every listing is create and publish a listing.
Required permissions: listing create and manage rights. All four system roles hold them.
Decide whether the stock is counted.
Counted — goods and consumables you hold and can run out of. Give the listing a stock rule on the Fulfilment tab.
Not counted — anything with no physical unit behind it. Leave the stock rules empty and it stays sellable regardless.
There is no tracking switch: whether a listing draws on stock is decided entirely by whether it has a rule.Get this wrong in the first direction and you oversell. In the second, the listing quietly stops being sellable the moment stock hits zero.
On the Pricing tab, Purchase options — customers can acquire this listing as — decides how the listing is acquired. Tick Sales, and untick Bookings unless the same goods are genuinely also rented.One SKU can sit behind a rental listing and a sales listing at the same time. You are not maintaining two catalogs to sell what you also rent.
2
Set the sale price
Add a Purchase price row to the price table. A listing offering Sales with no sale price is sellable in principle and priceless in practice — and a table serving both bookings and sales needs rows for both, since the purchase options and the prices are set in different places.A sale row also takes a compare-at price — the struck-through “was” figure next to the price. Use it for a genuine markdown; it is the mechanism for an end-of-season or clearance price without touching the code.Read more: Build a price table
3
Bind it to stock that is deducted
On the Fulfilment tab, add a rule matching the units this listing sells. A sale deducts the matched unit — unlike a rental, nothing releases it back.Check the count under the rule before moving on: matches in inventory with a number, or No stock items available with these conditions when it matches nothing.A one-of-a-kind item is protected by the rule resolving to exactly one unit. That is how a one-off item you hold exactly one of is sold without being sold twice — not by a setting, but by the rule matching one thing.Read more: Listing inventory rules
4
Leave the stock rules empty if nothing physical backs it
A digital product, a fee, a gift card: add no rule on the Fulfilment tab. The Stock items card reads No stock items reserved or deducted when the listing is purchased, and the listing is available without limit.This is the same card you used in the last step, which is why the check there matters. A listing you believe is counted but whose rule matches nothing behaves like one that was never meant to be counted — the match count is the only thing that tells the two apart.
5
Collect anything you need to fulfil it
On Checkout Settings, add fields for what the sale needs and the order does not already carry: the text for an engraving, a size confirmation, an acknowledgement that the buyer has read a condition report.Read more: Checkout Settings tab
6
Publish it
On the Publishing tab set the Sales channels, Store locations and any Customer tags, then set Status to Public on the General tab.Then open it in the storefront — not preview — and put it in a basket.
The listing opens on the storefront and offers a buy action with no date pickers.
It shows the price you set, with the compare-at price struck through if you used one.
A test purchase drops the available count by one — that is the deduct behaviour working, and it is the check that distinguishes a sales listing from a rental.
A one-of-a-kind listing goes unavailable after that test purchase rather than accepting a second.
Cause: the stock rule matches more than the one unit you meant, or there is no rule at all — in which case nothing was ever deducted.What to do: read the match count. For a one-of-a-kind listing it should read exactly one. Anything higher is a rule that is broader than the item.
The listing shows Unlimited availability but we do count this stock
Cause: the listing has no stock rule. A listing with an empty Stock items card is unlimited by definition — nothing is reserved or deducted when it sells.What to do: add the rule and confirm the matches in inventory count is a real number. Unlimited availability on a listing you believe is counted always means a missing or non-matching rule.
A sold item is still showing as available
Cause: the rule matches a broader set than the unit sold, so the count is drawn from stock that is still there.What to do: narrow the rule to the SKU or the specific units. Attribute-based rules are convenient and easy to make too broad.
The listing has a price but customers cannot buy it
Cause: the price table has booking rows and no Purchase price row. Ticking Sales under Purchase options does not create the price.What to do: add the sale row. Purchase options and prices are set on different cards and neither implies the other.
We want a markdown without losing the original price
Use the compare-at price. It renders struck through next to the current price and needs no second listing and no discount code.What to do: if the reduction should apply only to certain customers or need a code to unlock, that is a discount code instead.
We sell both new and used versions of the same thing
Supported, and they can share a SKU. Separate listings let each carry its own price, description and condition, while the fulfilment rules decide which units each one draws from — graded stock to the used listing, new stock to the new one.What to do: keep the rules disjoint. Two listings whose rules overlap will both sell the same unit.