Hinweis der Redaktion: Dieser Artikel wurde vom Einzelunternehmer Oskar K. eingereicht. Beim Produkt handelt es sich um Freie Software unter der AGPL‑3.0‑Lizenz. Die Anwendung kann selbst gehostet werden, oder steht gegen Bezahlung als SasS zur Verfügung.
Im Beitrag über Invoice Ninja ging es um Rechnungsstellung und darum, projektbezogene Arbeitszeiten abzurechnen. Im Alltag eines kleinen Betriebs kommt eine andere Frage hinzu: Wie behält man Arbeitsbeginn, Pausen, vereinbarte Wochenstunden und Abwesenheiten im Blick?
An dieser Stelle setzt Quoska an.
Vom Arbeitsbeginn bis zum Zeitkonto
Quoska ist eine Webanwendung für die Arbeitszeiterfassung in kleinen Betrieben und Teams. Mitarbeitende erfassen Arbeitsbeginn, Pausen und Feierabend im Browser. Die Anwendung lässt sich auch als PWA verwenden; ein eigener Linux-Desktop-Client ist für diesen Ablauf nicht nötig. In der Stempeluhr stehen der Tagesfortschritt und die Wochensumme. Die Zeitstempel der Stempelvorgänge entstehen auf dem Server. Projektübersicht
Ein sinnvoller erster Schritt beim Einrichten sind die Arbeitsmodelle. Quoska unterstützt Wochenpläne mit unterschiedlichen Arbeitstagen, etwa für Teilzeit. Urlaub, Krankheit und Freigaben gehören ebenfalls zum Funktionsumfang; Feiertage richten sich nach dem hinterlegten Bundesland. Damit lassen sich die erfassten Zeiten im Zusammenhang mit der jeweiligen Arbeitswoche betrachten. Team und Arbeitsmodelle
Zum Ausprobieren würde ich einen kleinen, fiktiven Ablauf wählen: Eine Person arbeitet montags bis donnerstags und hat freitags frei. Zunächst wird dieser Wochenplan hinterlegt. Danach werden ein Arbeitstag mit Pause und ein Urlaubsantrag durchgespielt. So lässt sich prüfen, ob die Darstellung zu den eigenen Abläufen passt, bevor echte Beschäftigtendaten ins System kommen.
Was passiert bei einer vergessenen Buchung?
Zur Zeiterfassung gehört auch, Fehler bearbeiten zu können. Quoska sieht dafür Korrekturanträge mit Begründung vor. Änderungen erhalten einen Urheber und einen Verlauf. Im Aktivitätsprotokoll können Zeitereignisse und Korrekturen nach Zeitraum, Person und Ereignistyp gefiltert werden. Für Mitarbeitende, Manager und Administratoren gibt es unterschiedliche Rollen. Funktionen und Grundsätze
Für Verantwortliche bündelt das Cockpit offene Aufgaben, Teamstatus und Arbeitszeitentwicklung. Dazu kommen Projekte, Berichte und ein CSV-Export für ausgewählte Zeiträume. Funktionsübersicht
Beim Testen lohnt sich deshalb ein zweiter Durchlauf mit vertauschten Rollen: zuerst eine Korrektur als Mitarbeiter beantragen, anschließend deren Bearbeitung aus Sicht der verantwortlichen Person ansehen. Dabei zeigt sich eher an einer langen Funktionsliste, ob Zuständigkeiten und Freigaben im eigenen Betrieb verständlich abgebildet sind.
Freier Quellcode und die Technik dahinter
Der Anwendungscode ist unter der AGPL-3.0 veröffentlicht. Quoska verwendet Next.js, React und TypeScript. Das Backend basiert auf Supabase mit PostgreSQL und Authentifizierung; PostgreSQL Row-Level Security dient der Trennung der Betriebsdaten. Selbst gehostete und verwaltete Instanzen verwenden dieselbe öffentlich einsehbare Codebasis. Quellcode und Architektur
Wer den Code lokal ausprobieren möchte, findet im README einen Schnellstart mit Node.js ab Version 24, Docker und der Supabase CLI. Nach dem Start des lokalen Supabase-Projekts müssen dessen Verbindungsdaten in die Umgebungskonfiguration übernommen werden. Anschließend startet die Webanwendung im Entwicklungsmodus. Dieser Weg eignet sich zum Kennenlernen und Entwickeln; er ist keine fertige Produktionsinstallation. Lokaler Schnellstart
Was Self-Hosting hier bedeutet
Die mitgelieferte Produktionskonfiguration enthält die Webanwendung und Caddy als Reverse Proxy. Ein Supabase-Backend ist in dieser Compose-Datei nicht enthalten. Die dokumentierte Betriebsreferenz nutzt dafür ein separates, verwaltetes Supabase-Projekt. Wer sämtliche Komponenten selbst betreiben möchte, muss daher zusätzlich das Supabase-Backend bereitstellen und warten. Ein einzelner Start der Quoska-Container genügt dafür nicht. Compose-Konfiguration und Betriebsreferenz
Zum dauerhaften Betrieb gehören außerdem die Einrichtung der Anmeldung und des Mailversands, Datenbankmigrationen sowie Backups und Wiederherstellung. Diese Aufgaben sollte man bei der Entscheidung für eine eigene Instanz mit einplanen. Betriebsreferenz
Quoska ist auch als verwaltete Cloud-Version verfügbar. Die Übersicht zu Open Source und Hosting beschreibt beide Wege. Für die Entscheidung würde ich zunächst den Arbeitsablauf prüfen und danach klären, wer Updates, Sicherungen und Störungen übernimmt. Eine offene Codebasis macht diese Betriebsaufgaben nicht überflüssig.
Ausprobieren mit dem eigenen Arbeitsmodell
Interessant ist Quoska für Teams, die neben erfassten Stunden auch Wochenpläne, Abwesenheiten und die Bearbeitung von Korrekturen zusammen betrachten möchten. Mein Vorschlag für einen ersten Test wäre deshalb: einen typischen Wochenplan anlegen, einen Tag mit Pause erfassen, eine Korrektur bearbeiten und den anschließenden Export ansehen.
Wer vorrangig selbst hosten möchte, sollte zusätzlich die Backend-Abhängigkeiten prüfen. Beides gehört zur Beurteilung: Passt der Ablauf zum Team, und lässt sich die Anwendung mit den vorhandenen technischen Kenntnissen dauerhaft betreiben?
Titelbild: https://quoska.de/
Quellen:
Invoice Ninja als Alternative zu Lexware und anderen Abrechnungsportalen
https://gnulinux.ch/invoice-ninja-als-alternative-zu-lexware-und-anderen-abrechnungsportalen
Quoska README
https://github.com/quoska-hq/quoska/blob/main/README.md
Quoska Produktions-Compose
https://github.com/quoska-hq/quoska/blob/main/compose.prod.yaml
Quoska Hetzner Deployment
https://github.com/quoska-hq/quoska/blob/main/docs/deployment-hetzner.md
