#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.
| M | Date | M | Date | M | Date | M | Date |
|---|---|---|---|---|---|---|---|
| M0 | Sep 2026 | M12 | Sep 2027 | M24 | Sep 2028 | M36 | Sep 2029 |
| M4 | Jan 2027 | M17 | Feb 2028 | M30 | Mar 2029 | M40 | Jan 2030 |
| M6 | Mar 2027 | M18 | Mar 2028 | M31 | Apr 2029 | M46 | Jul 2030 |
| M9 | Jun 2027 | M20 | May 2028 | M32 | May 2029 | M47 | Aug 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).
#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
| Goal | Prove the two commercial preconditions (A1 price, A2 payments residual) and remove every architectural unknown that would be expensive to reverse after code exists. |
| Scope | 40 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. |
| Duration | 5 months (S1) / 4 months (S2) |
| Headcount | S1: 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 consumed | 14 cumulative |
| Cost | S1 ≈ 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 learn | Whether 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
| Goal | Build the MVP (canon §4) and make five real CZ counter-service Sites run on it unattended. |
| Scope | The 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. |
| Duration | 13 months (S1) / 6 months (S2) |
| Headcount | S1: 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-months | 56 cumulative (42 consumed in-phase) |
| Cost | S1 ≈ 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 gate | MVP 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 note | Pilot 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 learn | The 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
| Goal | Sell the v1 to strangers, repeatably, in Prague and Brno, and prove contribution margin per Site is positive. |
| Scope | The 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. |
| Duration | 14 months (S1) / 9 months (S2) |
| Headcount | S1: 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-months | 125 cumulative (69 consumed in-phase) |
| Cost | S1 ≈ EUR 885k (payroll 645k, opex 240k). S2 ≈ EUR 5.4M [estimate] |
| Exit gate | v1 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 learn | Whether 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
| Goal | Turn on the payments revenue line and prove the country-entry playbook exactly once. |
| Scope | v2 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 later | Table 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. |
| Duration | 15 months (S1) / 12 months (S2) |
| Headcount | S1: 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-months | 190 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 |
| Cost | S1 ≈ EUR 1.24M over 15 months. S2 ≈ EUR 8–9M [estimate] |
| Exit gate | UA then PL live · payments residual invoiced on ≥30% of new logos · 150–250 Sites · NRR >95% · support cost/Site/month <EUR 40 |
| What we learn | Whether 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+
| Goal | S1: 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. |
| Cost | FY5 (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 learn | Whether 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)
| Milestone | S1 month | S1 date | S2 month | S2 date | Owner |
|---|---|---|---|---|---|
| Company start, P0 opens | M0 | 2026-09-01 | M0 | 2026-09-01 | Founder |
| A3 Teya/Storyous/Dotykačka ownership confirmed | M1 | Oct 2026 | M1 | Oct 2026 | Founder |
| A7 fsync power-cut test run on certified SKUs | M1 | Oct 2026 | M1 | Oct 2026 | QA |
| A6 PAR sandbox test (Stripe vs Adyen) | M1 | Oct 2026 | M1 | Oct 2026 | Backend lead |
| A15 two senior Kotlin engineers signed | M2 | Nov 2026 | M1 | Oct 2026 | Founder |
| A4 Czech counsel opinion signed | M2 | Nov 2026 | M2 | Nov 2026 | Counsel |
| A8 station-count survey (30 calls) closed | M3 | Dec 2026 | M2 | Nov 2026 | Founder |
| P0 exit gate — deposits + payments term sheet | M4 | 2027-01-31 | M3 | 2026-12-31 | Founder |
| Pre-seed EUR 900k–1.1M closed (S1) / EUR 7M (S2) | M4 | Jan 2027 | M0 | Sep 2026 | Founder |
| Fold + human-written property suite green | M6 | Mar 2027 | M4 | Jan 2027 | Eng lead |
| Vertical slice on real hardware: order → print → card → CZ receipt | M6 | Mar 2027 | M5 | Feb 2027 | Eng lead |
| A14 Google Business Profile allowlist decision | M6 | Mar 2027 | M6 | Mar 2027 | Product |
| Pilot Site #1 live (founder on site, every service, 2 weeks) | M12 | Sep 2027 | M7 | Apr 2027 | Founder + field |
| MVP complete · P1 exit · 5 partners invoiced | M17 | 2028-02-29 | M9 | 2027-06-30 | Eng lead |
| First non-network paying Site | M18 | Mar 2028 | M10 | Jul 2027 | AE |
| Field/install hire (Site #10) | M21 | Jun 2028 | M11 | Aug 2027 | Founder |
| Extension raise EUR 900k–1.3M (S1) / Series A term sheet (S2) | M18–M20 | Mar–May 2028 | M20 | May 2028 | Founder |
| First support hire (Site #40) | M30 | Mar 2029 | M13 | Oct 2027 | Support owner |
| v1 sellable complete · P2 exit · 40–60 paying Sites | M31 | 2029-04-30 | M18 | 2028-03-31 | All |
| UA PRRO live (Checkbox/Vchasno) | M36 | Sep 2029 | M22 | Jul 2028 | Compliance |
| PL live via kasa-online partner + KSeF | M42 | Jan 2030 | M28 | Jan 2029 | Compliance |
| P3 exit · 150–250 Sites · payments on ≥30% of new logos | M46 | 2030-07-31 | M30 | 2029-03-31 | All |
| P4 opens — scale or sell | M47 | 2030-08-01 | M31 | 2029-04-01 | Founder |
#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.
| Domain | Owns | MVP | v1 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 replay | 10.6 | 16.0 | 19.6 | +9.0 |
| B Backend platform | tenancy/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/DR | 12.0 | 23.0 | 28.0 | +12.0 |
| C Client apps | design system, POS app, back-office console, KDS + expo, fleet agent, provisioning, internal support console, release engineering, i18n/a11y | 17.0 | 28.0 | 36.5 | +18.0 |
| D Hardware, printing, peripherals | raster core, transports, discovery, routing, health/failover/dedupe, drawer/scanner/CFD, certification matrix, installer tooling, device lab | 5.0 | 10.0 | 13.0 | +4.0 |
| E Payments + PCI | terminal port, Stripe adapter, splits, voids/refunds, reconciliation, tips capture, tokenization, PCI programme | 4.0 | 11.0 | 13.5 | +6.0 |
| F Fiscal + regulatory (CZ only in v1) | FiscalProvider, receipt framework, CZ, allergens, compliance harness, DORA/Data Act | 2.5 | 8.0 | 9.5 | +11.0 |
| G CRM / loyalty / privacy | identity, capture, loyalty ledger, offline Vouchers, rules engine, consent, DSAR/erasure, flows, attribution | 2.5 | 19.0 | 29.0 | +11.0 |
| H Commercial machinery | billing, payments-partner integration, onboarding tool, AI tier-0 support, contracts | 0.0 | 8.0 | 10.5 | +5.0 |
| I Integrations | connector runtime, Google Business Profile, migration importers | 0.0 | 4.0 | 8.5 | +10.5 |
| TOTAL | 53.6 → 56 | 127 → 125 | 168.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.
| Window | Months | Effective eng-FTE | Eng-months in window | Cumulative | Canon checkpoint |
|---|---|---|---|---|---|
| P0 M0–M4 | 5 | 2.8 | 14 | 14 | ✓ 14 at P0 exit |
| P1 M5–M17 | 13 | 3.2 | 42 | 56 | ✓ 56 = MVP |
| P2 M18–M31 | 14 | 4.9 | 69 | 125 | ✓ 125 = v1 sellable (S1 cut) |
| P3 M32–M46 | 15 | 4.3 | 65 | 190 | ✓ 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.
| Domain | v2 delta (canon, full v2) | of which v2 core (S1 P3) | deferred to v3 | + P2 "Full only" repayment | S1 P3 total |
|---|---|---|---|---|---|
| A Order domain + offline core | +9.0 | 9.0 — T2 LAN multi-station in full | 0.0 | 2.0 — full injected-fault simulator suite | 11.0 |
| B Backend platform | +12.0 | 8.0 — guest-ordering backend, segmentation/journey engine, RFM/lapse, second-country tenancy | 4.0 — table-service order model (courses, seats, splits, merges, transfers), delivery-order ingestion | — | 8.0 |
| C Client apps | +18.0 | 6.0 — QR PWA + guest web ordering UI, Wallet passes, segmentation/journey/CRM-reporting console | 12.0 — floor plan, table-service POS UI, handheld waiter app, customer-facing display, Apps-on-Devices | 1.5 — Polish in the i18n set | 7.5 |
| D Hardware, printing | +4.0 | 1.0 — PL kasa-online printer partner bring-up | 3.0 — handheld + CFD peripherals, S700/S710 enablement | — | 1.0 |
| E Payments + PCI | +6.0 | 5.0 — card-linked identity (PAR enrolment), attach plumbing, second-country acquiring | 1.0 — Apps-on-Devices payment path | — | 5.0 |
| F Fiscal + regulatory | +11.0 | 7.0 — UA PRRO, PL KSeF + JPK_V7M | 4.0 — DE+AT fiskaly/Deutsche Fiskal, data residency | — | 7.0 |
| G CRM / loyalty / privacy | +11.0 | 9.0 — Brand Vouchers, WhatsApp/Viber senders, segmentation, journeys, RFM/lapse, card-linked identity CRM side | 2.0 — cashback and subscriptions | 5.0 — segmentation query-builder UI + multi-channel adapters beyond one SMS aggregator + email | 14.0 |
| H Commercial machinery | +5.0 | 3.0 — second-country billing, payments-partner attach reporting | 2.0 — delivery-module resale billing, subscription billing | 1.5 — residual/margin ledger | 4.5 |
| I Integrations | +10.5 | 5.5 — Apple Business Connect, and the Poster / r_keeper / iiko-Syrve migration importers that Ukraine entry depends on, plus connector hardening | 5.0 — HubRise-resold delivery module (1.5), native Glovo (3.5) | — | 5.5 |
| +86.5 | 53.5 | 33.0 | 10.0 | 63.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:
- 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.
- 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).
- 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.
| Window | Months | Effective eng-FTE | Eng-months | Cumulative | Canon checkpoint |
|---|---|---|---|---|---|
| P0 M0–M3 | 4 | 3.5 (ramping 4→11 heads) | 14 | 14 | ✓ |
| P1 M4–M9 | 6 | 7.0 | 42 | 56 | ✓ MVP at M9 |
| P2 M10–M18 | 9 | 12.3 | 112.5 | 168.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.
| Role | Base | Loaded EUR/mo | Label |
|---|---|---|---|
| Founder | Prague/Kyiv | 3,000 | [estimate] |
| Engineer, senior (Kotlin/JVM) | Kyiv / Lviv | 4,500 | [estimate], and it is canon A15's hard cap |
| Engineer, senior — Prague market equivalent | Prague | 5,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 owner | Kyiv / Lviv | 3,500 | [estimate] |
| Fractional product designer (0.5) | remote | 2,500–4,000 | canon §5.2 |
| Support agent, Czech-language tier 1 | Brno / Ostrava | 2,500 | canon §5.4 |
| Support agent, UA-based (escalation tier, not Customer-facing) | Lviv | 1,100–1,600 | [estimate] |
| Field / install technician | Prague | 2,800 | [estimate] |
| Onboarding / menu-build specialist | Prague / Lviv | 2,800 (= EUR 16–24/h loaded) | canon §5.4 |
| Field AE | Prague | 4,500 + commission | [estimate] |
| Ops / compliance owner (part-time to P3) | Prague | 4,000 | [estimate] |
#6.1 S1 headcount by phase
| Role | P0 | P1 | P2 | P3 |
|---|---|---|---|---|
| Founder | 1 | 1 | 1 | 1 |
| Engineers | 2→3 | 3→5 | 5 | 5 |
| QA / device lab | 0.5 | 1 | 1 | 1 |
| Fractional designer | 0.5 | 0.5 | 0.5 | 0.5 |
| Field / install | — | — | 1 (from Site #10, M21) | 1.5 |
| Onboarding / menu build | — | — | 1 | 1.5 |
| Support (Czech-language) | — | — | 1→2 (from Site #40, M30) | 2 |
| Field AE | — | — | 1→2 | 2 |
| Ops / compliance | founder | founder | 0.25 | 0.5 |
| Total | 5.0 | 6.8 avg | 12.0 avg | 15.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.
The four non-engineering roles a POS company cannot skip, and what happens if you do:
| Role | Hire trigger | Skipped → |
|---|---|---|
| Onboarding / menu build | first paid install | 22–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 install | Site #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-language | Site #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) | M0 | Nobody 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 exit | 0 | 20 | 75 | 220 | 320 |
| Paying Sites, period average | 0 | 6 | 42 | 140 | 265 |
| Total recurring revenue per Site/mo — subscription (POS+CRM+KDS) + messaging + payments residual | — | 85 | 125 | 180 | 195 |
| Recurring revenue | 0 | 6 | 63 | 302 | 620 |
| — of which payments residual (net GP) | 0 | 0 | 6 | 59 | 143 |
| Hardware revenue (pass-through, cost + 15%) | 0 | 44 | 121 | 319 | 220 |
| Total revenue | 0 | 50 | 184 | 621 | 840 |
| Exit ARR (recurring only) | 0 | 20 | 113 | 475 | 749 |
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
| FY1 | FY2 | FY3 | FY4 | FY5 | |
|---|---|---|---|---|---|
| Headcount, average | 5.0 | 7.5 | 13.5 | 15.5 | 17.5 |
| Payroll | 272 | 419 | 639 | 675 | 740 |
| Opex (legal, insurance, entity, travel, tooling, device lab, marketing) | 128 | 157 | 235 | 300 | 330 |
| Total cost | 400 | 576 | 874 | 975 | 1,070 |
| COGS: hardware (12% blended GM after freight, spares, DOA) | 0 | 39 | 106 | 281 | 194 |
| COGS: hosting + MDM + AI + messaging | 0 | 2 | 11 | 30 | 57 |
| Gross profit | 0 | 9 | 67 | 310 | 589 |
| 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)
| Line | EUR/Site/mo | Note |
|---|---|---|
| Total recurring revenue per Site (incl. payments residual and messaging) | 180 | Not "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 support | 162 (90%) | |
| − support labour (3 FTE CZ-language, no AI tier-0) | −54 | canon: EUR 40–55/Site/mo at CZ wages |
| = contribution margin per Site | 108 | canon P2 gate requires >EUR 25 |
| With AI tier-0 deployed (canon EUR 25–32/Site/mo) | 132 | worth ~EUR 40k/yr at 140 Sites, ~EUR 120k/yr at 500 |
| Hardware gross margin | 10–13% after freight, spares, DOA | never 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.
| Case | Sites at M47 | Total recurring EUR/Site/mo | Exit ARR | Cumulative burn at M47 | Consequence |
|---|---|---|---|---|---|
| Low | 160 | 155 | EUR 298k | −EUR 2.77M | Third raise of EUR 0.6–0.9M in FY5, on worse terms |
| Mid — the modelled base | 220 | 180 | EUR 475k | −EUR 2.44M | At 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 stretch | 250 | 205 | EUR 615k | −EUR 2.19M | Inside 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:
- 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.
- 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.
- 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)
| FY1 | FY2 | FY3 | |
|---|---|---|---|
| Headcount, average | 22 | 34 | 55 |
| Paying Sites, exit / average | 60 / 15 | 700 / 330 | 1,700 / 1,100 |
| Total recurring revenue per Site/mo (incl. payments residual and messaging) | 120 | 210 | 235 |
| Recurring revenue | 22 | 832 | 3,102 |
| — of which payments residual (net GP) | 0 | 210 | 1,020 |
| Hardware revenue | 60 | 610 | 1,300 |
| Total revenue | 82 | 1,442 | 4,402 |
| Payroll | 2,200 | 3,300 | 5,200 |
| Programme S&M (paid, events, channel) | 400 | 1,400 | 2,400 |
| Opex | 700 | 1,300 | 2,100 |
| Total cost | 3,300 | 6,000 | 9,700 |
| COGS (hardware, hosting, fiscal signing, messaging, AI) | 55 | 545 | 1,190 |
| Net burn | −3,273 | −5,103 | −6,488 |
| Cumulative burn | −3,273 | −8,376 | −14,864 |
| Exit ARR | EUR 86k | EUR 1.76M | EUR 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.
| Trigger | Share of pipeline | Cycle | Win rate | Lead source |
|---|---|---|---|---|
| New opening / refit | 45% | ~3 weeks | ~40% | Fit-out contractors, restaurant-equipment distributors, commercial landlords, the Prague trade-licence register |
| Ownership change | 20% | 4–8 weeks | ~30% | Same channels + business-transfer brokers |
| Acute failure of the incumbent | 20% | 1–3 weeks | ~50% | Inbound, Facebook operator groups, the neighbour who already bought |
| Forced migration | 0% in CZ | — | — | CZ has no fiscalization mandate — this trigger does not exist here, which is the one downside of the beachhead |
| Displacement of a happy incumbent | 15% | ~6 months | ~10% | Do not build a motion on this |
The funnel to 20, and what it costs [estimate throughout]:
| Stage | Volume | Conversion | Cost |
|---|---|---|---|
| Discovery calls (P0, A1) | 40 | — | EUR 6k of founder time + travel |
| Real order forms presented | 20 | 50% | included |
| EUR 200 refundable deposits banked | ≥8 | 40% of forms | P0 kill gate |
| Design partners live (P1 exit) | 5 | from the deposit cohort | EUR 550–1,400 install each |
| First paying non-network Sites (P2, M18–M24) | 15 | ~3 demos per close | EUR 2,200–3,200 fully-loaded CAC each |
| Cumulative to Site #20 | 20 | ~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
| Task | Manual h | With AI h | Compressible? |
|---|---|---|---|
| Menu data entry (PDF/photo → Items, prices, categories) | 6–14 | 1–2.5 | Yes — the one task LLM ingestion genuinely crushes |
| Option Groups + rules (min/max, price deltas, exclusions) | 3–8 | 2–5 | Partly — AI proposes, a human must verify. A wrong Option price bills wrong forever |
| Tax class + allergen assignment | 1–3 | 0.5–1 | Partly — AI is good at allergens, dangerous at VAT class |
| Printer / KDS routing + Station rules | 1–3 | 1–3 | No — site-specific physical reality |
| Staff, roles, PINs, Cash Drawer Session policy | 1–2 | 1–2 | No |
| Terminal pairing + test transactions | 0.5–2 | 0.5–2 | No |
| Training (2 Shifts) | 3–6 | 3–6 | No |
| Travel, go-live Shift, ~30% return-visit rate | 6–17 | 6–17 | No |
| Total | 22–55 h | 16–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:
| Lever | Tier | Effect |
|---|---|---|
| AI menu ingestion from PDF/photo, with citations, confidence scoring and a human review UI that never auto-publishes | MVP | 6–14 h → 1–2.5 h on entry |
| QR provisioning wizard + installer runbook + in-app fleet agent | MVP | Cuts 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 rebinding | MVP | Removes the single largest install-day failure |
| Dotypos migration importer + generic CSV/Excel importer | v1 sellable | Converts "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 sellable | Makes 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 tickets — 03 — 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 Sites | Tickets/mo @1.4 | Coverage FTE (18h × 7d, with leave/sick, no lone shift) | Cost/Site/mo | With AI tier-0 | When |
|---|---|---|---|---|---|
| 5 | 7 | founder + on-call engineer | — (velocity cost) | — | M17 |
| 20 | 28 | 1 | EUR 125 | EUR 95 | M23 |
| 40 | 56 | 1.5 | EUR 94 | EUR 65 | M30 — first support hire |
| 100 | 140 | 2.5 | EUR 63 | EUR 42 | ~M38 |
| 250 | 350 | 4.0 | EUR 40 | EUR 28 | ~M46 |
| 500 | 700 | 8–11, or 3 + escalation with AI tier-0 | EUR 40–55 | EUR 25–32 | year 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?"
| Signal | Pass | Fail action |
|---|---|---|
| P0 exit gate cleared in full (deposits, term sheet, counsel opinion, ADR, work-breakdown, insurance) | all 8 items | Stop. Do not enter P1 with an open P0 item |
| Human-written property suite exists and predates the fold; fold accepted only by it | yes | Rewrite. 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 offsets | recorded, pass or documented mitigation | If 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/mo | yes | Stack 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 receipt | demonstrated | Not demonstrated → re-baseline P1 before hiring engineer #4 |
#M12 — Sep 2027 [S2: M7] · "does it survive a kitchen?"
| Signal | Pass | Fail action |
|---|---|---|
| Pilot Sites live and unattended (no founder, no engineer on site) through 4 consecutive Saturdays | ≥1 by M12, ≥3 by M17 | 0 by M14 → stop |
| Engineer manually repaired production data in the last 30 days | 0 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 demonstrated | Not demonstrated → the offline claim is marketing; descope to cloud-only and re-price |
| Deposits still standing at ≥EUR 89/mo from non-friends | ≥8 | Deposits 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?"
| Signal | Pass | Fail action |
|---|---|---|
| Design partners live, invoiced and VAT-charged | 5 | <3 → do not open P2 |
| Extension raise (EUR 900k–1.3M) term sheet in hand | signed by M20 | Not signed → cut to 3 engineers, freeze P2 scope, target POS-only |
| First non-network paying Site closed | ≥1 | 0 → the ICP is wrong, not the pitch |
| Fully-loaded CAC on the first cohort (incl. onboarding + install) | measurable, <EUR 3,200 | Not 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 weekend | Never achieved → hire support now, ahead of Site #40 |
#M24 — Sep 2028 [S2: M14] · "are the unit economics real?"
| Signal | Pass | Fail action |
|---|---|---|
| Paying Sites | 18–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 number | Why it may be wrong | What would confirm it |
|---|---|---|---|
| 1 | 3.5 effective eng-FTE | The 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.6M | Instrument engineer interrupt-hours from Site #1; review at M24 |
| 2 | EUR 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 this | The A2 term sheets, in writing, at P0 exit |
| 3 | Sites 20 → 75 → 220 across FY2–FY4 | This 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 Sites | Trailing-3-month new-logo rate at M24 and M31 |
| 4 | Canon Y3 ARR EUR 550–750k vs the modelled EUR 475k | Canon'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 |
| 5 | Peak capital EUR 1.8–2.4M is not capital to breakeven | EUR 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 |
| 6 | P3 fits 59 eng-months of v2 core against 65 of capacity | The 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 M46 | Sprint actuals against the reconciled work-breakdown at the P3 entry gate (M32) and at UA go-live (M36) |
| 7 | AI-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 rota | Sprint-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.