RestaurantBrain feasibility study

#R07 — Connecting to what restaurants already have

Scope: incumbent POS APIs, POS middleware, delivery aggregators, Google/Apple surfaces, accounting/payroll/inventory, and the strategic question "CRM first, replace the POS later — or not at all?" Date: 2026-08-18. Labels: [verified] = checked this session with a named URL; [known] = confident from training data; [estimate] = reasoned guess. Where a fact came from a search snippet this session but I did not fetch the page, it is labelled [known] with "(search corroborated 2026-08-18)".


#0. Bottom line up front

Three claims, in order of how much they should change the plan:

  1. "CRM riding on the incumbent POS" is a structurally worse business than it looks, and the reason is identity, not integration. You can get checks out of almost any POS. You cannot get a stable guest identifier attached to an in-store card payment out of any POS you do not own the payment rail for. Toast, Square, Clover, Lightspeed and PAR all reserve card-linked identity for their own loyalty product. Without it, your CRM identity coverage caps at roughly 10–25% of checks (online orders + whoever voluntarily scans a code), versus 45–70% if you own the terminal and the payment. That is the difference between "a marketing tool with a coverage problem" and "the restaurant's guest database".

  2. Every incumbent POS in this list either already sells a CRM/loyalty product or owns a company that does. Toast Loyalty + Toast Marketing; Square Loyalty + Square Marketing; Oracle Hospitality Gift & Loyalty (iCare); NCR Voyix Aloha Consumer Engagement; PAR owns Punchh; Lightspeed has Advanced Insights + loyalty partners it curates; Olo owns Wisely and owns Omnivore, the neutral POS middleware; iiko/Syrve ships iikoCard; r_keeper ships its own CRM. You would be building the single highest-margin attach product that each platform most wants to keep. This is not "platform risk" in the abstract; it is the specific category where platforms historically defenestrate partners.

  3. Aggregator connectors are worth building and POS connectors mostly are not. Glovo/Bolt Food/Wolt/Uber Eats connectors are needed whatever POS wins, are a real operational pain point restaurants will pay for, and are not owned by a competitor. POS connectors are needed only until you replace the POS, cost 2–6 eng-months each, decay at ~0.5 eng-months/year each, and can be revoked. Build read-only migration importers from CEE systems (Poster, iiko/Syrve, r_keeper) instead of live connectors — same lead-gen value, ~1/3 the cost, no partner approval, no maintenance treadmill.

Verdict: land-and-replace, not ride-along. Details and numbers in §9.


#1. What a CRM actually needs from a POS (the capability ladder)

Vendors say "we have an API". That sentence hides a 20× cost difference. Grade every system against this ladder:

TierCapabilityWhy it matters for CRMTypical availability
T0Batch export of closed checks (CSV/SFTP/nightly report API)You get sales BI. You get no CRM.Everything
T1Real-time webhook on check close, itemized, with site + timestampEnables receipt-level analytics and post-visit messaging if you already know who the guest isMost cloud POS
T2Guest identifier on the check: loyalty ID scanned at POS, phone, email, or a stable card token/fingerprintThis is the actual product. Without T2 the CRM is a spreadsheet.Rare, and usually crippled for third parties
T3Write-back to an OPEN check before tender: apply a discount, a comp, a reward redemption, add a loyalty line item, adjust totalsWithout this, "redeem your reward" is a manual staff workflow → adoption collapsesRarer still; usually requires a device-side plugin, not a cloud API
T4Order injection, menu write, device-side UI, payment controlNeeded for aggregator injection, kiosks, QR orderingOnly where the vendor wants a channel partner

Two consequences that decide the strategy:

  • T3 nearly always requires code running on the POS terminal or its back-office server, not a cloud API call. Oracle (Extension Applications / SIM scripts), Aloha (a DLL on the BOH file server), iiko/Syrve (a .NET Front plugin), Clover (an Android app on the device). Each is a different runtime, language and deployment channel. A cloud-only CRM team cannot ship T3 without becoming an embedded-software team for each incumbent.
  • T2 for in-store cash/card payments is the moat the incumbent will not sell you. Toast, Square and Clover can do card-linked loyalty because they are the processor. Third-party loyalty partners on those platforms get a check and a scan prompt, not a card token. Confirm per-vendor in §2, but assume this default.

#2. Per-system integration reality

#2.1 Summary table

Columns: RT = real-time push of check events; ID = usable guest identifier for in-store card payments; WB = write loyalty discount to an open check pre-tender; Fee = who pays whom; Cert = wall-clock to certified production access; Eng = our build cost for a production connector (read + write where possible), including mapping UI, backfill, retries, reconciliation and a support runbook.

SystemRegionPublic APIRTIDWBPartner feeCert (wall-clock)Terms vs competing CRMEng-months
ToastUS (+small CA/IE/UK)Yes, gated partner API, OAuth2 client-credentials, webhooks [known]YesWeak: last4, card type, name on card; no stable token [known]Yes — dedicated Loyalty Program Integration API [known, doc.toasttab.com corroborated]~USD 25/site/mo Partner Connect charged to the merchant; rev-share reported ~30% historically [known, disputed]8-stage process, 3–7 months [estimate]API licence forbids use of Toast Data "for the benefit of any competitor of Toast, or … otherwise adverse to Toast" [known, pos.toasttab.com] — Toast sells Toast Loyalty4–6
SquareUS/CA/UK/IE/AU/JP/FR/ESYes, fully public, free, excellent docsYes (order.*, payment.updated webhooks)Best of the US set: card.fingerprint is stable per card per seller account [known]Partial: Orders API can carry discounts, but Square POS app has no third-party mid-transaction prompt [known]Free developer account; no rev-share for most app types [known]Days (self-serve) to ~6 weeks for App Marketplace listing [estimate]Permissive, but Square Loyalty/Marketing compete directly2.5–4
Clover (Fiserv)US/CA/UK/IE/DE/AT/NL/PL [known]Yes: REST + OAuth + webhooks and an on-device Android SDKYesYes-ish: device-side app can hook payment intents; token exposure limited [estimate]App Market 70/30 — developer receives 70% of net subscription revenue [verified, docs.clover.com/dev/docs/monetizing-your-apps]4–10 weeks app review [estimate]Fiserv discretion; payment-adjacent apps restricted; loyalty apps permitted (many exist)4–6 (incl. Android app)
Oracle Simphony (cloud)Global, enterpriseYes: Simphony Transaction Services Gen2 REST [verified, docs.oracle.com/en/industries/food-beverage/simphony/omsstsg2api/]Poll/limited push [estimate]Only via loyalty driver promptYes, via Extension Application on the workstation + Loyalty/Gift driver [known]Oracle PartnerNetwork enrolment; sandbox charged per API call [known, oracle.com partner page corroborated]; OPN fees [estimate: USD 500–3,000/yr]6–12 months incl. OPN, sandbox, cert [estimate]Oracle sells Gift & Loyalty (iCare); no explicit ban, but a chain-driven relationship8–14
Micros 3700 / RES 3700Global legacy, still huge in CEE hotelsNo. ISL/SIM scripts, COM Transaction Services, or direct ODBC into the Sybase micros DB [known]No (poll DB)NoVia SIM script + PMS/loyalty serial-TCP interface [known]None (no programme) — but no support eitherN/A, you reverse-engineerN/A6–10, and it never stops hurting
NCR Voyix AlohaUS + EU enterpriseAloha Connect (gated), Aloha Transaction Gateway, newer Voyix "Business Services Platform" REST [known]Yes via ATG [known]WeakYes, via Aloha Connect DLL on the BOH file server [known]Reported 30–50% of ISV per-location revenue [known, secondary source, treat as directional]; plus a Connect fee on the merchant4–9 months [estimate]NCR sells Aloha Consumer Engagement (loyalty/marketing) — direct conflict8–12
Lightspeed Restaurant K-SeriesAU/BE/NL/FR/CHYes, REST + webhooks, partner-gatedYesWeakPartial [estimate]Partner programme, no public rev-share [estimate]2–4 months [estimate]Curated loyalty partner list; Lightspeed pushes Lightspeed Payments3–5
Lightspeed Restaurant O-Series (ex-Gastrofix)DE/AT/CH — the DACH one that mattersSeparate API from K-Series [known]Yes [estimate]WeakAs above2–4 months [estimate]As above3–5 (does not reuse K-Series work)
Lightspeed L-Series / U-Series (ex-Upserve)CA/USLegacy, deprecating [known]Do not build
PAR BrinkUS/UK enterprise chainsYes — SOAP/XML, per-location API access token [known]Near-RT polling [known]WeakYes (Brink has a loyalty interface used by Punchh) [known]PAR charges partners an integration fee + per-location monthly [estimate: USD 15–40/site/mo]3–6 months [estimate]PAR owns Punchh — you are integrating into your competitor's parent6–9
Revel SystemsUSREST exists, heavily gated, historically charged for access [known]YesWeakLimitedPartner fee + merchant API fee [estimate]3–6 months [estimate]Neutral-ish, but low install base outside US4–6 (skip)
TouchBistroUS/CA/UKMinimal public API; BD-negotiated [known]NoNoNoN/AIndefiniteOwns TouchBistro Loyalty (ex-TableUp) — direct competitor, will not help you5–8 (skip)
SpotOnUSPartner API exists [known]Yes [estimate]WeakPartner programme [estimate]2–4 months [estimate]Sells own loyalty/marketing3–5 (skip for EU)
OloUS enterprise (not a POS)Yes — ordering + Rails + Omnivore [known]YesYes (own-channel orders carry email)N/AEnterprise contract3–6 months [estimate]Owns Wisely (guest CRM) + Omnivore; Thoma Bravo took Olo private Sept 2025, ~USD 2.0B [verified, thomabravo.com press release]N/A for SMB EU
iiko / SyrveUA/CEE/ME/UK — the one that matters for the beachheadYes, and unusually good: iikoCloud/Syrve Cloud API (api-eu.iiko.services) [verified, api-eu.iiko.services] + Front API .NET plugin SDK [verified, github.com/Syrve/front.api.doc, github.com/iiko/front.api.doc]YesYes if you own the loyalty prompt in the Front pluginYes — best write-back story on this list. External-loyalty plugin computes discounts at check timeDealer/partner network; no published fee [estimate: 0–20% via dealer]1–3 months [estimate]iikoCard/Syrve Loyalty competes, but the plugin interface is explicitly designed for third-party loyalty3–5
r_keeper (UCS)UA/RU/CEE, large installed base in UAXML API over TCP (r_keeper 7 "midserver"/XML interface); newer r_keeper cloud APIs [known]Poll/near-RT [known]Via loyalty interfaceYes, via the loyalty/discount interface [known]Access via UCS dealer; dealer margin [estimate]1–3 months via a friendly dealer [estimate]Ships own CRM/Farcards3–5
Poster (joinposter, UA)UA/PL/CEE small sitesYes — fully public REST + OAuth + webhooks + app marketplace [known]YesPoster owns its own customer table; you can read itYes, via Poster's discount/loyalty API [known]Marketplace rev-share [estimate: 20–30%]2–6 weeks [estimate]Poster has built-in loyalty but is friendly to marketplace apps1.5–2.5
Storyous (Teya/SaltPay, CZ/SK/PL)CZ/SK/PLPartner-gated API [known][estimate] yesWeak[estimate] limitedPartner deal [estimate]2–4 months [estimate]Teya sells payments; loyalty attach unclear2–4
Dotypos / Dotykačka (CZ/SK/PL)CZ/SK/PLPublic-ish REST API + marketplace [known]Yes [estimate]WeakMarketplace [estimate]4–10 weeks [estimate]Neutral [estimate]2–3
LoyverseUA/PL global long tail, free POSPublic REST API + webhooks [known]YesOwn customer tableLimitedFree [known]DaysNeutral1–1.5
"Presto", "SmartTouch" and other UA/CEE local vendorsUA/SKUnverified. I do not have reliable knowledge of their API surfaces??????Assume 2–4 each; verify before committing

Two entries in that table are unverified and I am flagging them rather than guessing: "Presto" and "SmartTouch". Confirming them costs one afternoon: ask three local restaurateurs which POS they run and email the vendor for API docs. Do that before any of it lands in a roadmap.

#2.2 The systems that actually matter for a UA/PL/CZ/RO beachhead

Ranked by install base × API friendliness × how much CRM value you can extract:

RankSystemWhyBuild?
1PosterPublic API, self-serve, 2–6 week approval, big UA/PL SMB base, real customer + discount endpointsYes — read-only importer + optional live connector
2iiko / SyrveLarge UA/CEE base incl. the chains you actually want; best write-back architecture (Front plugin); cloud API for readsYes — importer first, plugin only if a chain pays for it
3r_keeperVery large UA install base, especially older/mid-market restaurants; the classic rip-and-replace targetImporter only. Live connector needs a dealer relationship
4Dotypos, StoryousCZ/SK/PL entry when you go thereDefer to market entry
5Lightspeed O-SeriesOnly if you attack DACHDefer
6Toast, Square, Clover, Aloha, Brink, Revel, TouchBistro, SpotOn, OloUS-only or enterprise-only; each is a competitor's home turfNo for S1. Reconsider only if you go US, in which case Square + Clover first (cheapest, most permissive)

#2.3 Notes that change estimates

  • Toast's competitor clause is the single most-quoted risk and it is real but nuanced. Toast certifies loyalty partners (Punchh, Paytronix, Como, Thanx, Spendgo all ship on Toast) [known], so "CRM on Toast" is clearly permitted in practice. The clause bites when your product starts looking like a POS — i.e. exactly the direction this project is going. Building a Toast connector as a wedge for a Toast-replacement POS is the textbook way to get de-certified. [estimate on the outcome, verified on the clause text]
  • Oracle's per-call sandbox billing is a real budget line and a real velocity killer. Integration test suites that re-run on every CI push are not viable against a metered sandbox. Budget a local mock + a small number of metered smoke tests. [known, oracle.com partner page corroborated 2026-08-18]
  • NCR's reported 30–50% ISV revenue share comes from secondary reporting, not an NCR price list [known, treat as directional]. Even at half that, an Aloha connector is negative-margin for a EUR 49/site CRM. Do not build it.
  • Rate limits are a design constraint, not a footnote. Toast is widely reported at 20 req/s per partner [known]. A 500-site chain doing menu sync + historical backfill will hit that in minute one. Every connector needs a token-bucket scheduler, per-tenant fairness, and a backfill queue that yields to live traffic. That is ~0.75 eng-months of shared infrastructure, built once.

#3. What guest data you can actually obtain (the number that decides everything)

Identity coverage = share of checks you can attribute to a known, contactable, deduplicated person.

SourceIdentifier obtainedRealistic coverage of a site's checksStabilityNotes
Your own web/app orderingemail + phone + name100% of that channel; channel is 10–30% of revenue at a typical SMB [estimate]HighThe only clean source you fully control
Delivery aggregator (Glovo/Wolt/Bolt/UE/JET)first name + last initial; masked/relayed phone; no email0% durable identity, on 15–40% of revenue [known]NoneSee §5. Aggregators sell you back the customer they took
In-store card, you own the processorPSP card token / network token → stable person key60–80% of in-store checks (card mix) [estimate]HighRequires owning payments. This is the whole argument for owning the POS
In-store card, someone else's POSlast4 + brand + name-on-cardUseless for dedup at scale; last4+brand collides constantlyLowToast/Lightspeed/Brink tier
In-store card, Squarecard.fingerprint, stable per card per seller [known]50–70% of in-store checksHighGenuine exception; verify current field semantics before relying on it
Loyalty code scanned at POSyour own loyalty ID5–25% of checks, and it is entirely a function of whether staff prompt [estimate]HighNeeds T3 write-back or staff stop asking within two weeks
QR pay-at-tableemail for receipt + card token30–60% of table checks where deployed [estimate]HighStrong wedge in FR/ES/IT; weak in UA cash culture
Wi-Fi captive portalemail5–15% opt-in, 30–50% junk addresses [estimate]LowDo not build a business on this
Reservations (TheFork, OpenTable, SevenRooms, your own)name + phone + email100% of booked covers; booked covers are 5–40% of covers by segmentHighBest identity source for full-service
Receipt/fiscal QR (PL/RO/CZ e-receipt schemes)anonymous unless guest opts in<5% [estimate]LowRegulatory plumbing, not CRM

The arithmetic that matters. A CRM sitting on someone else's POS, with no payment rail, realistically gets: own-channel online (20% of checks × 100%) + loyalty scans (80% of checks × 15%) ≈ 32% of checks — but only ~20 percentage points of that is high-quality — and the loyalty-scan half is only achievable if you have T3 write-back on that POS, which you will have on iiko/Syrve, Poster and Clover and essentially nowhere else without embedded work.

Owning the POS and the payment rail gets you online 20% + card-linked in-store 55% + reservations ≈ 60–75%. That factor-of-three in identity coverage is the entire product difference between a nice-to-have and a system of record.


#4. Middleware: who resells this problem, and are they a wedge or a trap

VendorWhat it actually normalizesPOS coverageChannel coveragePricingLatencyExposes guest identity?Wedge or trap
HubRise (FR)A genuine neutral data bus: catalog, orders, customers, loyalty, inventory. Public, documented, developer-friendly API~100+ EU apps, strong FR/UK/BE [known]Aggregators + ordering + POSEUR 35/site/mo std; EUR 30 at 6–30 sites; EUR 27 at 31+; dark-kitchen tiers EUR 35/55/75 by order volume; EUR 25 one-off setup per brand per platform [verified, hubrise.com/pricing]Seconds [estimate]Yes — has a first-class customer + loyalty model, unusualWedge for EU market entry. Cheapest legitimate route to "we integrate with X"
Deliverect (BE)Aggregator ↔ POS order injection + menu sync. The category leader in EUBroad, incl. many EU POS [known]All major aggregatorsNot public: one-off setup + per-location subscription + transactional fee, billed 30/90/180/365-day auto-renew [known, deliverect.com corroborated]. Street ~USD 99–300/site/mo [estimate]SecondsNo — orders carry aggregator-masked identityTrap for CRM, wedge for ops. Deliverect keeps expanding upward (payments, own ordering)
Otter (CloudKitchens)Aggregator aggregation + own POS + own marketingOwn-stack biasedAll majorsAggressively cheap/bundled [known]SecondsNoTrap. Otter sells a POS and marketing; you'd be feeding a direct competitor
Chowly (US)Aggregator ↔ POS injection, plus "smart/dynamic pricing" and marketing upsellsUS POSUS aggregatorsNot public, scales with order volume [known, chowly.com corroborated]SecondsNoUS-only; irrelevant to beachhead
Cuboh (CA)Aggregator consolidation, SMB-pricedUS/CA POSUS/CA aggregators~USD 99–199/site/mo [estimate]SecondsNoIrrelevant to beachhead
Omnivore (owned by Olo, owned by Thoma Bravo)The only true POS abstraction layer for read/write on tickets — the thing you'd actually wantAloha, Micros/Simphony, Brink, Positouch, Squirrel, etc. [known]N/AEnterprise, not published; historically ~USD 50–150/site/mo [estimate]Sub-second on ticket read [estimate]Ticket-level onlyTrap. Olo owns Wisely (guest CRM) and is now PE-owned [verified]. You would rent your core capability from a competitor whose new owner is optimizing for cash
Apicbase (BE)Recipe/inventory/procurement, not ordersPOS reads via connectorsN/AEUR 200–500/site/mo enterprise [estimate]BatchNoPartner, not infrastructure
Tenzo (UK)Analytics layer over POS + labour + deliveryManyManyEUR 100–200/site/mo [estimate]Hourly batch [estimate]NoCompetitor-adjacent in the "restaurant brain" positioning
Nory (IE)AI restaurant OS: labour + inventory + increasingly POSOwn + connectorsSomeEUR 150–400/site/mo [estimate]Near-RTSomeWatch closely — Nory is walking the same "full stack" path with real funding
n8n / Make / ZapierGlue for the long tailAnything with a REST APIEUR 20–100/moMinutesFine for tail accounting/marketing systems. Never for check data

#4.1 The margin-stack problem, made concrete

Assume a CRM-only product priced at EUR 59/site/mo (defensible for SMB CRM+loyalty in PL/CZ; UA prices lower, EUR 25–40 [estimate]).

Cost lineVia HubRiseVia DeliverectVia OmnivoreDirect connectors
Middleware COGSEUR 27–35EUR 99–300EUR 50–150EUR 0
Messaging COGS (SMS/Viber/WhatsApp, ~1.5 msg/guest/mo)EUR 4–12EUR 4–12EUR 4–12EUR 4–12
Hosting + support allocationEUR 6–10EUR 6–10EUR 6–10EUR 6–10
Gross margin at EUR 59EUR 2–22 (3–37%)negativenegative to EUR 0EUR 37–49 (63–83%)

A SaaS business at 3–37% gross margin is not a SaaS business. Middleware is acceptable as a market-entry accelerant for a specific deal and as a demo prop; it is not viable as the permanent architecture of a EUR 59 product. The one partial exception is HubRise at 31+ sites (EUR 27), where a chain deal can still clear 50% GM — and HubRise is also the only one whose data model includes customers and loyalty, so it is the one worth a serious look.


#5. Delivery aggregators

#5.1 Capability and onboarding table

Path shapes below are [known] and approximate; every one must be re-confirmed against current docs before estimating precisely.

AggregatorBeachhead relevanceMenu pushOrder injectionStore pause / 86 itemsPromos via APIOnboarding gateGuest identity givenEng-months
GlovoUA, PL, RO, ES, PT — highest priorityBulk JSON menu upload; attribute/attribute-group model that does not map cleanly to modifier groups [known]Webhook + accept/rejectYes (store status, product availability)Partial [estimate]Signed integration agreement + partner-portal creds; 6–12 weeks [estimate]Name + masked/relayed phone. No email.3–4
Bolt FoodUA, RO, PL, Baltics — high priorityPartner API, docs behind login [known]WebhookYesLimited [estimate]Integration agreement; 6–12 weeks [estimate]Masked2.5–3.5
WoltUA (pre-2022 strong), DE, CEE, NordicsWolt Merchant API menu import; venue online/offline endpoints; reasonable docs at developer.wolt.com [known]Webhook + acceptYesPartialPartner approval; 4–10 weeks [estimate]Masked2.5–3.5
Uber EatsPL, FR, ES, PT, UK, USPUT /v2/eats/stores/{id}/menus, full menu replace [known]orders.notification webhook → POST /v1/eats/orders/{id}/accept_pos_order [known]POST /v1/eats/stores/{id}/status (ONLINE/PAUSED) [known]Yes (offers/promos APIs, market-dependent)Uber developer account + integration certification; has forced breaking menu-API migrations historically [known]First name + last initial, relay phone. No email.3–4.5
DeliverooUK, FR, BE, IT, IE — not UAMenu API (brand/site/menu resource tree) [known]Order events webhook + accept/reject/sync-statusSite status APILimitedApproved-partner queue; 8–16 weeks, slowest of the set [estimate]Masked3–4.5
Just Eat Takeaway (JET)NL, DE, PL(Pyszne), IE, UKMarket-by-market; many markets still on Orderpad tablet or email [known]Partner API where availableYesNoGated per market, effectively a BD negotiation; 3–9 months [estimate]Masked3–6, high variance
DoorDashUS/CA/AU/NZPOST /marketplace/api/v2/stores/{id}/menus; best docs of the US set [known]Webhook + Drive API for own-deliveryYesYesdeveloper.doordash.com + certification; 6–12 weeks [estimate]Masked3–4
GrubhubUS onlyGated partner API [known]YesYesLimitedBD-gated [estimate]Masked3–5 (skip)

#5.2 What the 3 eng-months per aggregator actually buys

Menu push is the smallest part. The real work:

Work itemShare of the connectorWhy it's hard
Menu/catalog mapping UI~35%Aggregator models differ structurally: Glovo attribute groups vs Uber modifier groups vs Wolt options; min/max selections, nested modifiers, per-channel price uplifts (typically +15–30% to offset commission), per-channel item visibility, allergen/nutrition fields, image size rules
Order ingest + idempotency + reconciliation~20%Duplicate webhooks, out-of-order events, cancellations after acceptance, partial refunds, aggregator-side edits, tips, courier assignment updates
Store status / availability / 86-ing~15%Every "sold out" toggle must fan out to N channels with per-channel error handling; failure here is the top operational complaint
Auth, credential onboarding, per-site provisioning~10%Each site must be linked by store ID; restaurant staff cannot do this; you need an internal ops tool
Certification + sandbox + review cycles~10%Mostly wall-clock, not eng-time, but it blocks release
Monitoring, alerting, replay, support runbook~10%You will be blamed for every missing order forever

#5.3 The CRM truth about aggregators

Aggregators deliberately withhold guest identity. All of them. In all markets. What you get is a first name, a last initial, a relayed/masked phone number that expires, and a delivery address (sometimes truncated). No email, no stable customer ID that survives across orders, and terms that forbid marketing to that guest.

Practical implications:

  • Aggregator revenue is CRM-invisible. A restaurant doing 35% of revenue via Glovo has 35% of its business permanently outside its own guest database.
  • The only conversion lever is in-parcel: a printed insert or receipt line with a QR to your first-party ordering + a reward. Conversion is real but small — 2–6% of aggregator orders per campaign [estimate] — and it is a legitimate, sellable feature ("win your customers back from Glovo").
  • Delivery address + order pattern is still useful for aggregate analytics (delivery zone heatmaps, channel mix, item cannibalization) even without identity. Sell that as analytics, not CRM.
  • GDPR: even the masked data you receive is personal data; you are a processor for the restaurant and the aggregator's terms typically restrict onward use. Any "we enrich aggregator orders into your guest list" feature needs legal review before it ships. [known, EU]

Verdict on aggregators: build them. Not for CRM value — for operational value and because they are POS-agnostic and competitor-free. Order: Glovo → Bolt Food → Wolt → Uber Eats, then stop. That is ~11–15 eng-months and covers the beachhead.


#6. Google and Apple surfaces

SurfaceStatus 2026What you can doAccess gateEng-monthsValue
Order with GoogleDead. End-to-end ordering ended 2024-07-01; the button now link-outs to an external provider [verified, seroundtable.com / getbento.com corroborated]Manage the "Order Online" link on the profile so it points at the restaurant's first-party ordering instead of an aggregatorGoogle Business Profile ownership0.25High, cheap. "We repoint your Google order button away from Glovo" is a 10-minute demo that sells
Reserve with GoogleLive, via the Google Actions Center partner portal [known]Availability feeds + a booking server implementing check-availability / create-booking / update-booking; puts a Reserve button on Search + MapsApproved RwG partner; slow, opaque, months [estimate]2.5–3.5Medium. Only worth it once you have a real reservations product and full-service customers
Google Business Profile APILive, free, OAuth2; access requires a per-project allowlist request [known]Read/write locations, hours, special hours, attributes, menus, posts, media; read and reply to reviews; Performance API for calls/directions/searchesAllowlist request, days–weeks [estimate]1.5–2.5Highest ROI non-POS integration in this document. Review management + hours sync is a top-3 requested SMB feature and has nothing to do with the POS
Apple Business ConnectLive, free portal; bulk/API management aimed at multi-location brands [known]Place cards, hours, photos, Showcases, action linksApple ID + place verification; API for larger portfolios [estimate]0.5–1Low–medium. Cheap parity feature; Apple Maps traffic in CEE is a fraction of Google
WhatsApp Business Platform (Meta Cloud API)LiveThe actual CRM delivery channel in PL/RO/parts of UA; template messages, opt-in, per-conversation pricingMeta Business verification + template approval; ~2–4 weeks [estimate]1.5–2.5High. Cheaper and higher-open-rate than SMS
Viber Business MessagesLive, dominant in UA [known]Transactional + promo messages via Viber partners (Infobip, MessageBird, local resellers)Via a BSP; ~2 weeks0.75–1.25High for UA specifically
Telegram Bot APILive, free, dominant in UALoyalty wallet, order status, re-engagement, mini-appsNone1–2High for UA. A Telegram mini-app is a legitimate substitute for a native loyalty app and costs a tenth as much

Do not skip the messaging row. In the UA/PL beachhead, the CRM's delivery channel (Viber/Telegram/WhatsApp) matters more to the customer than which POS you read from. It is also entirely under your control — no partner programme, no certification, no competitor.


#7. Accounting, payroll, inventory — connect what, where

Rule of thumb: in CEE, a correctly-formatted export file beats an API integration. Accountants want a file they can import; they do not want OAuth. A generic export engine (configurable CSV/XML templates per country, per accounting package) costs ~1.5 eng-months once and covers ~80% of demand across all four beachhead countries. Build that before any single API connector.

CountryAccounting packages to satisfyMandatory/regulatory hooksPreferred mechanismEng-months
UABAS Бухгалтерія (1C successor), M.E.Doc, Vchasno, Checkbox / fiscal PRRO providers [known]PRRO fiscalization (covered in r03)File export + a Checkbox-class PRRO API0.5 export + fiscal is separate
PLComarch Optima / ERP XT, wFirma, Fakturownia, iFirma, Symfonia [known]JPK_V7 structures, KSeF e-invoicing [known — confirm current KSeF mandate dates, they have slipped repeatedly]Fakturownia + wFirma have clean REST APIs; Comarch needs file0.5 export + 1.0 per API connector
CZPohoda (Stormware), Money S3, iDoklad, Fakturoid [known]EET is repealed [known]Fakturoid/iDoklad REST; Pohoda XML import0.5 + 0.75
ROSmartBill, Oblio, SAGA, WinMentor [known]e-Factura via ANAF SPV is mandatory [known] — this is a gate, not a nice-to-haveSmartBill/Oblio REST; ANAF SPV directly0.75 + 2.0–3.0 for ANAF e-Factura
DE (if you go west)DATEV — non-negotiableDSFinV-K export + GoBD + TSE [known]DATEV-format export + DSFinV-K bundle2.5–4.0, and it is a market-entry gate
FRNF525-certified export expectations [known]Certification regimeCertified exportCovered in r03
Payroll / scheduling7shifts (US/CA), Planday (Nordics/DE/UK), Papershift & Shyftplan (DE), Combo (FR), Deputy (AU/UK) [known]Push worked-hours + sales-per-hour; read schedule0.75–1.25 each
Inventory / recipeApicbase, MarketMan, Growyze, Nory [known]Push item-level sales for theoretical-usage; read stock for 86-ing1.0–1.5 each

Priority for S1: export engine (1.5) → RO e-Factura only if you enter RO (2.5) → one scheduling connector (1.0) → nothing else. Inventory partners are a distraction until you have 200+ sites.


#8. Platform risk, with the receipts

"They can cut you off" is not hypothetical in this category. The pattern is consistent: platform onboards partners to fill a gap → partner category proves it has revenue → platform builds or buys it → partner terms tighten, fees appear, or access is revoked.

YearEventLesson
~2020Toast introduces a per-location Partner Connect fee charged to the merchant for integrations [known]Your integration became a line item the restaurant pays to your competitor to use your product
ongoingToast expands into online ordering, loyalty, email marketing, payroll, delivery, and reservations — all previously partner categories [known]Toast's roadmap is a list of partner obituaries
2021Olo acquires Omnivore (the neutral POS integration layer) and Wisely (guest CRM) [verified, restaurantbusinessonline.com]The "neutral" middleware you depend on can be bought by a competitor
2024-07Order with Google is discontinued [verified]A channel that thousands of vendors built connectors for evaporated with ~6 months' notice
2025-09Thoma Bravo completes acquisition of Olo, ~USD 2.0B, take-private [verified, thomabravo.com]PE ownership of your integration layer → price increases and product pruning are the base case, not the risk case
ongoingNCR Voyix gates Aloha Connect behind certification and a reported 30–50% ISV revenue share while selling Aloha Consumer Engagement [known, secondary]Enterprise incumbents price third-party CRM out of existence rather than banning it
ongoingSquare sunsets Connect v1 endpoints; Toast, Uber Eats and Deliveroo have each forced breaking menu/API migrations [known]Even friendly platforms cost you unplanned eng-months on their schedule
2021–2023Deliveroo exits Spain, Netherlands, and other markets [known]Connectors can become worthless because the counterparty leaves the country
2022iiko splits into iiko (RU) and Syrve (international) [known]Geopolitics fragments a vendor's API surface and support overnight. Directly relevant to a UA-based team
ongoingPAR acquires Punchh, MENU, Data Central, Stuzo, TASK [known]POS vendors are consolidating the entire attach stack, not just loyalty

The structural conclusion: a CRM whose data supply is an incumbent POS API has a supplier with a 100% concentration risk, who is also a competitor, who sets the price, and who has a documented history of raising it. No amount of engineering fixes that.


#9. Strategic verdict, quantified

#9.1 The three paths side by side

DimensionA. CRM-only, ride the incumbentsB. Own POS onlyC. Own POS, sold CRM-first (recommended)
Eng-months to sellable v114–20 (CRM core 8–12 + 3 connectors)60–90 (see r01/r03/r04)70–100
Time to first paying customer2–4 months12–18 months6–9 months (CRM ships before POS GA)
Identity coverage of checks10–25% (no payment rail)45–70%45–70%
Realistic ARPU, PL/CZ SMBEUR 39–79/site/moEUR 79–199/site/mo + payments take 0.15–0.4%EUR 99–229/site/mo + payments
Gross margin after COGS60–80% direct; 3–37% via middleware70–85% + payment margin70–85% + payment margin
Sales motionEasy first call ("keep your POS"), hard second call (proving ROI on 20% coverage)Brutal: rip-and-replace, 3–9 month cycle, staff retraining, hardware capexEasy entry, natural upgrade path at renewal/hardware refresh
Churn driverLow perceived value once the novelty passes; POS vendor ships the same feature freeOperational failure (one bad Saturday night = churn)Both, but stickier once payments are attached
Maintenance drag, year 2+0.35–0.6 eng-months per connector per year → 4–7 eng-months/yr at 12 connectors~0 for POS core; aggregator connectors onlyAggregator connectors only, ~4 eng-months/yr
Platform riskExistentialNoneNone on POS; contained on aggregators
DefensibilityNear zero. Anyone can call the same APIHigh: POS switching costs are the highest in SMB softwareHigh
Fit for S1 (bootstrapped, 3–4 eng)Fits, but converges on a low-margin agencyDoes not fit alone — 60–90 eng-months ≈ 18–24 months of a 4-person team with zero revenueFits if sequenced: CRM revenue funds the POS build
Fit for S2 (funded, 15–30)Under-ambitious for the capitalFitsFits, faster

#9.2 The maintenance-drag calculation (the number people underestimate)

Per connector per year, steady state:

Failure modeFrequencyCost per event
Auth/token/secret rotation, cert expiry1–2×/yr0.5–2 eng-days
Undocumented schema drift (new enum value, field becomes nullable)2–4×/yr1–3 eng-days + a production incident
Rate-limit or quota change0.5×/yr2–5 eng-days
Forced API version migrationevery 18–36 months5–20 eng-days
Sandbox rot / re-certification0.5×/yr3–8 eng-days
Support escalations traced to the connectorcontinuous0.5–1 eng-day/month
Total0.35–0.6 eng-months/yr [estimate, but consistent with how every integration team I know budgets]

At 12 live connectors that is 4.2–7.2 eng-months/year — 0.35 to 0.6 of an engineer, permanently, before any new feature. On a 3-engineer S1 team that is 12–20% of total capacity, and it is the least motivating work in the company. This alone argues for the smallest possible connector portfolio.

#9.3 The recommendation

Build the POS. Sell the CRM first. Use read-only importers, not live connectors, as the bridge.

Concretely:

  1. Aggregator connectors are the only live third-party integrations worth owning long-term. Glovo, Bolt Food, Wolt, Uber Eats. ~11–15 eng-months. POS-agnostic, competitor-free, real operational pain, sellable on day one even before your POS exists.
  2. Replace "POS connector" with "POS migration importer." A one-way, read-only importer for Poster, iiko/Syrve and r_keeper that pulls menu, modifier groups, tax setup, staff, table plan, guest list and 12–24 months of check history. Costs 1.5–2.5 eng-months each versus 3–5 for a live bidirectional connector, needs no partner approval where the API is public, and has zero ongoing maintenance (run it once per customer). It converts the hardest objection in POS sales ("I'll lose my history") into a 30-minute onboarding step. This is the single highest-leverage integration in the document.
  3. Ship one live read-only CRM connector as a lead magnet, and only one: Poster. Public API, self-serve OAuth, 2–6 week approval, right customer base. It lets you sell CRM to sites you have not yet converted and gives you a warm list for POS migration. ~1.5–2.5 eng-months. If it does not generate qualified POS pipeline in two quarters, kill it.
  4. Build the iiko/Syrve Front plugin only against a signed chain deal. It is the only incumbent where full T3 write-back is architecturally clean, so it is the only one worth the embedded-software cost — but only when someone is paying for it.
  5. Do not build: Toast, Aloha, Brink, Revel, TouchBistro, SpotOn, Olo, Micros 3700, Grubhub, Chowly, Cuboh. Wrong geography, wrong economics, or a competitor's home turf. Square and Clover become interesting only on a decision to enter the US, and then in that order (Square first: free, permissive, best identity data via card fingerprint).
  6. Build Google Business Profile early. 1.5–2.5 eng-months, free API, no competitor, and review management is a feature SMB restaurants ask for unprompted. It also works identically whether or not you have replaced their POS.
  7. Treat middleware as a demo prop, not architecture. HubRise at EUR 27–35/site is the only one with acceptable economics and the only one with a customer/loyalty data model. Use it to say "we already connect to 100+ systems" in a chain RFP; never let it become load-bearing.

#9.4 Build order with ROI

#ItemEng-monthsUnlocksKill criterion
1Google Business Profile (reviews, hours, order-link repoint)2.0Sellable standalone; no dependency on POS
2Viber + Telegram + WhatsApp messaging3.5The CRM's actual delivery channel in UA/PL
3Glovo connector3.525–40% of beachhead delivery volume
4Poster importer + live read connector3.5POS migration pipeline + CRM lead magnetNo qualified POS pipeline in 2 quarters
5Bolt Food connector3.0UA/RO coverage
6iiko/Syrve importer2.5The chains worth winning
7Wolt connector3.0DE/CEE/Nordic expansion
8r_keeper importer2.5Largest UA rip-and-replace targetDealer relationship unobtainable
9Accounting export engine (template-driven)1.5Removes the accountant objection in all 4 countries
10Uber Eats connector4.0PL/FR/ES/PTOnly on Western EU entry
11iiko/Syrve Front plugin (T3 write-back)4.0Real loyalty on someone else's POSNo signed chain deal
12RO ANAF e-Factura2.5Romania market entry gateOnly on RO entry

#10. Shared integration infrastructure (build once, amortize over everything)

Do not let each connector invent this. ~5.5 eng-months up front, and it is the difference between 3 eng-months and 6 per connector thereafter.

ComponentWhat it doesEng-months
Connector runtimePer-tenant credential vault, token refresh, OAuth dance UI, per-partner rate-limit token buckets with fairness, exponential backoff, circuit breakers1.5
Canonical domain modelOne internal representation of catalog / order / check / payment / guest that every connector maps into. Get this wrong and every connector leaks its vendor's model into your core1.25
Idempotency + event logAppend-only inbound event store, dedup keys, replay from any point, "what did they actually send us" forensics — you will need this in every support ticket1.0
Mapping UI frameworkReusable item/modifier/tax/store mapping screens with diff, bulk edit, validation; used by every aggregator and every importer1.0
ObservabilityPer-connector per-tenant dashboards: orders in/out, latency percentiles, error taxonomy, menu-sync freshness, plus alerting that pages before the restaurant calls0.75

#Build effort

All figures are engineer-months of a competent senior engineer with heavy AI assistance. Variance drivers listed. Certification wall-clock is not included in eng-months but blocks release.

#Work itemEng-monthsMain variance driver
Shared infrastructure
I1Connector runtime (auth, rate limiting, retries, circuit breakers)1.5Number of distinct auth schemes; per-tenant credential UX
I2Canonical catalog/order/check/guest model1.25Whether it is designed before or after the first three connectors (after = 2× rework)
I3Idempotent inbound event log + replay1.0Volume expectations; whether you need per-tenant retention policies
I4Reusable mapping UI framework1.0Depth of modifier nesting supported
I5Per-connector observability + alerting0.75Existing platform telemetry maturity
Aggregators
A1Glovo3.5Attribute-group model mismatch; per-country variations; partner-portal provisioning
A2Bolt Food3.0Docs behind login; sandbox availability
A3Wolt3.0Multi-country venue models
A4Uber Eats4.0Full-menu-replace semantics; certification rework; promo APIs vary by market
A5Deliveroo4.0Longest approval queue; only if UK/FR/BE/IT
A6Just Eat Takeaway5.0Per-market API fragmentation; some markets have no API at all
POS importers (read-only, one-shot)
P1Poster importer1.5Cleanest API of the set
P2Poster live read connector + marketplace listing2.0Marketplace review; webhook reliability
P3iiko/Syrve importer (Cloud API)2.5Multi-org/multi-terminal configs; discount-model translation
P4r_keeper importer2.5XML-over-TCP, dealer-gated access, version drift across r_keeper 6/7
P5Dotypos / Storyous importers2.0 eachOnly on CZ/SK/PL entry
P6Generic CSV/Excel menu importer (fallback for everything else)1.0Column-mapping UX; how forgiving you make it
POS live/write connectors (only on demand)
P7iiko/Syrve Front plugin, T3 write-back4.0.NET plugin runtime, on-site deployment, version matrix across Front releases
P8Square connector (US only)3.0Straightforward; App Marketplace review
P9Clover connector + on-device Android app (US/DE/PL)5.0Two codebases (cloud + device), app review, device fleet testing
P10Toast connector (US only)5.08-stage certification; competitor-clause legal review
Discovery surfaces
G1Google Business Profile (locations, hours, reviews, posts, order-link)2.0Allowlist approval; review-reply moderation UX
G2Reserve with Google (Actions Center feeds + booking server)3.0Requires a real reservations product first; partner approval opaque
G3Apple Business Connect0.75Low risk; mostly a data-push job
Messaging channels
M1WhatsApp Business Platform (Meta Cloud API)2.0Template approval loops; opt-in compliance; per-country pricing logic
M2Viber Business Messages via BSP1.0BSP choice; UA-specific
M3Telegram bot + mini-app loyalty wallet1.75Whether the mini-app carries the full loyalty UI
Back office
B1Template-driven accounting export engine (CSV/XML, per country)1.5Number of target formats in v1
B2Fakturownia / wFirma / SmartBill / Oblio / Fakturoid REST connectors0.75 eachInvoice-model mismatch (fiscal vs. commercial documents)
B3RO ANAF e-Factura (SPV, UBL, signing)2.5Certificate handling, XML validation, ANAF outage handling
B4DE DATEV + DSFinV-K export3.5Only on DE entry; effectively a compliance project
B5One scheduling connector (Planday or Papershift)1.0Bidirectional vs push-only
Ongoing
O1Maintenance, per live connector per year0.35–0.6Vendor's release discipline; whether you have contract-testing against recorded fixtures

Recommended S1 v1 scope (bootstrapped): I1–I5 + A1 + A2 + P1 + P2 + P3 + G1 + M1 + M2 + M3 + B1 = 28.5 eng-months. At 3 engineers that is ~9.5 calendar months of integration work alone, running in parallel with the POS build — which is why S1 must cut something. The honest cut list: drop A2 (Bolt Food) and M1 (WhatsApp) from v1 → 23.5 eng-months.

S2 v1 scope (funded): add A3, A4, P4, G2, B3, B5 → +18 eng-months, plus a dedicated 1.5-FTE integrations pod from month 6 to absorb O1.


#Open questions / what would change this answer

  1. Does Poster (or Dotypos) publish partner-marketplace revenue-share terms, and are they under 20%? If Poster takes 30%+, the "Poster as lead magnet" play loses most of its economics and should become importer-only. Confirms it: the joinposter developer/partner agreement, one email to their partner team.
  2. Is card.fingerprint on Square still stable per-card-per-seller in 2026, and does any EU POS expose an equivalent? If a European POS or PSP exposes a stable network token to third parties, path A (CRM-only) gets meaningfully better — identity coverage could double. Confirms it: Square Cards API docs; Adyen/Nexi/Worldline tokenization terms for ISV access.
  3. What is the actual POS install-base split in the UA/PL beachhead? My ranking (Poster > iiko/Syrve > r_keeper > local) is [estimate] from training data. If r_keeper is 3× Poster in the target segment, the importer build order flips. Confirms it: 30 discovery calls, or a data pull from a Ukrainian POS reseller / equipment distributor.
  4. Will Toast's competitor clause actually be enforced against a POS-adjacent CRM? It has never, to my knowledge, been litigated publicly. If a US-market decision is ever on the table, this needs a real lawyer reading the current API Documentation License Agreement, not a search snippet. Confirms it: counsel review + conversations with 2–3 existing Toast loyalty partners about their experience.
  5. Is HubRise still independent, and what are its partner (not customer) terms? EUR 27–35/site is verified customer pricing; the ISV-side terms are not. HubRise being acquired by a POS or aggregator would change the "wedge" verdict to "trap" overnight — the Omnivore precedent is exactly this. Confirms it: HubRise partner agreement + a look at their cap table/news.
  6. What are Glovo's and Bolt Food's actual partner-onboarding requirements in Ukraine specifically — do they require a registered local entity, a minimum number of connected merchants, or an existing POS certification? A minimum-merchant threshold would create a chicken-and-egg problem that reorders the entire build plan. Confirms it: their partner-integration application forms and one call each.

Cross-references: hardware and printing constraints in r01-hardware-peripherals.md; fiscalization gates that make several of these markets pass/fail in r03-fiscal-regulatory.md; offline behaviour and the canonical check model in r04-offline-sync-domain.md.