Skip to content

Import a spreadsheet

If your menu already lives in a spreadsheet — a POS export, a competitor comparison, anything with rows and columns — you can upload it directly instead of retyping everything.

The importer reads CSV and TSV files, and .xlsx/.xls workbooks (Excel’s format is loaded on demand, so a plain CSV upload doesn’t pay for it). Arabic text saved from Excel on Windows is handled even without a UTF-8 byte-order mark.

Column headers are matched automatically, in English or Arabic: section/category, item name, description, price, compare-at (old) price, calories, allergens, may-contain traces, dietary tags, spice level, badges, and a SKU/item code. Bilingual columns (name, section, description) are recognised by a language word in the header — “Name (English)”, “الاسم بالعربي” — or, failing that, by the script of the header itself. Anything the importer can’t place is left as “ignore” so you can map it by hand.

Open Import a spreadsheet from the dashboard, or go straight to /app/imports/new. Drop your file — nothing leaves your browser until you review it. The mapper shows a preview of your rows with a dropdown per column; adjust any column it guessed wrong, then stage the import.

Staging doesn’t publish anything — it flags things for you to check first:

  • Missing prices on rows the importer couldn’t read a number from.
  • Price outliers, where a price looks 10× (or 0.1×) the rest of its section’s median, with a suggested fix.
  • Missing calories, since Qaema requires a value per item.
  • Missing translations, when a name is only filled in for one language.
  • Suggested allergens, when the sheet’s own allergen tag was inferred rather than explicit.
  • Near-duplicates, when a row looks like the same dish as one already in your menu or elsewhere in the sheet.

Open the staged import and confirm it once the findings look right — this applies the items to your draft menu, it does not publish them. Publish from the dashboard (or ask your agent to) when you’re ready for diners to see the change.

A venue can have at most 5 imports waiting for review at once — confirm or discard one before staging another.