Import your menu
Upload a CSV, Excel, PDF, Word or text file, or photograph your printed menu. Match your columns, let AirQR split one file into Bar and Food menus with the right stations and short codes, review everything and import it in one go.
Import menu turns a menu file (CSV, Excel, PDF, Word or text) or photos of your printed menu into an AirQR menu in a few minutes. It reads sections, dishes, prices, sizes, veg/non-veg marks and, from a spreadsheet, short codes, parcel prices, stations and your own extra columns. It can split one file into several menus (for example a Bar menu and a Food menu) and send each section to the right station. You review everything before anything goes live.
Open it from Menu & QR → Import menu, or the Import menu button in the menu builder. Only owners and managers can use it.
How do I import my menu from a CSV or Excel file?
- Open Menu & QR → Import menu. The Upload a file tab is open.
- Click Choose your menu file (or drag the file onto the page). Files up to 3.8 MB and up to 2,000 dishes.
- Click Read file. Spreadsheets open in Match your columns (see below).
- Click Review dishes to see the draft, then import it.
Spreadsheets are read straight away and use no AI credits when you match the columns yourself. Click Download CSV template for a ready-made layout. It has the same columns as Export CSV, so a file you exported from AirQR reads back without changes (see Export and re-import your menu (CSV)).
- Sizes: put each size on its own row with the same item name and a size name (Half, Full…), or use one price column per size (Half and Full, or Small and Large).
- Sections: a Category column, a row with only the section name above its dishes, or one Excel sheet per section all work.
- Old Excel files (.xls), Numbers or OpenOffice sheets: save them as .xlsx or CSV first.
How does "Match your columns" work?
AirQR shows every column of your file with sample values and guesses what each one holds. Check each guess and change it under Import (column) as if needed. You can choose:
- Menu: which menu the row belongs to (for example Bar or Food). When your file has this column, it decides the menus.
- Category, Dish name, Description, Price
- Size name and Size price (one pair per size), and Size parcel charge, used as the dish's parcel price change when it has none
- Short code: what staff type on the POS, like
OC180. When the file has two or more code columns, choose Short code (auto-pick best per row) (see below). - Scan code (barcode): the product barcode a scanner reads, like
8901544011144. Columns called Barcode, EAN, UPC or Scan code are matched to it. - Veg / non-veg, Spice level, Available, Station
- Parcel price change: added to the price when the dish is packed (see Parcel pricing)
- Custom field: keep any other column, like an HSN code or SAP code, as your own field on the dish. Give it a Field name. Up to 30 custom fields.
- Don't import: skip the column.
Only the dish name column is required. Hide empty columns tidies the list. AirQR remembers your choices on this browser for files with the same column headings, so next month's file from your POS or accounts software opens already matched.
If the columns are hard to match, click Let AI read it instead. That reads the file with AI and uses AI credits.
PDF, Word and text files always go to the AI, which takes 20 to 60 seconds and uses AI credits.
How do I import my paper menu from photos?
- Open Menu & QR → Import menu and switch to the Take photos tab.
- Click Take or upload photos. On a phone or tablet this can open the camera; on a computer, choose image files. You can also drag and drop photos onto the page.
- Add one photo per menu page. Click Add page for more, up to 6 pages at a time. Remove a page with × (Remove page).
- Click Read menu. Pages are read one by one ("Reading page 2 of 4"), about 10 to 20 seconds each, with a progress bar and the credits used so far. Keep the tab open.
- You see "Found X items in Y sections" and the review screen opens. A section that runs over two pages is joined into one.
Click Cancel any time to stop. The pages already read are kept and open on the review screen, the page in progress is refunded and the pages not yet read cost nothing, for example "Stopped. 2 of 4 done, 20 credits used, nothing charged for the rest." A PDF, Word or text file is one job: cancelling it refunds it.
Want to see how it works before spending credits? Click See an example. It shows a sample café menu on the review screen and uses no credits. Menus in English, Hindi or a regional script all work.
How does AirQR split one file into several menus?
On the review screen, sections are grouped under the menu they will go into. AirQR looks at each section's name and dishes (English and common Hindi or Hinglish words):
- Alcohol, and the drinks that sit with it, go to a Bar menu. Food goes to a Food menu.
- With no bar, a long drinks list, desserts or breakfast can get their own Beverages, Desserts or Breakfast menu.
- If everything belongs together, it stays one menu.
- A Menu column in your file always wins over the guess.
To change it:
- Move a section with its Menu picker. Choose + New menu… to start another one.
- Rename a new menu in the Menus panel on the right. Each menu shows whether it's a New menu or an Existing menu you are adding to, with its sections and dishes.
- Click Sort with AI to have AI sort the sections into menus and stations for you. Only section names and a few dish names are sent. It uses AI credits.
Sections with the same name in the same menu are merged.
How do I choose the station for each section?
Each section has a Prepared at picker with your outlet's stations. AirQR suggests one: drinks to the bar, desserts and coffee to a matching counter if you have one, everything else to the kitchen. Change it if needed; it applies to every dish in the section.
If the file has drinks but your outlet has no bar station, you see "Drinks were found, but this outlet has no bar station: they'll go to the kitchen." Click Add a Bar station to create one and send the drinks there. Staff who can't change settings see a note to ask an owner or manager. See Stations and station screens.
How are short codes and scan codes imported?
Every dish has one short code and one scan code. They do different jobs:
- Short code: what staff type on the POS, like
OC180for Officers Choice 180 ml. Then press Enter (see Short codes and fast POS entry). - Scan code: the barcode printed on the product, like
8901544011144(EAN / UPC). A barcode scanner reads it on the POS.
On Match your columns:
- A column called Barcode, EAN, UPC or Scan code is matched to Scan code (barcode).
- A Short code column is matched to Short code. When the file has two or more code columns (for example Short_Code and Short_Code_2), they are matched to Short code (auto-pick best per row). For each dish, the typed code (OC180) becomes the short code and a long number (8 or more digits, like 8901544011144) becomes the scan code, whichever column it is in. Any other code is kept as an Alt code custom field.
On the review screen the scan code shows under the dish next to a small barcode icon, and you can edit it there. A scan code is 4 to 32 letters or numbers (spaces and dashes are removed).
- Short codes from your file are kept. If two dishes share a code, the first keeps it.
- With Create short codes for dishes without one on, AirQR suggests a code from the dish name, for example Royal Stag Whisky (180ml) → RS180. Suggested codes show in dashed boxes; edit any of them.
- A short code must be 1 to 20 letters, numbers, - or _. A scan code that another dish of your business already has, or that repeats in the file, is left blank. A short code that doesn't fit or is already used is left blank too. The review warns you before you import, and after importing you see how many were left blank.
An AirQR Export CSV file has a Scan code column. Older exports call it Barcode; both import the same way.
Other custom fields show as "N custom fields" on the dish.
What happens when I import a file with dishes I already have?
Importing the same file again, or a newer version of the same POS export, updates your existing dishes instead of adding them twice. AirQR matches each row in the file to a dish you already have, in this order:
- the same scan code;
- the same short code;
- the same name (capitals and extra spaces don't matter) in the same menu, in any of its sections, and only when that name is used once in the menu.
Dishes are never matched across businesses. When the file has dishes you already have, the review panel shows When a dish already exists:
- Update it (the default): the price, sizes, description, veg/non-veg, spice level, station, codes and custom fields come from the file. A blank cell, a missing column, or a station or spice level the file doesn't state keeps what the dish has now. Photos, recipes, availability, outlet prices and anything not in the file stay as they are. A size that is still in the file keeps its identity, so open orders and the POS are not disturbed; sizes the file no longer has are removed. If the file puts the dish in another section of the same menu, the dish moves there.
- Skip it: dishes you already have are left untouched and only new dishes are added.
- Add as new: every row is added again, so dishes appear twice. The review warns you before you do this.
Each section shows a line like "12 new · 30 will update · 2 unchanged", and each matched dish is marked updates [dish name] or unchanged. After importing you see, for example, "Imported: 12 new, 30 updated, 2 unchanged".
A short code or scan code that another dish already has is not copied onto the dish being updated: it keeps its own code.
How do I review the draft before importing?
Nothing is published until you confirm. On the review screen each section is a card with its dishes inside. Big menus open with sections folded; use Open all sections or Fold all sections.
- Section name: edit it at the top of the card.
- Include or leave out: untick Include section or Include item to skip it, or remove a whole section with the bin icon (Remove section).
- Dish name, description and price: edit them in their boxes. A red price? means the price wasn't found; type it in, otherwise the dish imports at 0.
- Sizes: each size with its own price.
- Veg / egg / non-veg: click the mark next to the dish name to switch it.
The panel on the right shows how many items ready to import. Prices are in your outlet's currency. Click Import X items. A message confirms how many items (and new menus) were imported, and AirQR opens the menu builder. New menus are offered at the outlets you have access to.
Change column matches takes you back to the column step; Start over throws the draft away.
Importing only adds. It never changes or removes dishes already on your menu.
What should I do after importing?
- Open each dish in the Menu builder and check the name, price and mark.
- Add photos (the No photo filter finds them).
- Check stations. To move a whole category, use Send all dishes to station… in the category's … menu.
- Fill any missing short codes with Create missing short codes in the menu's gear menu.
- Create add-on groups under Modifiers, and reorder sections and dishes by dragging.
See Menu builder basics, Item photos and details and Sizes and add-ons.
How many AI credits does menu import use?
- CSV or Excel matched by you: no credits.
- Each photo page: 10 AI credits (up to 6 pages at a time), charged page by page as each one is read.
- A PDF, Word or text file, or a spreadsheet you send to AI: 10 AI credits for the file.
- Sort with AI: 10 AI credits.
A very dense job can use a few extra credits, shown in your usage log. Reviewing, editing and importing are free, and See an example is free. If reading a page fails or you cancel it, its credits are given back.
AI credits per month are shared with Write with AI descriptions, AI translations, AI dish photos and the AI waiter:
| Plan | AI credits per month |
|---|---|
| Free trial | 300 |
| Starter | 100 |
| Growth | 1,000 |
| Pro | 3,000 |
Credits reset on the 1st of each month. Need more? See AI credits, packs and pay as you go.
Tips for the best results
- Spreadsheets: one row per dish with Category, Item and Price. Everything else is optional.
- Photos: one page per photo, shot straight on in good, even light, with the page flat and sharp.
- Big paper menus: import up to 6 pages, then run it again for the rest into the same menu; sections with the same name merge.
- Check prices after import, especially dishes marked price?.
Troubleshooting menu import
| Message or problem | What to do |
|---|---|
| "That file is over 3.8 MB. Split it, or save it as CSV." | Save the sheet as CSV (much smaller), or split the file. |
| "Save the sheet as .xlsx or CSV first (File → Save as / Download)." | Old Excel (.xls), Numbers and OpenOffice files can't be read directly. |
| "Save the document as .docx or PDF first." | Old Word (.doc) files can't be read directly. |
| "That file has no rows to import." | The sheet is empty, or the dishes are on another sheet. |
| "Pick the column with your dish names." | In Match your columns, set one column to Dish name. |
| "Up to 2,000 items at a time, please." | Split the file and import it in parts. |
| "Up to 6 pages at a time, please." | Import the first 6 photos, then run it again for the rest. |
| "Photos must be JPG, PNG or WebP." or "Each photo must be under 3.5 MB." | Use a normal phone photo or screenshot. For a PDF, use Upload a file instead. |
| "AI import isn't switched on…" | Match the columns yourself, or contact support to switch AI import on. |
| "You've used X of Y AI credits this month…" | Match a spreadsheet yourself (free), wait for the 1st, or add credits in Plan & billing → AI credits. |
| A short code was left blank | It was already used by another dish or didn't fit. Set it in the dish, or use Create missing short codes. |
| Drinks went to the kitchen | Add a bar station (Add a Bar station on the review screen, or Settings → Stations), then use Send all dishes to station… on the drinks category. |
| Dishes appear twice | Importing adds dishes and never replaces them. Delete the extra copies, or see Export and re-import your menu (CSV). |
Still stuck? Call or WhatsApp +91 96573 22724, or email support@airqr.in.
New to AirQR?
See AirQR in a short demo with your own menu. Already a customer? Sign in to follow these steps in your dashboard.
Still stuck? Contact support at support@airqr.in.