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

# Bulk Importing Menu Items

> Import many menu items at once from a CSV or Excel file in the oFatoura web admin, with automatic category and menu creation, preview, and per-row validation.

When you are setting up a new branch or adding a large batch of dishes, you can import many menu items at once from a CSV or Excel file instead of adding them one by one. oFatoura creates any missing categories and menus for you, checks your file before anything is saved, and shows you exactly which rows worked and which did not.

This is done in the browser web admin.

<Note>
  **Permissions:** You need the **Create Menu Item** capability to run a bulk import.
</Note>

## Before you start

* Have your data ready in a **CSV, XLSX, or XLS** file.
* The file must be **10 MB or smaller**.
* You can run **one import per minute** — if you try again too soon, wait a moment before retrying.

<Tip>
  Download the sample template first (see below) and fill it in. It already has the correct column headings, so you avoid mapping mistakes.
</Tip>

## Required and optional columns

Your file needs these four columns for every item:

| Column          | What it holds                                      |
| --------------- | -------------------------------------------------- |
| `item_name`     | The dish or product name                           |
| `category_name` | The category it belongs to (e.g. Starters, Drinks) |
| `menu_name`     | The menu it belongs to                             |
| `price`         | The item price                                     |

These columns are optional and can be left out:

| Column                  | What it holds                                         |
| ----------------------- | ----------------------------------------------------- |
| `description`           | A short description of the item                       |
| `type`                  | `veg`, `non-veg`, or `egg`                            |
| `show_on_customer_site` | Whether the item appears on your online ordering site |

<Info>
  If a `category_name` or `menu_name` in your file does not exist yet, oFatoura **creates it automatically** during the import. You do not need to set up categories and menus in advance.
</Info>

## Importing your items

<Steps>
  <Step title="Open Bulk Upload">
    In the sidebar go to **Menu > Menu Items**, then open **Bulk Upload**.
  </Step>

  <Step title="Download the sample template">
    Use the **Download sample template** option to get a correctly formatted starter file, then fill it with your items.
  </Step>

  <Step title="Select your file">
    Choose your prepared CSV or Excel file (10 MB or smaller). You will see upload progress as the file is read.
  </Step>

  <Step title="Choose a kitchen">
    If your branch has **more than one kitchen station**, pick the kitchen these items should be sent to. With only one kitchen, this step does not appear.
  </Step>

  <Step title="Preview and review">
    oFatoura shows a **preview** of your file and checks the data. Any problems are listed as **per-row errors** so you can see exactly which lines need fixing.
  </Step>

  <Step title="Start the import">
    Once the data looks correct, start the import. oFatoura creates the items, along with any missing categories and menus.
  </Step>

  <Step title="Download the results">
    After the import finishes, download the **results report** to confirm what was imported and review anything that was skipped.
  </Step>
</Steps>

## Fixing validation errors

Before saving, oFatoura validates the file's security and each row's data and completeness. If a row is missing a required value or has an invalid one (for example a `type` that is not `veg`, `non-veg`, or `egg`), it is flagged with a per-row error.

<Warning>
  Correct the flagged rows in your source file and upload it again. Remember the **one import per minute** limit — if you just ran an import, wait before retrying.
</Warning>

## Related

<Columns cols={2}>
  <Card title="Adding and Editing Menu Items" icon="utensils" href="/menu/menu-items">
    Add or fine-tune individual items after importing.
  </Card>

  <Card title="Creating Menus and Item Categories" icon="folder-tree" href="/menu/menus-and-categories">
    Review the menus and categories created during import.
  </Card>

  <Card title="Assigning Menu Items to Kitchens" icon="chef-hat" href="/kitchen/routing-items">
    Control which kitchen station prepares each item.
  </Card>

  <Card title="Sorting Menu Items and Categories" icon="arrow-down-up" href="/menu/sorting-items">
    Arrange the order items appear in.
  </Card>
</Columns>
