RestaurantBrain feasibility study

#Roadmap, Team and Budget

TL;DR

  • This is the only document in the deliverable that carries timeline and money. Every date, headcount, EUR figure, eng-month and gate metric lives here. Sibling docs describe what we build (02 — System architecture, 03 — Hardware, peripherals and the device fleet, 04 — Payments, fiscalisation, privacy and security, 05 — The CRM Product and Scope Tiers, 06 — Integrations); if one of them states a date or a cost, this file overrides it.
  • S1 is 5 engineers over 36 months on EUR 1.8–2.4M, not 3 engineers over 24 months on EUR 900k. Reconciled scope is 125 eng-months for the S1-cut v1 against ~126 eng-months of realistic S1 capacity. There is no slack. Starting 2026-09-01: MVP Feb 2028 (M17), v1 sellable Apr 2029 (M31), 40–60 paying CZ Sites at that gate.
  • Two numbers decide the company, and both are answerable before a line of code: ≥8 of 40 Prague/Brno operators placing a EUR 200 refundable deposit at ≥EUR 89/Site/month (A1), and ≥1 written payments term sheet at ≥25 bps residual with no merchant-ownership clause (A2). Both are due at the P0 exit, 2027-01-31. Neither passing means do not write code.
  • Non-engineering headcount is not overhead, it is the product. First support hire at Site #40, field/install person at Site #10, onboarding/menu-build specialist from the first paid install, a named compliance owner from M0. Skipping any of these is how the founder becomes the Saturday-night pager and engineering velocity goes to zero at ~60 Sites.
  • Cost per Site to sell and turn on is EUR 2,750–4,600 all-in (CAC EUR 2,200–3,200 + install EUR 550–1,400), against EUR 110–130/Site/month of subscription revenue (POS+CRM+KDS, canon §5.4). That is a 21–35 month payback on SaaS alone. Payments residual is what makes it 8–14 months, which is why A2 is a stop-gate, not a nice-to-have.
  • Peak capital through M47 is EUR 1.8–2.4M; capital to breakeven is EUR 3.0–3.5M over 5–7 years and ~800 Sites. These are two different numbers and only the first one is usually quoted. On the mid case cumulative net burn is ~EUR 2.44M at M47 (Aug 2030) — at the ceiling of canon's band, not inside it — and FY5 is now modelled (§7.1–§7.2): M59 exits at ~320 Sites and ~EUR 749k ARR, still burning ~EUR 481k/year, ~EUR 2.92M cumulative. M47 is a financing event, not an exit; §7.4 names the three end states. Say this to investors before they model it themselves.

#1. The calendar

Start date: 2026-09-01 = M0. Month index → calendar month, used identically in every table below.

MDateMDateMDateMDate
M0Sep 2026M12Sep 2027M24Sep 2028M36Sep 2029
M4Jan 2027M17Feb 2028M30Mar 2029M40Jan 2030
M6Mar 2027M18Mar 2028M31Apr 2029M46Jul 2030
M9Jun 2027M20May 2028M32May 2029M47Aug 2030

Fiscal years in this document run Sep→Aug: FY1 = M0–M11, FY2 = M12–M23, FY3 = M24–M35, FY4 = M36–M47, FY5 = M48–M59 (modelled in §7.1–§7.2 because the capital question is not answerable without it).

gantt title Canonical phases from 2026-09-01 dateFormat YYYY-MM-DD axisFormat %b %y section S1 bootstrapped P0 Foundations :done, 2026-09-01, 2027-01-31 P1 Design-partner pilot :active, 2027-02-01, 2028-02-29 P2 First paying market CZ :2028-03-01, 2029-04-30 P3 Second market + payments :2029-05-01, 2030-07-31 P4 Scale or sell :2030-08-01, 2031-08-31 section S2 funded P0 Foundations :2026-09-01, 2026-12-31 P1 Design-partner pilot :2027-01-01, 2027-06-30 P2 First paying market CZ :2027-07-01, 2028-03-31 P3 Second market + payments :2028-04-01, 2029-03-31 P4 Scale or sell :2029-04-01, 2030-08-31

#2. Phase plan

Phase names, durations, cumulative eng-months and exit-gate criteria are canonical and reproduced verbatim. Costs, headcounts and "what we learn" are derived here.

#P0 — Foundations · S1 M0–M4 (Sep 2026 – Jan 2027) · S2 M0–M3

GoalProve the two commercial preconditions (A1 price, A2 payments residual) and remove every architectural unknown that would be expensive to reverse after code exists.
Scope40 discovery calls; 20 real order forms with EUR 200 refundable deposits; written payments term sheets from Viva.com, Nexi, Worldline, Global Payments (ČSOB/KB), Nuvei, Adyen; the Teya/Storyous/Dotykačka ownership call (A3); Czech counsel opinion on e-receipt join lines, loyalty T&C under Art. 7(4) and VAT on points redemption (A4); device lab standing + the fsync power-cut test (A7); the Kotlin-vs-TypeScript engine ADR; one reconciled work-breakdown replacing the nine appendix effort tables; Tech E&O + Cyber bound (A18). Human-written property suite for the fold begins here, before the fold exists.
Duration5 months (S1) / 4 months (S2)
HeadcountS1: founder + 2→3 engineers + 0.5 QA + 0.5 fractional designer = 5.0 avg. S2: 4→11 engineers + 2 designers + 1 QA + compliance owner + 1 sales lead = 14 avg
Eng-months consumed14 cumulative
CostS1 ≈ EUR 160k (payroll 103k, opex 57k incl. device lab capex EUR 8–12k, counsel EUR 20k, insurance, entity, travel). S2 ≈ EUR 1.05M [estimate]
Exit gate≥8 of 40 operators deposit EUR 200 at ≥EUR 89/Site/mo · ≥1 written payments term sheet at ≥25 bps residual, no merchant-ownership clause, no volume minimum unreachable by M36 · Czech counsel opinion signed · Teya conflict confirmed by direct call · device lab standing and fsync test run · engine ADR recorded · one reconciled work-breakdown · Tech E&O + Cyber bound
What we learnWhether the ARPU thesis and the payments thesis are real. These are the only two assumptions whose failure ends the project outright, and both cost under EUR 40k to test. Also: whether 2 senior Kotlin/Android engineers can be hired in 8 weeks at ≤EUR 4,500/mo (A15) — if not, the entire stack decision reopens at +5.5 eng-months.

#P1 — Design-partner pilot · S1 M5–M17 (Feb 2027 – Feb 2028) · S2 M4–M9

GoalBuild the MVP (canon §4) and make five real CZ counter-service Sites run on it unattended.
ScopeThe MVP tier verbatim: Check aggregate + deterministic fold + conflict table, T0 single-station only, local SQLite/SQLCipher + outbox + cloud sync, Business-Day lease and clock-skew guard, POS Android app, raster printing on one SKU (Epson TM-m30III C31CK50152), PaymentTerminal port + Stripe Terminal adapter with the unknown state, CZ VAT 12/21 + CZ receipt golden files, back-office menu/staff/device settings, multi-tenancy + flags + signed config bundle + staged rollout, AI menu ingestion with human review, deterministic identity + points/stamps ledger + consent record, in-app fleet agent + QR provisioning, one design-system token set, device lab CI.
Duration13 months (S1) / 6 months (S2)
HeadcountS1: founder + 3→5 engineers + 1 QA + 0.5 designer = 6.8 avg. S2: 13 engineers + 2 designers + 1 QA + 2 field/onboarding + 2 support + 3 sales = 24 avg
Eng-months56 cumulative (42 consumed in-phase)
CostS1 ≈ EUR 490k (payroll 355k, opex 134k incl. second CI rig EUR 8–10k at M12, pilot hardware float, travel). S2 ≈ EUR 2.6M [estimate]
Exit gateMVP complete · 5 CZ design partners live, invoiced and VAT-charged · ≥3 Sites run unattended through 4 consecutive Saturdays · zero manual production data repairs in trailing 30 days · ≥1 full service with WAN deliberately cut, reconciled to the cent · median tickets/Site/week ≤3 by week 6 post-install
Sequencing notePilot Site #1 goes live at M12 on a pre-MVP build with the founder physically present for every service for two weeks. MVP is declared complete at M17 only when the unattended criterion is met. Every non-obvious requirement in this product comes from a shift, not a spec.
What we learnThe real ticket rate (A20), whether the offline claim survives a Saturday, whether fsync is honest on the certified SKUs, and whether under 40% of the segment runs 2+ stations (A8) — if that is false, T2 LAN multi-station moves into v1 at +9.0 eng-months and MVP slips ~3 months.

#P2 — First paying market, Czechia · S1 M18–M31 (Mar 2028 – Apr 2029) · S2 M10–M18

GoalSell the v1 to strangers, repeatably, in Prague and Brno, and prove contribution margin per Site is positive.
ScopeThe v1 sellable (S1 cut) tier verbatim — offline core hardening + divergence detector + venue replay, menu engine (variant matrices, nested Option Groups, per-channel price lists, 86 overrides, per-Station routing), Daily Close + cash reconciliation + the 10 canonical reports, KDS + expo + bump bar with heartbeat-age UI, Star CloudPRNT + routing engine + full print health/failover/dedupe, payments reconciliation + referenced refunds + Tip capture and per-employee attribution, allergens + consent-gated dual receipt renderer + DORA addendum + Data Act export, CRM capture surfaces + hash-chained loyalty ledger + signed offline Vouchers + promo rules engine + consent centre + DSAR/erasure with offline tombstones + six automation flows + holdout attribution, Stripe Billing + payments-partner integration + onboarding workflow tool + AI tier-0 support agent + MSA/DPA/SLA, Google Business Profile + Dotypos importer + CSV/Excel importer.
Duration14 months (S1) / 9 months (S2)
HeadcountS1: founder + 5 engineers + 1 QA + 0.5 designer + 1 field/install + 1 onboarding + 1→2 support + 1→2 AE = 12.0 avg, 13.5 exit. S2: 34→46
Eng-months125 cumulative (69 consumed in-phase)
CostS1 ≈ EUR 885k (payroll 645k, opex 240k). S2 ≈ EUR 5.4M [estimate]
Exit gatev1 sellable (S1 cut) complete · 40–60 paying CZ Sites · ≥60% of Sites from outside the founder network · gross churn on the first-20 cohort <20% annualised · fully-loaded CAC <EUR 2,000 and falling QoQ · tickets/Site/month <1.4 · contribution margin per Site >EUR 25/mo · ≥1 referenceable chain of ≥4 Sites
What we learnWhether CAC bends. If the fully-loaded CAC is flat or rising at M31, the motion is a personal network and not a business, and no amount of product fixes it.

#P3 — Second market + payments attach · S1 M32–M46 (May 2029 – Jul 2030) · S2 M19–M30

GoalTurn on the payments revenue line and prove the country-entry playbook exactly once.
Scopev2 core — the P3 build. Ukraine PRRO via Checkbox/Vchasno (A13), then Poland via a GUM-homologated kasa-online printer partner + KSeF + JPK_V7M (A12) · T2 LAN multi-station (elected Coordinator, epochs, fencing, peer rediscovery on subnet change) · guest web ordering + QR PWA + Wallet passes · card-linked identity (PAR, enrolment-only, gated on A6) · Brand Vouchers · WhatsApp + Viber per-tenant senders · segmentation, journeys, RFM/lapse modelling and CRM reporting · the payments-attach machinery including the residual/margin ledger · plus repayment of the five "Full only" P2 deferrals that v2 core depends on and the S1 cut skipped: the full injected-fault simulator suite (T2 LAN Coordinator election and fencing are not shippable without it), the segmentation query-builder UI, the multi-channel adapters beyond one SMS aggregator + email (WhatsApp/Viber), the residual/margin ledger (payments attach), and Polish in the i18n set beyond cs/uk/en (Poland entry). Per-domain arithmetic in §5.1.1.
Deferred to v3 — P4 and laterTable service (courses, seats, splits by item/seat, merges, transfers, floor plan) · handheld waiter app · customer-facing display · Apps-on-Devices (our POS on Stripe S700/S710) · the HubRise-resold delivery module and any native Glovo connector · cashback and subscriptions · DE+AT with fiskaly/Deutsche Fiskal · second cell / data residency. Why this cut and not another: table service and the handheld waiter app serve a different ICP than canon §1's "counter-service only, single-station first" and cannot be funded before the counter-service base is at ~150 Sites. The two things that are load-bearing for P3's own exit gate are kept — Site count (T2 LAN + the two second markets) and identity capture / CRM renewal (guest ordering + QR PWA + Wallet passes). Cutting either of those would break a thesis this deliverable states as proven elsewhere; cutting full-service does not. S2 ships full v2 in the same phase — 12 months at ~132 eng-months/year absorbs the +86.5 → +96.5 delta whole. The cut is an S1 capacity fact, not a product opinion.
Duration15 months (S1) / 12 months (S2)
HeadcountS1: 15–16 (2 support, 1.5 onboarding, 1.5 field, 2 sales, 0.5 ops/compliance on top of the engineering core). S2: 46→60
Eng-months190 cumulative capacity (S1). In-phase scope is v2 core: 58–65 eng-months, 63.5 modelled against the 65 available in M32–M46, leaving only ~1.5 of country-entry contingency and a named lever to restore it (§5.1.1). The +86.5 → +96.5 v2 delta remains canonical for full v2 — the S2/Full figure, which only S2 can carry
CostS1 ≈ EUR 1.24M over 15 months. S2 ≈ EUR 8–9M [estimate]
Exit gateUA then PL live · payments residual invoiced on ≥30% of new logos · 150–250 Sites · NRR >95% · support cost/Site/month <EUR 40
What we learnWhether a second country costs 1.0× or 2.5× the first. This is the classic European POS death (r09 §5.2 failure mode 4), and it is measured by exactly one number: support cost/Site/month after the second market is live.

#P4 — Scale or sell · S1 M47+ (Aug 2030+) · S2 M31+

GoalS1: reach one of the three M47 end states set out in §7.4 — (a) a third round of EUR 0.6–1.5M funding the path to EUR 1.5M+ ARR and a breakeven trajectory, (b) a Series A, which requires S2-shaped metrics S1 does not produce by M47, or (c) a strategic sale to Nexi / Teya / Worldline / SumUp at 3–6× ARR — EUR 1.4–2.9M on EUR 475–600k, roughly the capital invested. (a) is the base case. S2: EUR 6M ARR, gross churn <18%, ≥25% of new logos from channel.
CostFY5 (M48–M59) is modelled in §7.1–§7.2; beyond that, out of horizon. Breakeven is not before year 5, at ~800–850 Sites, and capital to breakeven is EUR 3.0–3.5M over 5–7 years — peak capital through M47 (EUR 1.8–2.4M) is only the first two thirds of it. §7.4 names the three end states available at M47.
What we learnWhether the exit landscape (orderbird → Nexi at EUR 130–140M for ~14,000 clients [verified in canon]) still has 4–6 named buyers in 2031.

Hard stops, any phase, any time: a fiscal or tax defect that causes a Customer to be fined · a breach of Guest PII · two consecutive quarters in which support headcount grows faster than Site count.


#3. Milestone table (start 2026-09-01)

MilestoneS1 monthS1 dateS2 monthS2 dateOwner
Company start, P0 opensM02026-09-01M02026-09-01Founder
A3 Teya/Storyous/Dotykačka ownership confirmedM1Oct 2026M1Oct 2026Founder
A7 fsync power-cut test run on certified SKUsM1Oct 2026M1Oct 2026QA
A6 PAR sandbox test (Stripe vs Adyen)M1Oct 2026M1Oct 2026Backend lead
A15 two senior Kotlin engineers signedM2Nov 2026M1Oct 2026Founder
A4 Czech counsel opinion signedM2Nov 2026M2Nov 2026Counsel
A8 station-count survey (30 calls) closedM3Dec 2026M2Nov 2026Founder
P0 exit gate — deposits + payments term sheetM42027-01-31M32026-12-31Founder
Pre-seed EUR 900k–1.1M closed (S1) / EUR 7M (S2)M4Jan 2027M0Sep 2026Founder
Fold + human-written property suite greenM6Mar 2027M4Jan 2027Eng lead
Vertical slice on real hardware: order → print → card → CZ receiptM6Mar 2027M5Feb 2027Eng lead
A14 Google Business Profile allowlist decisionM6Mar 2027M6Mar 2027Product
Pilot Site #1 live (founder on site, every service, 2 weeks)M12Sep 2027M7Apr 2027Founder + field
MVP complete · P1 exit · 5 partners invoicedM172028-02-29M92027-06-30Eng lead
First non-network paying SiteM18Mar 2028M10Jul 2027AE
Field/install hire (Site #10)M21Jun 2028M11Aug 2027Founder
Extension raise EUR 900k–1.3M (S1) / Series A term sheet (S2)M18–M20Mar–May 2028M20May 2028Founder
First support hire (Site #40)M30Mar 2029M13Oct 2027Support owner
v1 sellable complete · P2 exit · 40–60 paying SitesM312029-04-30M182028-03-31All
UA PRRO live (Checkbox/Vchasno)M36Sep 2029M22Jul 2028Compliance
PL live via kasa-online partner + KSeFM42Jan 2030M28Jan 2029Compliance
P3 exit · 150–250 Sites · payments on ≥30% of new logosM462030-07-31M302029-03-31All
P4 opens — scale or sellM472030-08-01M312029-04-01Founder

#4. Reconciled engineering effort per domain

Canonical (canon §5.1), reproduced verbatim. Double-counting between the nine appendices is removed and the critics' upward revisions are applied. Do not re-derive these; do not add appendix headlines to them.

DomainOwnsMVPv1 sellable (S1 cut)v1 sellable (Full)full v2 delta (S2)
A Order domain + offline core (T0)fold, conflict table, invariants, local store, outbox, cloud sync, business-day/clock/numbering, simulator, divergence detector, ops replay10.616.019.6+9.0
B Backend platformtenancy/auth/RBAC/config/flags, menu & catalog engine, tax engine, payments orchestration, realtime gateway, reporting metric layer, Daily Close, cash reconciliation, accounting export, AI gateway + ingestion + analytics, platform/CI/DR12.023.028.0+12.0
C Client appsdesign system, POS app, back-office console, KDS + expo, fleet agent, provisioning, internal support console, release engineering, i18n/a11y17.028.036.5+18.0
D Hardware, printing, peripheralsraster core, transports, discovery, routing, health/failover/dedupe, drawer/scanner/CFD, certification matrix, installer tooling, device lab5.010.013.0+4.0
E Payments + PCIterminal port, Stripe adapter, splits, voids/refunds, reconciliation, tips capture, tokenization, PCI programme4.011.013.5+6.0
F Fiscal + regulatory (CZ only in v1)FiscalProvider, receipt framework, CZ, allergens, compliance harness, DORA/Data Act2.58.09.5+11.0
G CRM / loyalty / privacyidentity, capture, loyalty ledger, offline Vouchers, rules engine, consent, DSAR/erasure, flows, attribution2.519.029.0+11.0
H Commercial machinerybilling, payments-partner integration, onboarding tool, AI tier-0 support, contracts0.08.010.5+5.0
I Integrationsconnector runtime, Google Business Profile, migration importers0.04.08.5+10.5
TOTAL53.6 → 56127 → 125168.1 → 168.5+86.5 → +96.5

Two rows moved after this table was first reconciled, and both are carried here rather than hidden: Domain C Full is 36.5, not 35.0, because in-app staff self-onboarding (1.5) was funded into v1 Full as the named A20 mitigation — deferred in the S1 cut, so the 125 is unchanged; Domain I post-v1 is +10.5, not +9.0, because the HubRise-resold delivery module moved to v3 while the Ukrainian migration importers stayed in v2 core (06 — Integrations §2.2). Full therefore totals 168.5 and full v2 +96.5.

The "full v2 delta (S2)" column is full v2 — the S2/Full figure. S1's P3 ships v2 core at 58–65 eng-months (63.5 modelled) and defers the rest to v3; the per-domain split of the +86.5 is in §5.1.1, and it is the only place in this document where the canonical column is decomposed.

AI-assist multipliers are already baked in above and are stated per domain so nobody re-applies them: D ≈ 1.25× · A ≈ 1.10× · B ≈ 1.50× · C ≈ 1.35× · E/F/G legal-and-correctness rows ≈ 1.0–1.10×. Certification queues, field sales, physical install, RMA logistics and trust compress by 0%.


#5. Eng-months → calendar time, honestly

#5.1 S1 — bootstrapped

Effective engineering capacity is 3.5 eng-FTE average after a 15–25% on-call tax from 150 Sites onward → **42 eng-months/year, ~126 over 36 months**. That is the whole budget. The S1-cut v1 is 125.

WindowMonthsEffective eng-FTEEng-months in windowCumulativeCanon checkpoint
P0 M0–M452.81414✓ 14 at P0 exit
P1 M5–M17133.24256✓ 56 = MVP
P2 M18–M31144.969125✓ 125 = v1 sellable (S1 cut)
P3 M32–M46154.365190✓ 190 at P3 exit; scope is v2 core, 63.5 modelled (§5.1.1)

The founder contributes 0.4 eng-FTE, not 1.0. Five headcount engineers from M13 net out to 4.9 effective in P2 and 4.3 in P3 because of on-call, interviews, install-day escalations and the fact that the person who wrote the fold is the person the restaurant reaches at 21:40 on a Saturday. [estimate]

Why the brief's S1 fails arithmetically: 3 engineers × 24 months at 3.5 effective FTE is ~84 eng-months against a 125 eng-month v1. The gap is 41 eng-months — more than the entire MVP client-app domain. There are exactly three honest resolutions and canon picks the first: (a) 5 engineers over 36 months on EUR 1.8–2.4M; (b) POS-only with no CRM beyond a loyalty ledger; (c) first-party ordering + loyalty for delivery-heavy concepts as a wedge. (b) and (c) are not the product in this brief.

#5.1.1 What P3 actually fits: v2 core vs v3

P3 has 65 eng-months of S1 capacity (M32–M46, above). Canon's full v2 delta is +86.5 → +96.5. Full v2 does not fit and never did; the reconciliation is not a re-estimate, it is a scope split. Canon §4's v2 tier is split into v2 core — what P3 ships — and v3 — P4 and later. [estimate] on every per-domain line below; only the canon column is canonical.

Domainv2 delta (canon, full v2)of which v2 core (S1 P3)deferred to v3+ P2 "Full only" repaymentS1 P3 total
A Order domain + offline core+9.09.0 — T2 LAN multi-station in full0.02.0 — full injected-fault simulator suite11.0
B Backend platform+12.08.0 — guest-ordering backend, segmentation/journey engine, RFM/lapse, second-country tenancy4.0 — table-service order model (courses, seats, splits, merges, transfers), delivery-order ingestion8.0
C Client apps+18.06.0 — QR PWA + guest web ordering UI, Wallet passes, segmentation/journey/CRM-reporting console12.0 — floor plan, table-service POS UI, handheld waiter app, customer-facing display, Apps-on-Devices1.5 — Polish in the i18n set7.5
D Hardware, printing+4.01.0 — PL kasa-online printer partner bring-up3.0 — handheld + CFD peripherals, S700/S710 enablement1.0
E Payments + PCI+6.05.0 — card-linked identity (PAR enrolment), attach plumbing, second-country acquiring1.0 — Apps-on-Devices payment path5.0
F Fiscal + regulatory+11.07.0 — UA PRRO, PL KSeF + JPK_V7M4.0 — DE+AT fiskaly/Deutsche Fiskal, data residency7.0
G CRM / loyalty / privacy+11.09.0 — Brand Vouchers, WhatsApp/Viber senders, segmentation, journeys, RFM/lapse, card-linked identity CRM side2.0 — cashback and subscriptions5.0 — segmentation query-builder UI + multi-channel adapters beyond one SMS aggregator + email14.0
H Commercial machinery+5.03.0 — second-country billing, payments-partner attach reporting2.0 — delivery-module resale billing, subscription billing1.5 — residual/margin ledger4.5
I Integrations+10.55.5 — Apple Business Connect, and the Poster / r_keeper / iiko-Syrve migration importers that Ukraine entry depends on, plus connector hardening5.0 — HubRise-resold delivery module (1.5), native Glovo (3.5)5.5
+86.553.533.010.063.5

63.5 modelled against 65 available. That leaves 1.5 eng-months of contingency, which is not enough — the two country-entry queues (A12 GUM homologation, A13 PRRO certification) compress by 0% and are historically where this class of plan slips. This is a real and stated thinness, not a rounding artefact: it appeared when Domain I was restated from +9.0 to +10.5 after the HubRise-resold delivery module moved to v3 and the three Ukrainian migration importers — Poster, r_keeper, iiko/Syrve, which are how Ukraine entry actually wins Sites — were costed properly by 06 — Integrations §2.2. The named contingency lever, to be pulled at the P3 planning gate and not silently: defer the r_keeper importer (1.5) to v3, restoring ~3 eng-months of float, because it is the least load-bearing of the three (r_keeper's CEE installed base is the oldest and the most likely to be replaced rather than migrated). Canon's 190 cumulative at P3 exit is capacity, and it stands; cumulative scoped work is 188.5.

Three consequences a reader should not have to derive:

  1. The +86.5 → +96.5 delta is not deleted. It is re-labelled: it is the full v2 figure and it is the S2/Full number. S2's P3 (M19–M30, 12 months at ~11 eng-FTE ≈ 132 eng-months) carries it whole in the same phase, on top of a v1 that already shipped Full.
  2. The S1 cut is repaid where v2 core depends on it, and only there. Five of canon's "Full only" P2 deferrals are pulled into P3 at ~10 eng-months because v2 core cannot ship without them — the injected-fault simulator suite (T2 LAN), the segmentation query-builder UI and the multi-channel adapters (WhatsApp/Viber, journeys), the residual/margin ledger (payments attach, and the M18 gate already calls out its absence), and Polish i18n (Poland entry). The rest stay deferred, including in-app staff self-onboarding unless A20 pulls it forward (§10).
  3. What was cut is the full-service product, not the growth engine. Table service and the handheld waiter app serve a different ICP than canon §1's counter-service-only, single-station-first shape and cannot be funded before the counter-service base is at 150 Sites. P3's exit gate turns on Site count and on identity capture / CRM renewal, and both are kept: T2 LAN plus the two second markets carry the Sites, guest ordering + QR PWA + Wallet passes carry identity capture from v1's 30–38% (A4 true) toward **52% (v2 core)**. Cutting either of those would break a thesis this deliverable states as proven elsewhere; cutting full-service does not.

#5.2 S2 — funded

Effective capacity 11 eng-FTE → ~132 eng-months/year, i.e. 11/month once ramped.

WindowMonthsEffective eng-FTEEng-monthsCumulativeCanon checkpoint
P0 M0–M343.5 (ramping 4→11 heads)1414
P1 M4–M967.04256✓ MVP at M9
P2 M10–M18912.3112.5168.5✓ v1 sellable (Full) at M18

S2 buys 9 months of calendar, not a different product. The MVP arrives 8 months earlier and the Full v1 13 months earlier; the compliance queues, the install day, the sales meeting and the Saturday escalation are identical.


#6. Org chart per phase

Loaded monthly cost per role. "Loaded" = gross + CZ employer contributions (24.8% social + 9.0% health [known]) or the UA contractor equivalent.

RoleBaseLoaded EUR/moLabel
FounderPrague/Kyiv3,000[estimate]
Engineer, senior (Kotlin/JVM)Kyiv / Lviv4,500[estimate], and it is canon A15's hard cap
Engineer, senior — Prague market equivalentPrague5,000–7,500[estimate]; Glassdoor's Prague senior-engineer sample brackets roughly CZK 90–138k/month gross but labels its period inconsistently, so treat as an estimate. This is why the engineering base is Ukraine, not Czechia
QA / device-lab ownerKyiv / Lviv3,500[estimate]
Fractional product designer (0.5)remote2,500–4,000canon §5.2
Support agent, Czech-language tier 1Brno / Ostrava2,500canon §5.4
Support agent, UA-based (escalation tier, not Customer-facing)Lviv1,100–1,600[estimate]
Field / install technicianPrague2,800[estimate]
Onboarding / menu-build specialistPrague / Lviv2,800 (= EUR 16–24/h loaded)canon §5.4
Field AEPrague4,500 + commission[estimate]
Ops / compliance owner (part-time to P3)Prague4,000[estimate]

#6.1 S1 headcount by phase

RoleP0P1P2P3
Founder1111
Engineers2→33→555
QA / device lab0.5111
Fractional designer0.50.50.50.5
Field / install1 (from Site #10, M21)1.5
Onboarding / menu build11.5
Support (Czech-language)1→2 (from Site #40, M30)2
Field AE1→22
Ops / compliancefounderfounder0.250.5
Total5.06.8 avg12.0 avg15.5 avg

On the P0 engineer count: this table starts P0 at 2→3 engineers, not canon §5.2's "3 rising to 5 by M13". The 2→3 ramp is what the hiring reality of A15 (two senior Kotlin engineers signed by M2) actually supports, and P0's 14 eng-months are computed off it in §5.1. Canon §5.2 is being amended to "2 engineers at M0 rising to 3 by P0 exit and 5 by M13"; this document is the source for the ramp.

graph TD F[Founder<br/>product, sales, compliance owner] --> E[Eng lead] F --> G[Go-to-market] F --> O[Operations] E --> E1[Domain + offline core] E --> E2[Backend platform] E --> E3[Client apps] E --> Q[QA / device lab<br/>owns the fsync rig + CI on real hardware] E --> D[Fractional designer 0.5] G --> A1[Field AE x1-2] O --> ON[Onboarding / menu build] O --> FI[Field install] O --> S[Support tier 1 CZ<br/>+ AI tier-0 agent]

The four non-engineering roles a POS company cannot skip, and what happens if you do:

RoleHire triggerSkipped →
Onboarding / menu buildfirst paid install22–55 h/Site lands on an engineer. At 4 installs/month that is a full engineer gone, and the menu is entered by someone who does not know a Variant from an Option
Field installSite #10 (M21)Two engineers spend install day on the phone about a printer that will not take a static IP. c01 calls this the item founders skip and then pay for twice
Support tier 1, Czech-languageSite #40 (M30)The founder becomes the Saturday rota. This is how small POS companies die — out of velocity, not out of cash
Compliance owner (named, part-time until P3)M0Nobody owns A11 (CZ reintroducing a cash-register obligation), A12 (PL kasa-online), A13 (UA PRRO), A23 (fiscal-archive handover for churned merchants). Every one of those is a hard-stop-class exposure

#6.2 S2 headcount

Canonical: 22 → 34 → 55 across FY1–FY3. 13 product engineers + 2 designers + 1 QA + field ops + sales + support at the P1 mark, growing sales and support roughly 2× per year thereafter. The engineering core is the same size as S1's twice over; the delta beyond that is entirely go-to-market and support, which is the correct shape — S2 is not buying a better product, it is buying nine months and a second country.


#7. Five-year P&L sketch — S1 (bootstrapped)

All figures EUR thousands. [estimate] throughout unless the line is a canon §5.4 input, which is marked.

#7.1 Site and revenue ramp

FY1 (M0–M11)FY2 (M12–M23)FY3 (M24–M35)FY4 (M36–M47)FY5 (M48–M59)
Paying Sites, period exit02075220320
Paying Sites, period average0642140265
Total recurring revenue per Site/mo — subscription (POS+CRM+KDS) + messaging + payments residual85125180195
Recurring revenue0663302620
— of which payments residual (net GP)00659143
Hardware revenue (pass-through, cost + 15%)044121319220
Total revenue050184621840
Exit ARR (recurring only)020113475749

The third row is not canon's ARPU and must never be quoted as one. Canon §5.4's EUR 110–130/Site/mo is subscription only — POS + CRM + KDS. The row above is total recurring revenue per Site: subscription plus KDS Stations beyond the first, plus messaging, plus the payments residual that canon §5.4 lists separately (PL EUR 1,620/Site/yr, DE EUR 670). FY4's EUR 180 is therefore not a 38% breach of a EUR 130 ceiling; it is EUR 115–125 of subscription plus ~EUR 35 of residual plus messaging and KDS attach. Any deck slide that shortens it to "blended ARPU EUR 180" is misquoting canon.

FY5 is modelled because the capital question is not answerable without it (§13 row 5). It re-forecasts nothing upward: Site growth slows to ~1.45×/year (220 → 320), per-Site recurring revenue rises EUR 180 → 195 on payments attach alone, and new-Site hardware volume falls with the slower ramp. On these numbers the mid case reaches canon's EUR 550–750k band only in FY5 — roughly a year later than canon's M44–M48 window (§7.4).

Payments residual assumes EUR 1,200/Site/year net at ~45 bps on ~EUR 262k of CZ card volume per Site [estimate], anchored against canon's verified Poland figure of EUR 1,620 and Germany EUR 670. Attach begins at M32 (P3), reaching 35% blended in FY4 — inside canon's 30–40% Y3 band, and capped by A21 (36–48-month terminal leases with EUR 300–900 early-termination fees on displacement wins).

#7.2 Cost and burn

FY1FY2FY3FY4FY5
Headcount, average5.07.513.515.517.5
Payroll272419639675740
Opex (legal, insurance, entity, travel, tooling, device lab, marketing)128157235300330
Total cost4005768749751,070
COGS: hardware (12% blended GM after freight, spares, DOA)039106281194
COGS: hosting + MDM + AI + messaging02113057
Gross profit0967310589
Net burn−400−567−807−665−481
Cumulative burn−400−967−1,774−2,439−2,920

Hardware gross margin is 12%, not 18%. The pricing rule is canonical — sell at cost + 15% — and cost + 15% is a 13.0% margin on revenue before freight, spares and DOA, so the achievable band after them is 10–13%; 12% is the mid. An 18% blended GM is arithmetically unreachable under the rule. The correction costs ~EUR 19k of FY4 gross profit (329 → 310) and ~EUR 3k/EUR 7k in FY2/FY3, and it pushes mid-case cumulative burn at M47 from EUR 2.41M to EUR 2.44M — i.e. the mid case now sits at the ceiling of canon's EUR 1.8–2.4M peak-capital band, ~EUR 40k through it, rather than inside it. Treat EUR 2.4M as the floor of the ask.

Infrastructure per canon: EUR 6.90–7.90/Site/month at 100 Sites, EUR 5.40–6.80 at 1,000 — 3–8% of revenue, never the constraint. AI spend EUR 0.30–1.50/Site/month steady state plus EUR 0.50–3.00 one-off per onboarding. MDM EUR 5.5/Site/month. Fiscal signing COGS in CZ is zero — that is the entire reason Czechia is the beachhead.

#7.3 Margin structure at FY4 (140 average Sites)

LineEUR/Site/moNote
Total recurring revenue per Site (incl. payments residual and messaging)180Not "blended ARPU". Canon §5.4's EUR 110–130 is subscription only (POS+CRM+KDS) and is the first ~EUR 120 of this line; the balance is KDS Stations beyond the first, messaging, and the payments residual canon lists separately
− hosting, MDM, AI, messaging COGS−18
= recurring gross margin before support162 (90%)
− support labour (3 FTE CZ-language, no AI tier-0)−54canon: EUR 40–55/Site/mo at CZ wages
= contribution margin per Site108canon P2 gate requires >EUR 25
With AI tier-0 deployed (canon EUR 25–32/Site/mo)132worth ~EUR 40k/yr at 140 Sites, ~EUR 120k/yr at 500
Hardware gross margin10–13% after freight, spares, DOAnever subsidised, sold at cost + 15% — which is a 13.0% margin on revenue before those three, so 10–13% is the ceiling, not the floor. §7.2 books 12%

#7.4 The honest sensitivity — this is where the plan is fragile

Canon's S1 Y3 exit ARR of EUR 550–750k is bound to the third year of revenue = M44–M48 (mid-2030) — calendar year 4 from company start, year 3 from the first invoice at M17. Read canon's "Y3" that way and nowhere else. Against that window: this document's mid case, EUR 475k of exit ARR at M47 on 220 Sites, is the modelled base. Canon's EUR 550–750k is the stretch, and it reconciles with canon's own P3 gate of 150–250 Sites only at the top of both bands — 230–280 Sites × EUR 190–225/Site/month of total recurring revenue (not subscription ARPU). Only the high case reaches it inside the window; the mid case reaches it a year late, in FY5.

CaseSites at M47Total recurring EUR/Site/moExit ARRCumulative burn at M47Consequence
Low160155EUR 298k−EUR 2.77MThird raise of EUR 0.6–0.9M in FY5, on worse terms
Mid — the modelled base220180EUR 475k−EUR 2.44MAt the ceiling of canon's EUR 1.8–2.4M peak-capital band. Canon's EUR 550–750k arrives in FY5, not in the M44–M48 window
High — the stretch250205EUR 615k−EUR 2.19MInside canon's EUR 550–750k band, in the window

Say this out loud in the raise. FY5 is now modelled (§7.1–§7.2) and it does not close: the mid case exits M59 at ~320 Sites and ~EUR 749k ARR, still burning ~EUR 481k/year, ~EUR 2.92M cumulative. Canon's EUR 1.8–2.4M is peak capital through M47, not capital to breakeven. Capital to breakeven is EUR 3.0–3.5M over 5–7 years and ~800 Sites. The two reconcile only if Site growth after M46 runs ~2.5×/year at a contribution margin above EUR 60/Site/month; the mid case runs ~1.45×. Probability of reaching Y3 alive: 35–45% [estimate, canon §5.2].

M47 is a financing event, not an exit. There are exactly three end states for S1 and the founder should choose which one is being underwritten before the extension raise, not after:

  1. A third financing round. EUR 0.6–0.9M on the low case, EUR 1.0–1.5M to actually reach breakeven, priced off EUR 475–600k of ARR growing under 2×/year. This is the base case and it is a down-round-shaped conversation.
  2. A Series A. Requires S2-shaped metrics — EUR 1.2–1.6M ARR, >2×/year growth, channel-sourced logos — which the S1 path does not produce by M47. Do not plan on it.
  3. A strategic sale at 3–6× ARR. On EUR 475–600k of ARR that is EUR 1.4–2.9M — roughly the capital invested. A return of capital, not a return on it. The EUR 40–90M outcome in §12 is a years 6–9 event and only exists on the far side of end state 1.

#8. Three-year P&L sketch — S2 (funded)

FY1FY2FY3
Headcount, average223455
Paying Sites, exit / average60 / 15700 / 3301,700 / 1,100
Total recurring revenue per Site/mo (incl. payments residual and messaging)120210235
Recurring revenue228323,102
— of which payments residual (net GP)02101,020
Hardware revenue606101,300
Total revenue821,4424,402
Payroll2,2003,3005,200
Programme S&M (paid, events, channel)4001,4002,400
Opex7001,3002,100
Total cost3,3006,0009,700
COGS (hardware, hosting, fiscal signing, messaging, AI)555451,190
Net burn−3,273−5,103−6,488
Cumulative burn−3,273−8,376−14,864
Exit ARREUR 86kEUR 1.76MEUR 4.8M

Cumulative EUR 13–15M over 3 years and Y3 exit ARR EUR 4.5–5.5M, both canonical. The binary event is the financing gate: EUR 15–25M Series A term sheet at M20 (May 2028) on EUR 1.2–1.6M ARR. If that term sheet does not exist, S2 switches immediately to a profitability plan — freeze hiring, one country, EUR 3M ARR at breakeven by M40 (Jan 2030). Probability of reaching Y3 alive: 30–40% [estimate, canon §5.3].

Fiscal signing COGS enters S2's P&L the moment DE/AT appear in the chain: EUR 10–15/register/month [verified in canon] = 15–25% of a EUR 59 ARPU. Price DE at EUR 89–129, never EUR 59.


#9. Go-to-market: the first 20 Customers

Geography: Prague and Brno, two districts first. Segment: counter-service coffee / bakery / fast-casual chains of 2–8 Sites. Job to be done: "I own four cafés, I cannot tell you which of my regulars stopped coming, and I cannot tell you which of my four managers is discounting." Reference density beats reference count — 15 Sites in Prague 7 outsells 15 scattered nationally, because restaurateurs ask their neighbours and because the installer's travel time collapses.

Restaurants switch POS at exactly four moments. Build the entire Y1–Y2 pipeline on the first and third.

TriggerShare of pipelineCycleWin rateLead source
New opening / refit45%~3 weeks~40%Fit-out contractors, restaurant-equipment distributors, commercial landlords, the Prague trade-licence register
Ownership change20%4–8 weeks~30%Same channels + business-transfer brokers
Acute failure of the incumbent20%1–3 weeks~50%Inbound, Facebook operator groups, the neighbour who already bought
Forced migration0% in CZCZ has no fiscalization mandate — this trigger does not exist here, which is the one downside of the beachhead
Displacement of a happy incumbent15%~6 months~10%Do not build a motion on this

The funnel to 20, and what it costs [estimate throughout]:

StageVolumeConversionCost
Discovery calls (P0, A1)40EUR 6k of founder time + travel
Real order forms presented2050%included
EUR 200 refundable deposits banked≥840% of formsP0 kill gate
Design partners live (P1 exit)5from the deposit cohortEUR 550–1,400 install each
First paying non-network Sites (P2, M18–M24)15~3 demos per closeEUR 2,200–3,200 fully-loaded CAC each
Cumulative to Site #2020~EUR 55–75k of CAC + install

Two line items nobody models and both belong in CAC: buying out the incumbent's remaining contract term (CZK 3,000–15,000 = EUR 120–610) and absorbing the 15–25% of signed deals that never go live. Canon's fully-loaded CAC of EUR 2,200–3,200 already contains both.

What the first 20 are sold on, in order: (1) the Dotypos migration importer — "you keep three years of history, it is a 30-minute step"; (2) holdout-based incremental revenue at renewal — a number no CEE competitor can produce; (3) offline: "orders, kitchen, cash and receipts keep working with no internet; card payments depend on your acquirer." Never claim store-and-forward card. See 05 — The CRM Product and Scope Tiers and 06 — Integrations for what those features actually are.

Pricing, canonical: POS EUR 79/Site/mo + CRM EUR 39/Site/mo + KDS EUR 25/Station/mo. Target subscription revenue per Site (POS+CRM+KDS) EUR 110–130/Site/mo; downside case EUR 95. That is what canon §5.4's band means — payments residual and messaging sit on top of it and are reported as total recurring revenue per Site (§7.1), never folded into an "ARPU" figure. Median discount off list above 20% means the price is wrong, not the salesperson.


#10. Onboarding and menu build: cost per Site, and the plan to automate it

TaskManual hWith AI hCompressible?
Menu data entry (PDF/photo → Items, prices, categories)6–141–2.5Yes — the one task LLM ingestion genuinely crushes
Option Groups + rules (min/max, price deltas, exclusions)3–82–5Partly — AI proposes, a human must verify. A wrong Option price bills wrong forever
Tax class + allergen assignment1–30.5–1Partly — AI is good at allergens, dangerous at VAT class
Printer / KDS routing + Station rules1–31–3No — site-specific physical reality
Staff, roles, PINs, Cash Drawer Session policy1–21–2No
Terminal pairing + test transactions0.5–20.5–2No
Training (2 Shifts)3–63–6No
Travel, go-live Shift, ~30% return-visit rate6–176–17No
Total22–55 h16–34 h~40% reduction, not 80%

At EUR 16–24/h loaded: manual EUR 350–1,320/Site, with AI EUR 256–816/Site. Savings ~EUR 250/Site. Install day is separate and larger: EUR 550–1,400/Site in CZ — 5–8 on-site hours × 2 people, plus network remediation the Customer did not budget (networking is 20–35% of the hardware bill).

The ROI of AI ingestion is not the EUR 250. It is time-to-first-transaction — moving from "three weeks out, our queue is full" to "next Tuesday" is worth more in close rate than the labour saved.

Automation roadmap, all inside canonical scope:

LeverTierEffect
AI menu ingestion from PDF/photo, with citations, confidence scoring and a human review UI that never auto-publishesMVP6–14 h → 1–2.5 h on entry
QR provisioning wizard + installer runbook + in-app fleet agentMVPCuts the 25–35 min device happy path from a support call to a checklist; the 20% of installs that miss it are the real budget
Printer discovery + static-IP wizard + MAC-keyed rebindingMVPRemoves the single largest install-day failure
Dotypos migration importer + generic CSV/Excel importerv1 sellableConverts "I'll lose three years of history" into a 30-minute step — and it is the highest-leverage sales asset in the plan
Onboarding workflow tool (checklist, test-transaction harness, go-live sign-off, per-Site config snapshot)v1 sellableMakes onboarding a role a EUR 2,800/mo specialist can own instead of an engineer

In-app staff self-onboarding for a new cashier: funded in v1 Full at 1.5 eng-months, deferred in the S1 cut. Front-of-house turnover is 60–100%/yr, so ticket volume is a function of the Customer's staff churn, not our Site count, and 08 calls this the only real mitigation. Which plan gets it, and when: S2 ships it at M18 inside the Full v1. S1 does not have it at the P2 exit — it is one of the "Full only" deferrals, and the earliest S1 slot is P3, where it competes with the five deferral repayments v2 core already needs (§5.1.1) against ~6 eng-months of contingency. The trigger to pull it forward is A20: if the M24 gate shows tickets/Site/month above 1.8 with staff churn named as the driver, it moves into P2 at +1.5 eng-months against the 125, and something else in the S1 cut comes out. Do not leave this floating to the P3 planning meeting — see 08 — Pros, cons, difficulties and risks.


#11. Support model and its cost

Standard coverage is 07:00–01:00 local, 7 days. 24/7 is a paid tier at +EUR 25/Site/month. Restaurants are not open at 04:00, and letting the 168-hour figure drive the cost model is how the SaaS line goes gross-margin-negative.

Ticket rate, canonical: 2–4/Site/month for the first 6 months post-install, decaying to 0.8–1.2; use 1.4 blended for the first 24 months. Hardware causes ~45% of all tickets03 — Hardware, peripherals and the device fleet owns that share and the EUR 25–43/Site/month hardware-ops model built on it — and ~60% of hardware tickets are printing, i.e. ~27% of all tickets.

Live SitesTickets/mo @1.4Coverage FTE (18h × 7d, with leave/sick, no lone shift)Cost/Site/moWith AI tier-0When
57founder + on-call engineer— (velocity cost)M17
20281EUR 125EUR 95M23
40561.5EUR 94EUR 65M30 — first support hire
1001402.5EUR 63EUR 42~M38
2503504.0EUR 40EUR 28~M46
5007008–11, or 3 + escalation with AI tier-0EUR 40–55EUR 25–32year 5

The 4.4–5.0 FTE floor for 07:00–01:00 coverage exists at 50 Sites and at 500 [estimate]. You are paying for coverage, not throughput — which is exactly why the first 300 Sites are the most expensive Customers this company will ever have, and why the AI tier-0 agent with device telemetry is a v1-sellable item and not a v1.5 item. An agent that reads printer, terminal and sync telemetry and files the ticket before the restaurant calls converts the coverage floor from "a human on a phone at 22:00" to "a human reviewing a queue at 09:00" — worth EUR 9–11k/month at 500 Sites. The agent itself is 2.5–3.0 eng-months inside Domain H's 8.0 (S1 cut) — the same domain also carries Stripe Billing, the payments-partner integration, the onboarding workflow tool and the MSA/DPA/SLA contracts. Quote it as 2.5–3.0, not as 8.0 and not as 3.0 flat; 08 — Pros, cons, difficulties and risks uses the identical figure.

A20 is the assumption that decides breakeven: blended ticket rate ≤1.4/Site/month through the first 24 months, instrumented from Site #1. Above that, support cost per Site exceeds EUR 55 against EUR 110–130 of subscription revenue — freeze sales and fix the product.


#12. Decision gates and kill criteria

Written so a third party can check them without asking us. Month numbers are the S1 calendar (start 2026-09-01); the S2 equivalent month is in brackets. These re-anchor the appendix critique's gate months onto the canonical phase calendar — the criteria are the critique's, the dates are canon's.

#M6 — Mar 2027 [S2: M4] · "is the money code real?"

SignalPassFail action
P0 exit gate cleared in full (deposits, term sheet, counsel opinion, ADR, work-breakdown, insurance)all 8 itemsStop. Do not enter P1 with an open P0 item
Human-written property suite exists and predates the fold; fold accepted only by ityesRewrite. AI-written folds pass the tests you asked for and violate permutation invariance silently
A7 fsync power-cut test: survivors over 1,000 random cut offsetsrecorded, pass or documented mitigationIf fsync lies, the printed monotonic per-Station Ticket number becomes the only dedupe primitive: +1.0 eng-month
A15 two senior Kotlin engineers signed at ≤EUR 4,500/moyesStack decision reopens; React Native adds +5.5 eng-months plus 0.15–0.25/quarter forever
A8 station-count survey: share of segment running 2+ Stations<40%≥40% → T2 LAN moves into v1: +9.0 eng-months, MVP slips ~3 months
Vertical slice on real hardware: order → raster print → Stripe Terminal → CZ receiptdemonstratedNot demonstrated → re-baseline P1 before hiring engineer #4

#M12 — Sep 2027 [S2: M7] · "does it survive a kitchen?"

SignalPassFail action
Pilot Sites live and unattended (no founder, no engineer on site) through 4 consecutive Saturdays≥1 by M12, ≥3 by M170 by M14 → stop
Engineer manually repaired production data in the last 30 days0 times>0 → not shippable; freeze features
Median tickets/Site/week by week 6 post-install≤3>6 → stop
Full service with WAN deliberately cut, reconciled to the cent≥1 demonstratedNot demonstrated → the offline claim is marketing; descope to cloud-only and re-price
Deposits still standing at ≥EUR 89/mo from non-friends≥8Deposits returned → the price is wrong; re-run the model at canon's EUR 95 downside subscription price

#M18 — Mar 2028 [S2: M10] · "can we sell it to strangers?"

SignalPassFail action
Design partners live, invoiced and VAT-charged5<3 → do not open P2
Extension raise (EUR 900k–1.3M) term sheet in handsigned by M20Not signed → cut to 3 engineers, freeze P2 scope, target POS-only
First non-network paying Site closed≥10 → the ICP is wrong, not the pitch
Fully-loaded CAC on the first cohort (incl. onboarding + install)measurable, <EUR 3,200Not measurable → the residual/margin ledger is missing; you cannot tell if you are profitable per Site
Median first-demo to go-live<45 days>90 days → the motion does not scale to a small team
Weekends covered without a founder or engineer on the pager≥1 full weekendNever achieved → hire support now, ahead of Site #40

#M24 — Sep 2028 [S2: M14] · "are the unit economics real?"

SignalPassFail action
Paying Sites18–28 (on track for 40–60 at M31)<12 → wind down or sell the team
Share of Sites from outside the founder network≥60%<40% → this is a personal network, not a business
Gross churn on the first-20 cohort, annualised<20%≥3 of the first 20 gone → product failure; do not "sell harder"
Contribution margin per Site = total recurring revenue per Site − support − hosting − fiscal COGS − payments COGS>EUR 25/Site/mo≤0 → stop; more Sites make it worse
Tickets/Site/month<1.8 (target <1.4 at M31)>2.0 → freeze sales, fix the product (A20)
Payments attach on new logos in the trailing quarter≥30%<20% → the entire LTV thesis is unproven; cut burn immediately
Median discount off list price<20%>25% → the price is wrong; re-baseline the model
Runway at current burn, no new revenue assumed≥9 months<6 → raise now on worse terms, or stop now on your own terms

Financing gates, restated: S1 — pre-seed EUR 900k–1.1M before P0 (by Jan 2027), extension EUR 900k–1.3M at the P2 entry gate (Mar–May 2028), and — on the mid case, not only on the low case — a third round of EUR 0.6–1.5M in FY5, because peak capital through M47 (EUR 1.8–2.4M) is not capital to breakeven (EUR 3.0–3.5M, §7.4). S2 — EUR 7M before P0, and a EUR 15–25M Series A term sheet at M20 (May 2028) on EUR 1.2–1.6M ARR, which is binary.

Realistic exit: EUR 40–90M strategic sale in years 6–9 to Nexi, Teya, Worldline, SumUp or Lightspeed. Anchor: orderbird → Nexi, EUR 130–140M for ~14,000 clients [verified in canon]. At 60–80% founder ownership on the EUR 3.0–3.5M this path actually costs to get to breakeven, that is a life-changing outcome that does not require winning Europe. Note the arithmetic in the other direction: selling at M47 instead, at 3–6× ARR on EUR 475–600k, returns EUR 1.4–2.9M — approximately the capital invested (§7.4).


#13. Where this plan is most likely wrong

#The numberWhy it may be wrongWhat would confirm it
13.5 effective eng-FTEThe on-call tax is modelled at 15–25% from ~150 Sites. It arrives at ~60 Sites, in P2, when there is no support hire yet. If it does, P2 slips 3–4 months and cumulative burn crosses EUR 2.6MInstrument engineer interrupt-hours from Site #1; review at M24
2EUR 1,200/Site/yr payments residual (CZ)Interpolated between canon's verified PL EUR 1,620 and DE EUR 670. A EUR 7.7 average ticket makes the fixed per-transaction component dominate; a bad rate card halves thisThe A2 term sheets, in writing, at P0 exit
3Sites 20 → 75 → 220 across FY2–FY4This is ~4/month in P2 and ~12/month in P3 with 2 AEs. Nothing in this plan proves the second number; canon's annually contestable CZ market is only 200–500 SitesTrailing-3-month new-logo rate at M24 and M31
4Canon Y3 ARR EUR 550–750k vs the modelled EUR 475kCanon's band is bound to the third year of revenue = M44–M48 and reconciles with the 150–250-Site gate only at the top of both bands, at EUR 190–225/Site/mo of total recurring revenue. EUR 475k is the modelled base; canon's band is the stretch, and on the mid case it arrives in FY5, a year late§7.4 sensitivity; re-check at the P3 entry gate
5Peak capital EUR 1.8–2.4M is not capital to breakevenEUR 1.8–2.4M is peak capital through M47 and the mid case already lands at EUR 2.44M there. Capital to breakeven is EUR 3.0–3.5M over 5–7 years and ~800 Sites. FY5 is now modelled: M59 at ~EUR 749k ARR, ~EUR 2.92M cumulative, still burning ~EUR 481k/yr, because growth runs ~1.45×/yr and not the ~2.5× the breakeven claim needs§7.1–§7.2 FY5 columns; disclose both numbers at the extension raise, and pick one of §7.4's three M47 end states
6P3 fits 59 eng-months of v2 core against 65 of capacityThe v3 deferral list (table service, handheld, delivery module, DE+AT, Apps-on-Devices) is a scope split, not a re-estimate, and the per-domain split in §5.1.1 is [estimate] throughout. If T2 LAN, UA PRRO or PL KSeF each run 30% over, the ~6 eng-month contingency is gone and the second market slips past M46Sprint actuals against the reconciled work-breakdown at the P3 entry gate (M32) and at UA go-live (M36)
7AI-assist multipliers (D 1.25× · A 1.10× · B 1.50× · C 1.35×)A22: measured per sprint against the reconciled work-breakdown, due M12. If they do not hold, re-baseline the effort plan and do not re-forecast the revenue — AI compresses code, never the certification queue, the install, the sales meeting or the support rotaSprint-level actuals vs the work-breakdown, M12

Risk treatment, mitigations and the full assumption register live in 08 — Pros, cons, difficulties and risks; the go/no-go verdict this budget supports is in 01 — Feasibility verdict.