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

# Build Your First Menu

> Walk through building a first storekit menu by hand: one category, two products, a required size group and optional toppings, then check the live page.

This tutorial builds a small pizza menu by hand in the storekit dashboard, then checks it on the live ordering page. It takes about 20 minutes. By the end you will have used every part of the menu builder you need day to day, and the pattern repeats for every category and product you add afterwards.

<Note>
  **Is your menu coming from a POS?** If your store is connected to a POS such as Zonal, Lightspeed, Toast or Deliverect, do not build the menu by hand — items, prices and availability are synced from the POS and hand-made products would not be linked to it. Follow [POS Menu Sync](/docs/guides/menu/pos-menu-sync) instead, then come back to this page for the parts storekit still controls (category hours, images and allergens where your POS does not supply them).

  If you already have the menu in a spreadsheet, [CSV Import](/docs/guides/menu/csv-import) is quicker than typing it in. If it is published on another platform or website, use **Automatic Upload** — see [Build Your Menu](/docs/getting-started/launch/build-your-menu).
</Note>

## What You Will Build

```
Menu                        "Main menu"
└── Category                "Pizzas"
    ├── Product             "Margherita"  £9.50   (contains Gluten, Milk)
    │   ├── Modifier group  "Choose your size"   required, pick exactly 1
    │   │   └── Options     "10 inch" +£0.00 · "14 inch" +£3.00
    │   └── Modifier group  "Add toppings"       optional, pick up to 3
    │       └── Options     "Mushrooms" +£1.00 · "Olives" +£1.00 · "Pepperoni" +£1.50
    └── Product             "Marinara"    £8.50   (contains Gluten)
        └── uses the same two modifier groups
```

If you are not sure what any of these words mean, the [Menu Overview](/docs/guides/menu/overview#glossary) has a one-line definition of each.

## Before You Start

* You need a store in the dashboard. If the store does not exist yet, follow [Create Your Store](/docs/getting-started/launch/create-your-store) first.
* The store must have **no menu** for the manual setup flow to appear. If a menu already exists (for example one created by a colleague), you can either use it — skip to [Step 2](#step-2-add-a-category) — or archive it first as described in [Replacing the menu on a store](/docs/guides/menu/managing-menus#replacing-the-menu-on-a-store).

<Steps>
  <Step title="Create an empty menu">
    1. Go to **Stores** and find your store's card.
    2. Click **Create a menu**. This link only appears on stores that have no menu yet.
    3. On the **Now, let's setup your menu** page, choose **Enter Manually**.

    You land in the menu builder with an empty menu. From now on you can return to it any time from **Menus** → **Edit** on this menu.

    <Check>
      On the **Menus** page the new menu is listed with **your store's name underneath it**. A menu belongs to exactly one store, so check this now — items added to a menu on the wrong store have to be rebuilt.
    </Check>
  </Step>

  <Step title="Add a category">
    Categories are the sections customers scroll through, so name them the way a customer would look for them.

    1. In the menu builder click **Add category**.
    2. In the **Add a Category** dialog, enter the **Name** `Pizzas`. Leave **Description** blank for now.
    3. Click **Create Category**.

    The category is created **available all day, every day**. Leave it like that for this tutorial; if you later need a breakfast-only section, come back and set its hours under **Availability** — see [Category availability](/docs/guides/menu/categories#availability).
  </Step>

  <Step title="Add your first product">
    1. Inside the **Pizzas** category click **Add product**, then **New product**.
    2. Enter the **Name** `Margherita`.
    3. Enter a **Description**, for example `Tomato, mozzarella, fresh basil`. The first line or so shows on the menu card, the rest on the product page.
    4. Enter the **Price** `9.50`. This is the base price; the size and topping choices add to it later.
    5. Click **Create Product**.

    The product now appears in the category. Click it to open the product editor, which has **Details**, **Tags & Allergens**, **Modifiers** and **Video** tabs — you will use the next two.

    <Tip>
      Add an image while you are on **Details** if you have one to hand: products with photos sell noticeably better. Anything up to 100 MB in a common image format is fine. See [Product images](/docs/guides/menu/products#product-images).
    </Tip>
  </Step>

  <Step title="Tag its allergens">
    1. On the product, open the **Tags & Allergens** tab.
    2. In the allergen list, set **Gluten** and **Milk** to **Contains**. Every allergen is either **Contains**, **May contain** or **Free**; new products start with everything set to **Free**.
    3. Click **Save changes**.

    The summary at the top of the allergen list is exactly what customers will see on the product page.

    [Full guide: Tags & Allergens →](/docs/guides/menu/tags-allergens)
  </Step>

  <Step title="Add a required size modifier group">
    A modifier group is a question the customer answers when they add the product. This one is **required** — the customer cannot add a Margherita without picking a size.

    1. On the product, open the **Modifiers** tab.
    2. Under **Add a modifier group**, click **Create a new group**.
    3. Enter the **Name** `Choose your size`.
    4. Click **Add an option** and enter `10 inch` with a **Price** of `0`.
    5. Click **Add an option** again and enter `14 inch` with a **Price** of `3.00`.
    6. Under **How many options can customers choose?**, set both the minimum and the maximum to **1**. A minimum of 1 is what makes the group required; a maximum of 1 means the two sizes behave like radio buttons.
    7. Leave **In Stock** ticked on both options and **Initial display setting** on **Expanded**.
    8. Click **Save Modifiers**.

    <Warning>
      A required group needs at least one option that is **In Stock**. If every option in a required group is out of stock, the whole product becomes unavailable — this is the most common reason a product "disappears" later. See [Item Not Showing on the Menu](/docs/guides/menu/item-not-showing).
    </Warning>
  </Step>

  <Step title="Add an optional toppings group">
    This group is **optional** — customers can skip it — and lets them pick more than one thing.

    1. Still on the **Modifiers** tab, click **Create a new group** again.
    2. Enter the **Name** `Add toppings`.
    3. Add three options with **Add an option**: `Mushrooms` at `1.00`, `Olives` at `1.00` and `Pepperoni` at `1.50`.
    4. Under **How many options can customers choose?**, set the minimum to **0** and the maximum to **3**. A minimum of 0 is what makes the group optional.
    5. Click **Save Modifiers**.

    You now have a product with a required and an optional group. The **Modifiers** tab lists both; drag them to change the order customers see them in.

    [Full guide: Modifiers →](/docs/guides/menu/modifiers)
  </Step>

  <Step title="Add a second product that reuses the same groups">
    You do not have to rebuild modifier groups for every pizza. Groups are shared: attach an existing one and any later edit to it applies everywhere it is used.

    1. Back in the **Pizzas** category, click **Add product** → **New product**.
    2. Enter the **Name** `Marinara`, a **Description** such as `Tomato, garlic, oregano — no cheese`, and the **Price** `8.50`. Click **Create Product**.
    3. Open the product, go to **Tags & Allergens**, set **Gluten** to **Contains** and click **Save changes**.
    4. Go to **Modifiers**. Under **Add a modifier group**, click **Use an existing group**, find the size group you created in the list and click **Add group to product**. Repeat for the toppings group.
    5. Click **Save changes**.

    <Tip>
      For near-identical items (a Vegan Margherita, say) use **Add product** → **Duplicate product** instead. It copies the name, description, price, image, tags and allergens, and optionally the modifier groups, so you only change what differs. See [Duplicate vs New](/docs/guides/menu/products#duplicate-vs-new).
    </Tip>
  </Step>

  <Step title="Check the live ordering page">
    Everything you have saved is already live — there is no separate publish step.

    1. Go to **Stores** and click **View store** on your store's card. Your ordering page opens in a new tab.
    2. You should see a **Pizzas** section with **Margherita** at £9.50 and **Marinara** at £8.50.
    3. Tap **Margherita**. The product page shows the allergen summary, **Choose your size** with the two sizes and **Add toppings** with the three toppings. Pick **14 inch** and **Pepperoni** — the price shown should update to £14.00.
    4. Add it to the basket. You do not need to place the order.

    <Check>
      If something is missing or greyed out, work through [Item Not Showing on the Menu](/docs/guides/menu/item-not-showing) — it walks through every setting that can hide an item, from store snoozing to modifier stock.
    </Check>
  </Step>
</Steps>

## What to Do Next

<CardGroup cols={2}>
  <Card title="Add the rest of your menu" icon="list" href="/docs/guides/menu/categories">
    Repeat steps 2–7 for each section. On a computer, drag categories and products to reorder them; on a touch device use **Sort categories**.
  </Card>

  <Card title="Import the rest from a spreadsheet" icon="file-csv" href="/docs/guides/menu/csv-import">
    If the full menu is long, export what you have built as a template, fill it in and import the rest.
  </Card>

  <Card title="Set opening hours and fulfilment" icon="clock" href="/docs/getting-started/launch/set-opening-hours">
    When the store takes orders, and whether that is pickup, delivery or at the table.
  </Card>

  <Card title="Take items on and off sale" icon="moon" href="/docs/guides/menu/availability-snoozing">
    Snooze a product until tomorrow, mark a topping out of stock, or set a category's hours.
  </Card>

  <Card title="Add photos to every product" icon="image" href="/docs/guides/menu/visual-menu">
    Turn the list into a visual menu.
  </Card>

  <Card title="Understand the whole menu model" icon="sitemap" href="/docs/guides/menu/overview">
    The overview explains every term and points to the guide for each task.
  </Card>
</CardGroup>


## Related topics

- [3. Build Your Menu](/docs/getting-started/launch/build-your-menu.md)
- [Menu Overview](/docs/guides/menu/overview.md)
- [Food Trucks & Pop-ups](/docs/guides/use-cases/food-trucks.md)
- [Google Business Profile](/docs/guides/increasing-sales/google-business-profile.md)
- [Capturing Guest Data](/docs/guides/guest-data/overview.md)
