cano.POS – Cloud POS System
A distributed POS system with 13 services, real-time synchronization, and seamless fiscal compliance — continuously developed over many years
The Challenge
The POS market for bakeries is a niche field. Generic retail POS systems have no concept of baking schedules or branch deliveries, and hospitality POS solutions know nothing about return rates or dine-in/takeaway tax rules. Multi-location bakeries need exactly that: a system that covers the specifics of the industry while centrally connecting all branches.
At the same time, the regulatory environment is demanding. Since the introduction of KassenSichV, POS systems must sign every transaction tamper-proof and without gaps via a Technical Security Device (TSE). On top of that come DSFINV-K export requirements for tax audits and strict GDPR (DSGVO) requirements.
The core technical challenge lies in the nature of the business: bakery branches are often located in areas with unreliable internet — train stations, shopping centers, rural areas. A POS outage means lost revenue. The system must operate autonomously offline, reliably buffer transactions, and synchronize without errors, duplicate bookings, or data loss once the connection is restored.
- Industry specifics: Generic POS systems cover neither baking schedules, packing lists, branch orders, nor industry-specific reports like return rates.
- Multi-branch operations: Master data, prices, and product ranges must be centrally manageable while every POS terminal must be able to operate autonomously.
- Fault tolerance: Internet or server outages must never interrupt sales operations — in any branch, at any time.
- Regulatory compliance: TSE conformity (KassenSichV), DSFINV-K export capability, and GDPR-compliant hosting in Germany are mandatory.
- Long-term maintainability: A system that grows over years needs an architecture that allows changes to one service without jeopardizing others.
The Solution
We designed cano.POS as a distributed microservice architecture and continuously developed it over more than 15 years. The system connects a touch-optimized POS frontend in branches via asynchronous message processing with central cloud processing — engineered for fault tolerance at every level.
Architecture & Fault Tolerance
The system consists of over a dozen independent services with clearly separated responsibilities: an Angular-based POS frontend, a Scala API for transaction processing, a central message processing service in .NET, and specialized Python services for compliance exports and integrations. Communication between branches and headquarters runs through a message broker that reliably buffers messages during connection interruptions and delivers them later.
Fault tolerance is not a single feature — it permeates the entire architecture across multiple layers: automatic retry mechanisms, intelligent error handling, and safeguards against duplicate bookings interlock seamlessly. The result: whether the internet goes down, a database fails, or both happen at once — sales in the branch continue uninterrupted.
Industry-Specific Features
Beyond the architecture, deep industry knowledge is embedded in the product: dine-in/takeaway price switching via touch, gift cards with bonus points and loyalty rewards, an internal messaging system for price changes and promotions, central master data management across all branches, and comprehensive reports and analytics for informed business decisions.
.NET 8 Migration with AI-Powered Agents
A highlight of recent development: migrating the central message processing service from .NET 4.7.2 to .NET 8 — the heart of the entire system. We deployed AI-powered coding agents under strict human supervision to execute the migration systematically across 15 phases. Our team reviewed every step and ensured domain correctness. Hundreds of automated tests guaranteed that the communication protocol between POS terminals and headquarters remained bit-accurate — any deviation would have bricked POS terminals in the field. During the migration, critical edge-case bugs were identified and fixed that had previously gone undetected. Result: zero breaking changes, zero downtime, and a modernized foundation for future development.
Testing & Quality Assurance
Over 600 automated E2E tests cover the complete lifecycle — from login and sales transactions through payment flows and customer loyalty features to end-of-day closing. On top of that, extensive failure scenario tests validate system behavior during database and connection outages.
The Results
- 13 services in a distributed microservice architecture — each independently deployable and maintainable.
- Three-tier resilience architecture guarantees uninterrupted sales operations during internet, database, and combined outages.
- 600+ E2E tests automatically validate the entire business process from sales to end-of-day closing.
- .NET 8 migration of the central message processing service completed with AI-powered agents — 45 plans, 250+ snapshot tests, zero breaking changes.
- TSE-compliant & DSFINV-K export-ready — seamless fiscal compliance under KassenSichV, audit-ready for tax authorities at any time.
- Fully containerized — all services run in Docker, reproducible and consistent across all environments.
- >15 years of continuous development — the system grows with the requirements
With cano.POS we have a system that truly understands our industry. No more workarounds for baking schedules or branch orders — everything is right where you expect it. And even when a branch loses its internet connection, the registers just keep running. What convinced me most about cano.POS is the headquarters dashboard: I open it and instantly see how every branch is performing — revenue, sell-through, POS connection status, all live. I used to wait for phone calls or daily reports. Now I manage prices, product ranges, and staffing centrally and have the numbers I need for real decisions.