Projektstatus: Im Einsatz

CIN - Ein KassenSichV 2020 kompatibles Open Source Kassensystem

Wir bauen dein quelloffenes Kassensystem mit integrierter technischer Sicherheitseinrichtung.

Lars Böttcher
#Runde11 #Anwendungen #Softwareinfrastruktur

Welche gesellschaftliche Herausforderung adressiert euer Prototyp?

Seit dem 30.08.2020 schreibt die Kassensicherungsverordnung (KassenSichV) vor, dass alle in Deutschland eingesetzten Kassensysteme eine aktivierte Technische Sicherheitseinrichtung (TSE) besitzen müssen. Diese sorgt für eine manipulationssichere Aufzeichnung aller Kassenvorgänge und verhindert eine nachträgliche Bearbeitung der Kassendaten.

Derzeit existiert jedoch noch kein quelloffenes Kassensystem, welches eine TSE integriert hat. Mit Inkrafttreten der KassenSichV sahen sich Unternehmen, die eigentlich auf freie Software und freie Betriebssysteme setzen, genötigt, auf proprietäre Kassensysteme zurückzugreifen. Viele Geschäfte sind zu Cloud-Lösungen gewechselt und geben seitdem ihre sensiblen Daten an die Cloud-Betreiber*innen weiter. Dies bedeutete nicht nur einen großen Umbau der internen IT-Strukturen, sondern auch ein großflächiges Abwenden von den Prinzipien freier Software.

Wie geht ihr das Problem an?

Die grundlegende Idee des CIN-Projektes ist die Schaffung eines modernen und professionellen Kassen- und Warenwirtschaftsökosystems in den Händen der digitalen Zivilgesellschaft. Dafür wird eine Client-Server-Architektur eingesetzt, wobei der Server die vom Kassensystem benötigten bzw. erzeugten Daten empfängt und in einer zentralen Datenbank speichert.

Die technische Umsetzung der Kommunikation zwischen den Clients und dem Server erfolgt über eine RESTful-JSON-API, während das GUI-Toolkit Kivy die Plattformunabhängigkeit der einzelnen Kassen realisiert. Zur Anbindung der TSE wird das Speichermodul der Bundesdruckerei verwendet- Als Anwendungsserver wird Gunicorn WSGI HTTP Server mit der ASGI_Erweiterung eingesetzt. Als Framework für die Implementierung der JSON-API wird Falcon verwendet. Der ORM-Mapper SQLAlchemy und das damit eng verbundene Versionierungstool für Datenbanken Alembic erlauben, hierbei verschiedene Datenbanken zu verwenden.

An wen richtet sich euer Tool?

Das Projekt soll kleine bis mittlere Unternehmen, welche einen Barverkauf anbieten, erreichen. Perspektivisch sollen auch Restaurants die Software einsetzen. Wichtig hierfür ist, dass die Kassensoftware plattformunabhängig auf dem Desktop sowie mobilen Endgeräten lauffähig ist.