Skip to main content

Uber Eats

Uber Eats integration plugs your OrderUp restaurant into Uber's marketplace. Your menu syncs out, orders flow in, and prep happens in the same workflow as in-house and online orders.

What you get

  • Single menu source. Edit in OrderUp; Uber Eats updates automatically.
  • Orders on the POS. Uber Eats tickets land on your POS the moment a customer hits submit.
  • Status sync. Accept, prep, and "ready for pickup" updates push back to Uber Eats so the courier and customer always know what's happening.
  • Hours and availability. Pause your store, 86 a single item, or close for the night — all from OrderUp, mirrored to Uber Eats.

What you'll need before you start

  • An active Uber Eats Merchant account with at least one store provisioned and live on Uber Eats.
  • Manager-level access to the OrderUp management app.
  • The Uber Eats login (email + password, or SSO) for the account that owns the store you're connecting.

If you haven't onboarded with Uber Eats yet, complete that with Uber first. We can't create or activate a new Uber Eats store on your behalf.

Connecting your account

  1. In the management app, open Settings → Restaurant Settings → Operations → Integrations.
  2. Locate the Uber Eats card and click Connect.
  3. A secure Uber sign-in window opens. Log in with your Uber Eats Merchant credentials.
  4. Review the permissions Uber requests — store management, order management, POS integration — and approve.
  5. If your Merchant account contains more than one store, OrderUp will prompt you to pick which store maps to this restaurant. (Each OrderUp restaurant connects to exactly one Uber Eats store.)
  6. The window closes; the integration card flips to Connected and shows the linked store name and address.

The connection uses Uber's official OAuth flow with PKCE. OrderUp never sees your Uber password — only the access tokens Uber issues, which are stored encrypted on our servers.

The flow is one-way: your OrderUp menu pushes to Uber Eats. Edit menus in OrderUp and the integration takes care of the rest.

Sync triggers:

  • On save. Most menu edits push within a minute.
  • On a schedule. A background sync runs hourly to catch anything missed.
  • On demand. Use Sync Menu Now from the integration card after a big reorganization or to confirm a fix landed.

What syncs:

  • Items, prices, descriptions, photos.
  • Modifier groups and modifiers (with required/optional and min/max).
  • Categories (Uber Eats calls them "menu sections").
  • Item availability — when you 86 an item in OrderUp, it disappears from Uber Eats.
  • Hours — your operating hours and any overrides.

Markup pricing for Uber Eats works the same way as for DoorDash: set a flat or per-category markup so commission doesn't eat your dine-in margin.

Order acceptance flow

When an Uber Eats order arrives:

  1. It appears in the POS Incoming Orders queue with an Uber Eats badge and the customer's name and pickup window.
  2. The POS pings (configurable) and a manager confirmation is required by default.
  3. Accept with an estimated prep time, or Reject with a reason. Uber's rules require fast acceptance — usually within 60–90 seconds — so make sure the device receiving orders is staffed.
  4. Accepted orders route to your kitchen printers and KDS, labeled "Uber Eats." Treat them like any other ticket.
  5. Mark Ready for Pickup when food is up. Uber dispatches a courier (or, for scheduled orders, ensures the courier is already on-site).

Scheduled orders

Uber Eats lets customers order ahead. Scheduled orders show up in OrderUp earlier than the prep window, with a clear Scheduled for [time] label. The POS will hold the order until the right moment to start prep, based on the prep time you configured. You don't need to do anything special — the integration handles the timing.

Refunds and cancellations

If something goes wrong:

  • Customer cancels before you accept. The order disappears with a notification.
  • Customer cancels after you accept. OrderUp marks the order as cancelled and sends you a notification. Per Uber's policy, you may still be paid for items already prepped.
  • You need to cancel. Open the order on the POS, tap Cancel, choose a reason (out of stock, kitchen capacity, store closing). Uber notifies the customer and refunds them. If Uber has already moved the order past a cancellable point on their end (for example, a courier already picked it up), OrderUp can't cancel it for you — you'll get a clear message to cancel directly with Uber, then the order needs to be re-synced so your ticket matches what Uber shows.
  • Refund a delivered order. Open the order in Orders → Completed, click Refund, select full or partial, and submit. The refund pushes to Uber, which credits the customer.

Refund and cancellation reasons feed your Uber Eats merchant scorecard, so be honest — repeated "out of stock" rejections hurt your visibility on Uber's app.

Common issues

  • Connection stuck on "pending." The OAuth window closed before the callback completed. Click Retry on the integration card.
  • Menu errors. The integration card surfaces sync errors inline. Most are fixable in OrderUp (missing photo, description too short).
  • Orders not arriving. Check the device that's set as the order receiver is online and the integration is Connected. Uber's webhook deliveries are retried automatically; persistent issues escalate to the alerts you've configured.
  • Accept or Cancel says the order already changed on Uber's side. If the order expired, or was accepted/cancelled directly on Uber before you acted, OrderUp won't fail silently — it tells you the order needs to be re-synced rather than showing a generic error.
  • "Marked ready" doesn't match what you see. Marking an order ready reports the kitchen update and the notice to Uber separately, since either can fail on its own. If the order couldn't be matched locally, you'll be told the kitchen status didn't change even though Uber was notified — advance it by hand on the POS. If Uber couldn't be reached, the kitchen still shows ready and the notice to Uber is retried automatically.
  • Token expired. Long-lived integrations occasionally need re-auth. The integration card will show a Reconnect prompt — click it and walk through the sign-in flow again.