Odoo Restaurant Integration: Talabat, Multi-Branch POS and Food Cost
Odoo restaurant delivery integration for multi-branch chains: Talabat and Uber Eats via UrbanPiper, branch POS setup, food cost tracking and Odoo 20.
Most restaurant groups do not have a delivery problem. They have a re-keying problem: tablets from five apps on the counter, menus that drift, and a finance team rebuilding sales from exports. Our Odoo ERP for restaurants work starts by putting every channel on one POS and one stock ledger.
This guide is for owners, operations heads and finance leads at restaurant chains, cloud kitchens and QSR brands with two or more branches. If you are still choosing tills and hardware, start with our Odoo POS implementation guide.
How does Odoo restaurant delivery integration work?
Odoo restaurant delivery integration works by linking each POS to a delivery aggregator account, so orders from the apps arrive in the POS, go to the kitchen display and post to stock and accounting. Odoo's own route is the UrbanPiper connector.
Odoo's UrbanPiper documentation describes UrbanPiper as an order management system that consolidates orders from many food delivery platforms into one interface. Odoo's food delivery integration page names Uber Eats, Talabat, Zomato and Swiggy.
The setup follows the same steps for every branch:
- Get credentials: fill in the form in the POS settings to request an UrbanPiper username and API key from the Atlas platform.
- Enable the connector: tick Urban Piper under Food Delivery Connector and pick the delivery platforms for that POS.
- Create the store: click Create Store; Odoo creates a location on Atlas named after the POS, which takes 2 to 3 minutes to appear.
- Set store timings: define the days and hours when delivery is open for each branch.
- Publish products: mark which dishes are available on food delivery, per POS, from the product form or list view.
- Sync the menu: click Sync Menu to push the catalog to UrbanPiper and on to the apps.
- Go live: request go-live per platform in Atlas with the platform ID and URL.
Once live, a new order triggers a notification in the POS. Staff accept it, the order status moves from Placed to Acknowledged, and it shows on the preparation display. Marking it ready moves it to Food Ready and Paid.
Which delivery apps can Odoo connect to?
Odoo can connect to 25 delivery apps through UrbanPiper, plus GrabFood and GoFood through its own platform order connectors. Coverage depends on the country of each app.
| Region | Delivery apps listed in Odoo docs | Route |
|---|---|---|
| Gulf and MENA | Talabat, Careem, Keeta, HungerStation, Jahez, Mrsool, NoonFood, Ninja, Cari | UrbanPiper |
| Europe | Deliveroo, Just Eat, Glovo, Wolt, Uber Eats | UrbanPiper |
| North America | DoorDash, Uber Eats, Grubhub, Postmates, SkipTheDishes, ChowNow | UrbanPiper |
| Latin America | Rappi, Uber Eats | UrbanPiper |
| India | Swiggy, Zomato | UrbanPiper |
| Southeast Asia | GrabFood, GoFood | Odoo platform order connectors |
The APAC food delivery documentation covers GrabFood and GoFood. Both are Enterprise only, and our Odoo 20 notes say they are available from 19.0.
Is there an Odoo Talabat integration?
Yes, Odoo integrates with Talabat through the UrbanPiper connector, which lists Talabat in Bahrain, Egypt, Iraq, Jordan, Kuwait, Oman, Qatar, Saudi Arabia and the UAE. You need a Talabat reseller account and an UrbanPiper subscription.
Careem is listed for Egypt, Kuwait, Morocco and the UAE, and Keeta for Bahrain, Kuwait, Qatar, Saudi Arabia and the UAE. So a Gulf chain running Talabat, Careem and Keeta can bring all three into one POS.
Before UrbanPiper, many buyers were told this was not possible. On the Odoo forum, a moderator answered a question about connecting Odoo POS to GoFood and GrabFood by saying the platforms did not offer an open API. Today the answer depends on the app and the country.
There are also third-party Talabat connectors on the Odoo Apps Store. They need Odoo.sh or on-premise hosting, as Odoo Online does not accept custom or Apps Store modules. Check who maintains them and how they handle upgrades before you buy.
UrbanPiper, platform connectors or a custom API: which route fits?

Use UrbanPiper when your apps are on its list, a native platform connector for GrabFood or GoFood, and a custom API only for a POS or app that Odoo cannot reach. Each route has different costs and limits.
| Factor | UrbanPiper connector | Odoo platform connector | Custom API integration |
|---|---|---|---|
| Apps covered | 25 apps, incl. Talabat, Careem, Uber Eats | GrabFood and GoFood only | Any app or POS with an API |
| Odoo edition | Enterprise 18.0 and above | Enterprise only | Custom plan for the external API |
| Hosting | Odoo Online, Odoo.sh, on-premise | Check per app in Odoo docs | Odoo.sh or on-premise |
| Extra subscription | UrbanPiper plan plus app reseller accounts | App merchant account | None, but you own the code |
| Combo meals | Not supported; use variants | Per connector | Designed to your menu |
| Upgrade effort | Maintained by Odoo | Maintained by Odoo | Retest at every major version |
A custom route makes sense when a chain keeps a third-party till, such as a WebPOS, or uses a local app outside these lists. Our Odoo integration services design these links with scheduled sync and error handling.
How should a multi-branch restaurant set up Odoo POS?
Set up one POS per branch, linked to that branch's stock location, pricelist and kitchen displays, then create one UrbanPiper store per POS. This keeps sales, stock and delivery availability separate by branch while reporting stays in one database.
- POS per branch: create a shop with Is a Bar/Restaurant enabled, a floor plan and its own register and cash control.
- Presets: Odoo presets set pricelists and capacity by order type, such as Dine In, Takeout or Delivery.
- Kitchen routing: each preparation display takes chosen POS categories, with stages and alert timers per stage.
- Store hours: delivery timings are set per POS, so a branch that closes early stops taking app orders on time.
- Menu per branch: Available on Food Delivery is set per POS, so a dish can be live in one branch and hidden in another.
- Companies: separate legal entities or franchise owners usually need a multi-company setup with intercompany rules.
Map payment methods per platform too. Each app settles on its own schedule, so a separate journal per app makes commission and payout reconciliation much easier. Our guide to Odoo payment gateways in MENA covers the card side.
How do you track food cost in Odoo?
Track food cost in Odoo by setting each dish up as a kit or bill of materials, so every sale deducts ingredients and values them at cost. You then compare theoretical cost from sales with actual cost from stock counts.
Odoo's kit documentation defines a kit as a type of BoM that can be sold, and says kits need both Manufacturing and Inventory installed. For POS stock, Odoo's POS product docs require the Goods or Combo product type.
A practical food cost setup has four layers:
- Ingredients: raw items with purchase units, stock units and expiry tracking where it matters.
- Sub-recipes: sauces, doughs and marinades made as batches in a central kitchen with manufacturing orders.
- Dishes: kit BoMs that list ingredients and sub-recipes per portion.
- Counts and waste: regular stock counts and scrap with a reason, so actual use is real.
Here is an illustrative example. A burger sells for US$12.00 and its kit lists US$3.60 of ingredients, so its theoretical food cost is 30%. If counts show US$4.20 used per burger, the 5 point gap points to waste, portioning or theft.
For how these costs reach the P&L, see how Odoo calculates cost of goods sold. For expiry and recalls in a central kitchen, see our guide to Odoo for food manufacturing.
What Odoo 20 changes matter for restaurant chains?
Odoo 20 brings several POS changes that help restaurant chains, from snoozing sold-out dishes to a rebuilt end-of-session accounting flow. Our Odoo 20 Point of Sale release notes list 20 changes; these matter most for multi-branch groups.
- Snooze products: long press a dish to make it unavailable for 1, 2 or 4 hours or the session; it is hidden from self-ordering.
- End of session: sales post as one global invoice per session, and payment entries can post daily at a set hour.
- Split per product: preparation printers can print one ticket per dish, so each station gets its own ticket.
- Service fees: presets can add a fixed or percentage fee, shown on receipts and invoices.
- Combo suggestions: the POS suggests turning separate lines into a combo with one click.
- Multiple currencies: cash and bank methods can accept several currencies at checkout.
The end-of-session change matters most if you have custom POS accounting code. Field and model changes need testing before you upgrade, and integration code that writes POS orders should be retested too.
What goes wrong with restaurant delivery integrations?
Most problems come from menu structure and platform rules, not from the connector itself. Plan for these before go-live.
- Combo meals: Odoo's docs say UrbanPiper does not support combo products; the workaround is one product with combo choices as attributes and variants.
- Order rejection: Swiggy orders cannot be rejected directly, and Deliveroo, Just Eat and HungerStation do not allow rejection, so train staff on each app's rules.
- Sync delays: store creation and menu sync each take 2 to 3 minutes to reach Atlas, so do price changes before service, not during the rush.
- Menu drift: if managers edit menus inside each app, Odoo stops being the master; lock edits to Odoo.
- Payout gaps: app commissions, refunds and promotions arrive later in payout reports, so reconcile them per app journal.
- Unmapped modifiers: extras like extra cheese need clear product or attribute mapping, or stock deduction goes wrong.
Which restaurant formats get the most from Odoo delivery integration?
Formats with a high share of delivery orders and several branches see the fastest payback, because re-keying and menu drift grow with every branch and app. The table shows typical pain points and the Odoo setup we use.
| Industry | Pain or cost driver | Odoo approach | How iVentureTeam helps |
|---|---|---|---|
| QSR chains | Peak-hour volume across many apps | POS per branch, UrbanPiper, preparation display | Branch rollout template and menu mapping |
| Cloud kitchens | Several brands from one kitchen | One POS per brand, shared stock location | Brand and menu structure design |
| Casual dining | Dine-in and delivery on one menu | Presets for Dine In, Takeout, Delivery | Pricelist and service fee setup |
| Cafes and bakeries | Waste from short shelf-life items | Kits, expiry dates, scrap reasons | Recipe costing and par levels |
| Central kitchen groups | Batch prep moved to outlets | Manufacturing orders and transfers | Sub-recipe BoMs and transfer routes |
What does Odoo restaurant delivery integration cost?
The cost has three parts: Odoo licenses, the UrbanPiper and app subscriptions, and the implementation work. Budget for all three, not just the connector.
On the Odoo pricing page, the US price billed yearly is US$31.10 per user a month for Standard and US$61.00 for Custom. In India it is Rs 725 and Rs 1,350, with first-year discounts for new users. The connector needs Enterprise; custom modules and the external API need Custom.
UrbanPiper is a separate subscription, and Odoo's docs say queries go to the account manager linked to your database. App commissions are set in your contract with each platform.
Our published Odoo implementation cost ranges are US$3k to US$9k for small projects, US$9k to US$27k for mid-size and US$27k to US$150k+ for large ones. For a quick number for your branches, try the Odoo project estimate tool.
How iVentureTeam helps with Odoo restaurant delivery integration

iVentureTeam sets up Odoo POS, delivery connectors and food costing for restaurant groups, and builds custom APIs where no connector exists. We have delivered 150+ ERP projects across 35+ countries with 40+ Odoo specialists over 13+ years.
- Connector setup: UrbanPiper stores, store timings, menu sync and go-live for each branch.
- Menu modeling: combos, modifiers and variants mapped so delivery orders deduct the right stock.
- Custom integration: two-way APIs to third-party tills or apps through our Odoo integration services.
- Food cost: kits, sub-recipes, central kitchen production and variance reports per branch.
- Finance: payment journals per app, payout reconciliation and branch P&L.
Restaurant POS integration case study: Ajwan International
A Kuwaiti IT provider's restaurant client replaced double entry between WebPOS and Odoo with a two-way integration. Ajwan International's client ran front-of-house on WebPOS and back office on Odoo, and the two systems did not talk.
Menus, prices and discounts were kept twice, branch data drifted apart, and finance rebuilt sales reports from till exports. Combo meals had no clean product structure, which broke inventory deduction.
We made Odoo the master for 7 master-data streams, including menu groups, items, payment types, discounts, branches, users and customers. Combo meals became kit-type BoMs. WebPOS sends 3 transaction feeds per bill back to Odoo: sale, items and payment.
Delivery took 10 weeks, and the client reports 90% less manual re-keying between POS and ERP. Read the Ajwan Odoo and WebPOS restaurant integration case study.
The bottom line on Odoo restaurant delivery integration
If your apps are on UrbanPiper's list, Odoo can bring delivery orders into the POS without custom code; the work that decides success is menu mapping, branch setup and food costing. Custom APIs fill the remaining gaps.
Start with one branch and your two busiest apps. Get combos, modifiers and payouts right there, then roll the same template out to every branch.
Ready to put every delivery app on one Odoo POS?

Talk to a team that has connected restaurant tills and Odoo end to end. Plan your Odoo delivery app integration with us, call +91-90235-15208, or email business@iventureteam.com.
Frequently Asked Questions
Does Odoo integrate with Talabat?
+
Yes. Odoo's UrbanPiper connector lists Talabat in Bahrain, Egypt, Iraq, Jordan, Kuwait, Oman, Qatar, Saudi Arabia and the UAE. You need Odoo Enterprise, an UrbanPiper subscription and a Talabat reseller account.
Which Odoo version supports the UrbanPiper connector?
+
Odoo's documentation says Odoo Enterprise 18.0 or above is required. It works on Odoo Online, Odoo.sh and on-premise. Odoo Community does not support this integration.
Can Odoo Community connect to delivery apps?
+
Not with the native connector, which is Enterprise only. Community users need a custom integration or a third-party module, which means more code to maintain at every upgrade.
Does UrbanPiper support combo meals in Odoo?
+
Not yet. Odoo's docs say UrbanPiper does not support combo products. The workaround is to create one product and define the combo choices as attributes and variants.
How does Odoo handle several restaurant branches?
+
Each branch gets its own POS with its own stock location, pricelist, kitchen display and UrbanPiper store. Reports roll up in one database, and separate legal entities can use multi-company.
How do I calculate food cost in Odoo?
+
Set each dish up as a kit or bill of materials with ingredient quantities. Sales then deduct ingredients at cost, and stock counts show actual use, so you can compare theoretical and actual food cost.
Can Odoo reject a delivery app order?
+
Yes, for most apps, with a reason picked in the POS. Swiggy orders cannot be rejected directly, and Deliveroo, Just Eat and HungerStation do not allow rejection.
Does Odoo support GrabFood and GoFood?
+
Yes. Odoo has its own GrabFood and GoFood connectors for Southeast Asia, available from 19.0 and Enterprise only. They sync menus and receive orders in the POS.
How long does a restaurant delivery integration take?
+
A single branch on the native connector can go live quickly once accounts are approved. Multi-branch rollouts, recipe costing and custom APIs take longer; our Ajwan WebPOS integration took 10 weeks.
Free integration feasibility review
Connecting your other systems to Odoo?
Tell us what needs to sync between your systems and Odoo. We recommend a connector, API or custom approach and plan how failures are handled.
Free, with no obligation. A senior consultant replies within 12 business hours.
Free Odoo tools
All tools- Odoo Health CheckVersion, modules, findings and upgrade cost
- Odoo App SelectorWhich apps you need, by industry
- Odoo Project EstimateIndicative cost and timeline in minutes
- Odoo Implementation Cost CalculatorImplementation cost and timeline, in minutes
- Odoo Migration Cost CalculatorVersion jump or legacy ERP, priced in minutes
Continue reading
Odoo Payment Gateway Integration in MENA: Fawry, Tap, Moyasar, POS
Odoo payment gateway integration for MENA: built-in Paymob and APS, custom Fawry, Tap and Moyasar connectors, POS terminals, reconciliation and costs.
Odoo API Key Rotation: What to Do When a Connected System Is Hacked
Odoo API key rotation after a connected PHP webshop or portal is hacked: what to revoke, how to rotate without downtime, and what to check in Odoo 20.
Odoo Saudi Bank Integration: Statement Sync, Reconciliation, SADAD
Odoo Saudi bank integration explained: bank sync coverage, CAMT and Excel statement import, SAR auto-reconciliation, ISO 20022, WPS and SADAD in Odoo 19/20.
