Skip to content

Get ready

What to prepare before you set up your restaurant on NovoDine, so the import goes smoothly.

About 3 h 25 min of preparation in total. You can stop and continue later.

Print this page or save it as a PDF to share with your team.

How it works

  1. Download the templates below and fill them in. Keep the first row (the column names) as it is.
  2. Tick each item when it is ready. Your ticks are saved.
  3. Start onboarding: upload the files, check what we found, fix any red cells, and import.
  4. Invite your team, place a test order or booking, and you are ready for our team to take you live.
  • Excel (.xlsx) or CSV (UTF-8) files both work. Save CSV as UTF-8 so Arabic stays readable.
  • Use one file per template. Only the first sheet of an Excel file is read.
  • Header names can differ; you will match them to our columns before anything is imported.
  • Re-uploading a corrected file is safe: rows are matched and updated, never duplicated.

Checklist

Ticks on this page are kept in this browser only. Sign in to save them for your property.

Name in English and Arabic, address and area, cuisine, phone and email for guests.

RequiredAbout 10 min

Logo as PNG with a transparent background (at least 512 px), and your main brand colour.

OptionalAbout 10 min

Hours for each day of the week, including split shifts and the day you close.

RequiredAbout 5 min

Every table with the number printed on it, seats and area (terrace, hall). Each table gets its own QR code.

RequiredAbout 15 minExcelCSV

Categories, dishes, prices, descriptions in English and Arabic.

RequiredAbout 1 h 0 minExcelCSV

Sides, sauces, sizes and extras, with their prices.

OptionalAbout 20 minExcelCSV

For every dish: the allergens it contains and tags like vegetarian or halal.

RequiredAbout 15 min

JPG, PNG or WebP, landscape, at least 1200 px wide, up to 8 MB each. Name each file after the item code or the dish name.

OptionalAbout 30 min

Tax rate, service charge rate and the tip you want suggested.

RequiredAbout 5 min

Name, work email and role for every person who will use the CRM or the staff app.

RequiredAbout 10 minExcelCSV

Commercial registration, owner ID, bank account (IBAN) in the business's name. We connect the account with you.

RequiredAbout 20 min

Which POS you use today. We post paid bills to Foodics and Oracle Simphony; Restaurant Manager is being explored.

RequiredAbout 5 min

Templates

Tables

Every table guests sit at. One row per table; the label is what is printed on the table and on its QR card.

ColumnRequiredRuleExample
labelTable labelYesRequired. What is printed on the table: 12, T4, Terrace 2. Up to 12 characters. Unique.T1
seatsSeatsNoOptional. 1 to 40. Empty means 2.4
zoneAreaNoOptional. Terrace, Main hall, Private room. Up to 40 characters.Terrace
pos_table_refPOS table idNoOptional. The table's id in your POS, if bills post to it.

Common mistakes

  • The same table number twice (two QR codes would open the same bill).
  • Labels longer than 12 characters; keep them short, as printed.

Menu

Every dish with its category, price, allergens and options. One row per dish.

ColumnRequiredRuleExample
item_codeItem codeNoOptional. Your own code (letters, digits, - and _). If present, re-uploading the file updates the dish with this code. Name photos after it.MZ-01
category_enCategory (English)YesRequired. Dishes with the same category name are grouped together, in the order of the file.Starters
category_arCategory (Arabic)NoArabic name of the category. If empty, the English name is used and you will see a warning.المقبلات
name_enDish name (English)YesRequired. Up to 120 characters.Mezze platter
name_arDish name (Arabic)NoIf empty, the English name is used and you will see a warning.طبق مازة
description_enDescription (English)NoOptional. Up to 500 characters.Hummus, moutabal and warm bread
description_arDescription (Arabic)NoOptional. If empty, the English description is used.حمص ومتبل وخبز ساخن
pricePriceYesRequired. A number in your currency, e.g. 45 or 45.50. No currency sign needed. 0 is allowed.45
allergensAllergensNoSeparate with ; e.g. gluten;dairy. Allowed: gluten, dairy, eggs, nuts, peanuts, sesame, soy, fish, shellfish, celery, mustard, sulphites.sesame;gluten
dietaryDietary tagsNoSeparate with ; Allowed: vegetarian, vegan, gluten_free, dairy_free, halal, spicy, signature.vegetarian
modifier_groupsOption groupsNoNames of option groups from the Options file (English), separated with ; e.g. Sides;Spice level.Sides
prep_minutesPreparation minutesNoOptional. Whole minutes, 1 to 240.8
stationKitchen stationNoOptional. Where the ticket is cooked: grill, cold, hot, bar, pastry or pass.cold
pos_item_refPOS item idNoOptional. The item's id in your POS, so orders post to the right item.
availableOn the menuNoOptional. yes or no. no keeps the dish hidden from guests. Empty means yes.yes

Common mistakes

  • Putting the currency in the price column as text ("QAR forty"). Use digits only.
  • One row with several dishes. Every dish needs its own row.
  • Writing allergens in free text ("contains nuts"). Use the words listed, separated with ;.
  • Different spellings of the same category ("Main" and "Mains") make two categories.
  • Referring to an option group that is not in the Options file.

Options (modifiers)

Choices guests make on a dish: sides, sauces, spice level, extras. One row per option.

ColumnRequiredRuleExample
group_enGroup (English)YesRequired. Rows with the same group name form one group, e.g. Sides.Sides
group_arGroup (Arabic)NoIf empty, the English name is used.أطباق جانبية
min_selectMinimum choicesNo0 means optional. 1 means the guest must pick one. Same value on every row of the group.0
max_selectMaximum choicesNo1 to 20. Same value on every row of the group. Empty means 1.2
option_enOption (English)YesRequired. e.g. French fries.French fries
option_arOption (Arabic)NoIf empty, the English name is used.بطاطس مقلية
price_deltaExtra priceNoWhat the option adds to the dish price. 0 or empty for free. A minus sign for a discount.12
pos_modifier_refPOS modifier idNoOptional. The modifier's id in your POS.

Common mistakes

  • A minimum higher than the number of options in the group.
  • Different minimum or maximum on rows of the same group.

Staff

Everyone who uses the CRM, the kitchen display or the staff app. One row per person.

ColumnRequiredRuleExample
nameNameYesThe person's name as the team knows it. Up to 80 characters.Mariam Al-Kuwari
emailEmailYesWork email. The invitation goes here; one person, one email. Must be unique in the file.mariam@example.com
roleRoleYesOne of the roles listed below. Exactly one role per person.admin
phoneMobileNoOptional. Mobile number for an SMS invitation, e.g. +974 5550 1234. Without a country code, +974 (Qatar) is used. Must be unique in the file.+974 5550 1234

Roles

  • adminOwner or manager: everything, including settings, payments and the team.
  • fnbF&B manager: menu, orders, stock.
  • hostHost: bookings and guests.
  • floorWaiter: tables, orders, bills on the staff app.
  • kitchenKitchen: the kitchen display.

Common mistakes

  • A shared email for several people. Each person needs their own email to sign in.
  • Personal and work email for the same person on two rows.

Options (modifiers)

Choices guests make on a dish: sides, sauces, spice level, extras. One row per option.

ColumnRequiredRuleExample
group_enGroup (English)YesRequired. Rows with the same group name form one group, e.g. Sides.Sides
group_arGroup (Arabic)NoIf empty, the English name is used.أطباق جانبية
min_selectMinimum choicesNo0 means optional. 1 means the guest must pick one. Same value on every row of the group.0
max_selectMaximum choicesNo1 to 20. Same value on every row of the group. Empty means 1.2
option_enOption (English)YesRequired. e.g. French fries.French fries
option_arOption (Arabic)NoIf empty, the English name is used.بطاطس مقلية
price_deltaExtra priceNoWhat the option adds to the dish price. 0 or empty for free. A minus sign for a discount.12
pos_modifier_refPOS modifier idNoOptional. The modifier's id in your POS.

Common mistakes

  • A minimum higher than the number of options in the group.
  • Different minimum or maximum on rows of the same group.