> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shoply.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# Products, variants and stock

> What a product is made of, who can see it, and how its stock is counted

A **product** is what a buyer sees: a name, a description, pictures. A **variant** is what they buy: an option of the product with its own price and its own delivery. Every product has at least one.

| | A store can hold |
| - | - |
| Products | 250 |
| Variants in a product | 100 |
| Pictures on a product | 10 |
| Categories | 150 |

## A product

| | |
| - | - |
| **Name and description** | The description is plain text with a few marks: a line that starts with `#` is a heading, one that starts with `-` is a point of a list, a blank line ends a paragraph, and `**bold**` works inside a line. |
| **Visibility** | **Public** is listed on the store and can be bought. **Unlisted** is not listed and can be bought by anybody with its link. **Private** cannot be bought at all. |
| **Pictures** | The first is the one listings show. A picture keeps its own shape: nothing is cropped to fit. |
| **Categories** | A product can be in several. A category has a name, a description, a picture and a page of its own. |
| **Badges and features** | Up to three short labels on the product ("New", or a status such as "Updated"), and a list of what it does, on its own or in named groups. |
| **Instructions for every variant** | Sent with the order whichever variant was bought, before a variant's own. See [how delivery works](/guides/delivery.md#instructions-for-every-variant). |
| **In Search Results** | Its own title and description for search engines. Left empty, its name and description are used. |

## A variant

| | |
| - | - |
| **Name and price** | The price is in the store's currency. With adaptive pricing on, a buyer is shown and charged in their own. |
| **How many one order may hold** | A fewest and a most, from 1 to 100. A most left empty is no limit. |
| **Stock** | How its stock is counted, and how many there are. See [Stock](#stock). |
| **Delivery** | What it sends when it is paid for: license keys, files, instructions, or the answer of your own server. A variant can do several at once. See [how delivery works](/guides/delivery.md). |
| **Custom Fields** | Questions the buyer answers before they pay. See [custom fields](/guides/custom-fields.md). |
| **Payment Methods** | A variant, or a whole product, can refuse some payment methods, and a product can add a fee for one. With [Payment Routing](/guides/payment-routing.md) on, the card methods behind it have one **Credit/Debit Card** fee. |

The product's **Variants** tab lists its variants with their price, how many an order may hold and what they send, and their stock at the right of each row. **Edit** opens a variant in two parts: **Price and Stock**, and **Delivery**, which is what it sends and what it asks the buyer. Drag a row to change the order buyers see them in.

## Stock

Each variant says how its stock is counted, under **Stock** in its **Price and Stock**, with how many there are beside it under **In Stock**.

| | |
| - | - |
| **From Keys** | It sells as many as it has license keys in stock, and is sold out when they run out. For a variant that delivers license keys. |
| **Unlimited** | Stock is not counted, and it never sells out. For a key that many buyers share, or anything you can always deliver. |
| **Set Amount** | A number you type, from 0 to 1,000,000. Each sale takes from it, and the variant is sold out at zero. It works whatever the variant delivers. |

A variant that counts its stock does not sell more than it has. A cart that asks for more is turned away, and a payment that arrives for more than is left is not completed until you add stock and mark the order paid, or refund it.

The store alerts you when a variant runs low. The number that counts as low is in the store's settings. A variant that counts its keys and has never had one is not reported: nothing has run out.

Nothing ever returns to stock. A key that was delivered belongs to its order, even when that order is refunded, and a key replaced by delivering an order again is revoked. A number you set does not go back up either: raise it yourself.

## Deleting

A product buyers have received license keys from cannot be deleted, because those keys are part of their orders. Set it to **Private** instead.

## From your own server

Products, variants, pictures and stock can all be managed with the API: see [Products](/api-reference/products/list-products.md) and [Stock](/api-reference/stock/add-license-keys.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.