Software · in development

Time tracking for SMEs.

Multi-tenant SaaS with compliance at its core — built for the first pilot in a dental practice. ArbZG-compliant, with a DATEV payroll interface and a verifiable audit trail.

StatusPilot-ready · M3 in review
Period2026 — ongoing
Pilot customerDental practice
Tests193 backend tests green
The starting point

Three requirements that come up in every first conversation.

ArbZG compliance

In Germany, anyone working more than six hours needs a 30-minute break; more than nine hours, 45 minutes. If someone forgets, the employer is liable. Classic time clocks either ignore that or silently truncate hours — both risky.

Verifiable corrections

Forgetting to clock out happens. But every correction must remain verifiable: who changed what, when, and on what grounds? Otherwise the record won't stand up to an audit.

Clean handover to payroll

At the end of the month, the hours need to land in DATEV — without manual transfer and without an Excel bridge. We build the interface so the payroll team can take over the export directly.

What we build

A web app that's actually needed in daily practice.

Staff use it from reception, an API core feeds mobile clients at the same time.

Live stopwatch with automatic ArbZG break

If the statutory break is missing at clock-out, the server adds it as a labelled break entry — no silent truncation, a traceable correction with an "ArbZG" badge in the dashboard.

Shift planning with recurring roles

Staff × weekdays as a grid. A shift role like "Early shift Mon–Fri" is rolled out idempotently by the manager. Includes statutory holidays per German state.

Leave requests with approval flow

Separate fields for the request and the decision note. State changes with conflict detection, self-withdrawal possible. Company-wide leave as a bulk action.

Correction trail with audit stamp

Admins and managers can adjust entries — but only with a mandatory reason. Who, when and why land as an audit triple on the entry.

Team overview, balance & DATEV export

Planned vs. actual, cumulative balance, one-click CSV. For payroll there's a DATEV import/export with wage-type mapping.

Multi-tenant from day one

Each practice has its own tenant, fully isolated at the database level. Other tenants' data isn't "forbidden" to view — it simply doesn't exist for the wrong tenant. Including via the API.

Why these choices

Three decisions that consistently help in customer conversations.

Breaks are added, not hidden

A silent gross-time truncation would be easier to implement — but opaque and hard to explain the moment someone compares the app list with the clock-in list. Our labelled auto-break is visible, correctable and traceable in the audit.

Double-clicks fail visibly

If a manager double-clicks "Approve", the second click returns a conflict message rather than silently overwriting the approval stamp.

Self-hosted works

The stack needs no external cloud services. If you care about running on your own infrastructure — say, because patient data lives in the same network — you can run the app on your own server. Docker Compose, Postgres, done.

Technology

Tech stack in one sentence.

Django 5 + DRF on the backend, Vue 3 + Vite + TypeScript + Tailwind on the frontend, PostgreSQL for the database, JWT auth with e-mail verification, multi-tenancy as row-level isolation. Containerised with Docker Compose, self-hostable on any Linux VM.

Django 5Django REST FrameworkPostgreSQLVue 3TypeScriptTailwind CSSPiniaDocker
Where we are

Current state & roadmap

M3 in review: 193 backend tests green, frontend build clean. The pilot practice gets the system with the feature set described above.

Next up:

  • iOS client for staff with field appointments
  • Multi-factor authentication via django-allauth
  • Automatic e-mail notifications on leave decisions
Who it's for

This fits you if …

… you're an SME with 5 to 50 staff and you care more about the points below than a long feature list:

  • DATEV integration into your existing payroll workflow
  • ArbZG compliance, traceably documented
  • Multi-tenant data separation — including via API
  • Option to self-host (patient data within your own network)

Want to see the app?

We'll walk you through the pilot state in a short demo and discuss how it would slot into your payroll process.