AI Menu Import

From Photo to Full Menu in Minutes

Upload a photo, PDF, or Word document of your existing menu. Claude reads every category, item, price, and allergen — you review the result and commit a complete menu in one click.

What Is AI Menu Import?

Manually typing every product, every price, every description into a new venue can take an entire afternoon. AI Menu Import turns that afternoon into a coffee break: drop in a photo of your laminated menu, a PDF you sent the printer, a Word document a previous owner left behind, or a supplier price list — and the system extracts the structured data for you.

Claude Sonnet 4.6 reads each page with vision, identifies categories, items, prices, weights, and visible allergen icons, and emits a structured menu with per-field confidence scores. You see exactly what was read, edit anything that looks wrong, and commit when you're happy. After commit, descriptions and translations fill in automatically in the background.

Why Operators Love It

Photo to Menu in Minutes

Drop in up to 8 photos at once — Claude transcribes everything in 10–30 seconds. Average new venue goes from signup to first published menu in under 15 minutes.

Confidence-Coded Review

Every field is rated by the model. High confidence is green; uncertain reads are yellow or red so you focus your attention only where it matters. No re-reading what was already correct.

All Your Languages, Filled In

After commit, names and descriptions are translated into every language enabled on your venue — EN, BG, EL — automatically. You don't run a second pass.

Cost Predictable, Privacy Protected

Around $0.05–$0.15 per import. Source files are deleted from S3 after 7 days by lifecycle rule. Anthropic does not train on your menu — DPA covered.

How It Works

1

Upload Your Source

On /admin/products, click Import from photo. Drag in JPG / PNG / HEIC photos, a PDF menu, a Word doc, or a supplier price sheet. Up to 8 files, max 10 MB each.

2

Pre-flight + Vision Read

We do a fast readability check first (rejects blurry photos with a clear retake-the-shot message), then Claude Sonnet 4.6 transcribes the menu into a structured JSON of categories and items.

3

Review & Edit

A tree view shows every category and item. Cells are colour-coded by confidence. Edit any field, delete junk, add anything that was missed. The menu name auto-suggests from the source.

4

Commit + Background Backfill

One Prisma transaction creates Categories, Products, ProductMenu links, and allergen tags. Descriptions and translations fill in automatically in the background — keep editing while it runs.

Feature Detail

Multi-Format Input

Phone photos, scanned PDFs, multi-page menus, Word documents, supplier price lists — same workflow for all of them. PDFs go to Claude as native documents; HEIC photos are transcoded to JPEG on upload.

  • JPG / PNG / WebP / HEIC images
  • Single and multi-page PDFs
  • Word & plain-text documents (cheaper Haiku path)
  • Supplier price lists with cost-price extraction

Per-Field Confidence

Claude rates name, price, and description confidence for every item. The review UI colour-codes each cell green, yellow, or red so you know where to look. Low-confidence items can't slip through unnoticed.

  • Green ≥ 0.85, yellow 0.7–0.85, red < 0.7
  • Self-rated by the model on every field
  • Cross-listing detection — same item, multiple sections, emitted once
  • Currency mismatch refuses commit instead of silently saving wrong prices

Background Backfill

After commit, missing descriptions are written by gpt-4o-mini and every name + description is translated into all your enabled languages via Google Translate. You see new menu items immediately and translations within a minute.

  • Descriptions written for items with name only
  • Names + descriptions translated to EN / BG / EL
  • Runs in the background — UI never blocks
  • Re-uses existing TranslationInput pipeline

Liability-Aware Allergens

Allergens are extracted only when visibly tagged on the source (V/VG icons, nut/gluten symbols, dairy markers). The system never infers allergens from item names. Every extracted allergen is confidence-flagged for explicit operator confirmation.

  • Visible icons → matched ProductAllergen rows
  • Vegetarian / vegan flags map to dietary columns
  • Spicy + dietary tags supported
  • Never inferred from name — explicit-only

Use Cases

First-Time Onboarding

New venues take their existing laminated menu, snap photos at the table, and have a complete digital menu before the staff finishes their next coffee.

Migrating from Another Platform

Export a PDF from Sunday or Square, drop it into the importer, and skip the manual data entry you'd otherwise spend an afternoon on.

Seasonal Menu Refresh

Send the new printed menu to the kitchen, then drop a copy into the importer to create new categories or extend existing ones in one shot.

Multi-Branch Roll-out

Each branch's menu hits the importer once. Translation backfill ensures every locale is filled, regardless of which branch's primary language was used.

Supplier Price Tracking

Drop a supplier price sheet in supplier-list mode and create a draft cost-price catalogue without exposing it to customers — useful for margin tracking.

Word Doc From Previous Owner

If the only existing menu is a .doc file from the previous operator, the text-only path uses cheaper Haiku 4.5 — same review flow, same commit.

Why AI Menu Import Cuts Onboarding from Hours to Minutes

The single largest drop-off in restaurant SaaS onboarding is data entry. New operators sign up, see an empty menu, realise they have to type 60–200 items by hand, and never finish the first session. AI Menu Import removes that friction entirely — drop in a photo, get a complete menu, edit only what's wrong.

Vision Models Beat Manual Data Entry

Claude Sonnet 4.6 reads dense laminated menus, mixed-font printed PDFs, and even slightly blurry phone photos with high accuracy on item names and prices. The system never hallucinates — every extracted item is grounded in pixels, and per-item confidence scoring makes uncertain reads visible. Combined with the operator review step, the human-in-the-loop catches anything the model missed.

Privacy-First and Cost-Predictable

Source files live in S3 for 7 days only — a lifecycle rule deletes them automatically. Claude does not train on your menu (Anthropic DPA in place). Per-import cost is around $0.05–$0.15 for a typical single-page menu, including the post-commit description and translation backfill. There is no per-venue subscription premium for the feature once the plan flag is enabled.

Built for Multilingual Operations

Whether your source menu is in English, Bulgarian, or Greek, the importer extracts in the source language then back-fills translations into every other locale your venue has enabled. There is no manual second pass — once you commit, your customers in every supported language see a translated menu within a minute.

Skip the Typing — Photo to Menu in Minutes

Available on the Starter plan and above. New venues onboard in under 15 minutes; migrations from other platforms complete in a single session.