> For the complete documentation index, see [llms.txt](https://docs.sylius.com/public/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sylius.com/public/getting-started/first-product.md).

# First Product

Products in Sylius are more than a name and a price. Each product has a type, a set of attributes, channel assignments, tax configuration, and optionally a variant structure for things like sizes and colors. This page covers enough to get your first product live, and explains the concepts behind each decision.

### Simple vs. Configurable Products

Every product in Sylius is one of two types, and you choose at creation time.

**Simple Product** has a single purchasable version. A book with one edition, a service with a fixed price, a digital download, anything where there's no variation the customer needs to choose between.

**Configurable Product** has one or more Options — size, color, material — and each combination of option values is a **Variant**. A t-shirt available in S/M/L/XL and three colors is a Configurable Product with 12 variants. Each variant can have its own price, stock level, and shipping weight.

If you're not sure which to use: start Simple. You can't convert between types after creation, but for a first product Simple is always the right call.

<figure><img src="/files/zWID42qnVvwpzxsdEjvp" alt=""><figcaption></figcaption></figure>

### Key fields explained

**Price** \
Set per Channel. If your store runs multiple Channels — different countries or contexts — each Channel can have a different price for the same product.

**Channels** \
Which storefronts this product appears in. A product not assigned to a Channel is invisible to customers on that Channel. For your first product, assign it to your default Channel.

**Taxes** \
Assign a Tax Category to apply the correct tax rate at checkout. Tax rates are calculated based on the customer's Zone — which is why Zones were configured first.

**Shipping** \
Mark whether the product requires physical shipping. Products marked as non-shipping skip the shipping step at checkout. Set the weight and dimensions if your shipping methods use them for rate calculation.

**Inventory Tracking** \
Enable to track stock levels. When stock reaches zero, the product becomes unavailable for purchase unless you configure a backorder policy.

### Creating your first product

1. Go to **Catalog → Products** in the admin panel
2. Click **Create** and choose **Simple Product**
3. Fill in the product name — at minimum in your base locale
4. Set a price for your default Channel
5. Assign the product to your Channel
6. Set the **Enabled** toggle to on
7. Save

At this point your product is live and purchasable — assuming you've already configured a shipping method and payment method.

> If the product doesn't appear in your shop, check that it's assigned to the correct Channel and that the Channel is enabled.

<figure><img src="/files/zuMtPu0iLlpvK35CWbnm" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/lluXyyPUqFBGGQCZeW8I" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/QQf12Zbvwdn7KfMBKAg9" alt=""><figcaption></figcaption></figure>

### What's next

This covers the basics of product creation. Sylius's catalog system goes significantly deeper — taxons and category trees, product associations, attribute sets, variant option configuration, and per-channel pricing rules are all covered in [The Book](https://docs.sylius.com/the-book/).

<p align="right"><a href="https://docs.sylius.com/the-book/products" class="button primary">The Book > Products</a><br><em>(login required)</em>     </p>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.sylius.com/public/getting-started/first-product.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
