Planungs- und Abrechnungssystem

Ein eigenes Planungs- und Abrechnungssystem, komplett selbst entwickelt

Wir betreuen laufend Kundenwebsites — Systemaktualisierungen, wiederkehrende Prüfungen, Änderungen auf Zuruf. Angefangen hat dieses Projekt mit einer einfachen Frage: Wie behalten wir den Überblick darüber, was wann bei welchem Kunden ansteht? Entstanden ist daraus über viele Ausbaustufen ein vollständiges Arbeitswerkzeug mit vierzehn Bereichen, das wir täglich benutzen — vom Wartungsplan über die Zeiterfassung bis zum fertigen Leistungsnachweis als PDF. Alles davon haben wir selbst entwickelt, in PHP und MySQL, ohne fertige Bausteine.

Projektdaten:

eigenes Projekt
Individualsoftware, Eigenentwicklung
PHP und MySQL, ohne Fremdbibliotheken für die Kernfunktionen
gewöhnliches Webhosting, kein eigener Server
im Browser und als installierbare App auf dem Smartphone
14 Funktionsbereiche, wird stetig weiter ausgebaut
Push-Benachrichtigungen nach dem Web-Push-Standard, PDF-Erzeugung mit automatischem Seitenumbruch, fortlaufende Belegnummerierung, verschlüsselte Ablage von Zugangsdaten
serverseitige Bereinigung aller Eingaben, verschlüsselte Speicherung sensibler Daten

Wie aus einer Übersicht ein System wurde

Der erste Bedarf war bescheiden: eine Liste, welche Wartungsaufgabe bei welcher Website wann fällig ist. Bei einer Handvoll betreuter Seiten behält man das im Kopf, bei dreißig nicht mehr.

Sobald diese Liste stand, ergab sich die nächste Frage von selbst. Wenn wir wissen, was zu tun war — wie lange hat es gedauert? Also kam die Zeiterfassung dazu. Und wenn die Zeiten erfasst sind, sollen sie auch abgerechnet werden, ohne dass jemand sie in ein anderes Programm überträgt. Also die Leistungsnachweise. Wer Leistungsnachweise erstellt, braucht Kundenstammdaten mit Stundensätzen. Wer Kunden verwaltet, will auch deren Zugangsdaten sicher hinterlegen, Notizen ablegen, Termine planen, Dateien versenden.

Jede Antwort brachte die nächste Frage mit. Genau so entstehen Werkzeuge, die tatsächlich zur Arbeit passen — und genau das unterscheidet sie von Standardsoftware, bei der man den Arbeitsablauf ans Programm anpasst statt umgekehrt.

Was das System kann

Planen: was wann ansteht

Wiederkehrende Wartungsaufgaben mit zwei Rhythmus-Typen — alle X Monate oder nach dem Muster „jeden ersten Freitag im Monat”, was sich mit einem einfachen Datumsintervall nicht abbilden lässt. Dazu Kundentermine mit Art und Status, eine Monatsansicht, in der alle Termintypen farblich unterschieden sind, und eine priorisierbare Aufgabenliste für alles, was zwischendurch anfällt.

Erfassen und abrechnen

Zeiterfassung in drei Varianten: direkte Eingabe, Start- und Endzeit mit Pause, oder Stoppuhr, die Pausenzeiten selbst abzieht. Jeder Kunde hat seinen Stundensatz hinterlegt. Aus den erfassten Zeiten entstehen Leistungsnachweise als PDF mit fortlaufender Nummer und dauerhafter Archivierung. Für kleine Abrechnungen gibt es alternativ eine kopierbare Textzusammenfassung. Daneben verwaltet das System die laufenden Abonnements mit Betrag, Rhythmus, Vertragsbeginn und Kündigungsfrist.

Wissen, wo was liegt

Verschlüsselte Verwaltung von Zugangsdaten mit Passwortgenerator. Notizen mit einfacher Textformatierung, Kategorien und Kundenzuordnung. Dateiversand an Kunden über Links mit Ablaufdatum, für große Dateien mit eigenem Upload-Ordner. Und eine zentrale Kundenverwaltung, in der zu jedem Kunden die komplette Aktivität zusammenläuft — Wartungen, Termine, Zeiten, Notizen, Abrechnungen. Über alle Bereiche hinweg gibt es eine filterbare Historie.

Dabei haben, auch unterwegs

Das System lässt sich als App auf dem Smartphone installieren und meldet sich mit echten Push-Benachrichtigungen, wenn etwas ansteht. Nicht per E-Mail, die zwischen fünfzig anderen untergeht, sondern als Mitteilung auf dem Sperrbildschirm.

Drei Entscheidungen, die den Unterschied machen

Push-Benachrichtigungen ohne fertige Bibliothek

Web-Push funktioniert nur mit verschlüsselten Nachrichten nach einem festgelegten Verfahren. Üblicherweise nimmt man dafür eine fertige Bibliothek — die sich auf unserem Hosting-Paket aber nicht ohne Weiteres einbinden ließ, weil der übliche Installationsweg dort nicht zur Verfügung steht.

Also haben wir das vorgeschriebene Verfahren direkt in PHP umgesetzt. Wichtig dabei: Wir haben nichts eigenes erfunden. Web-Push ist ein öffentlich dokumentierter Standard mit genau festgelegten Verfahren, und umgesetzt wurden ausschließlich diese. Eigene Verschlüsselungsverfahren zu entwickeln wäre grob fahrlässig; einen etablierten Standard sauber zu implementieren, wenn die Fertiglösung nicht passt, ist Handwerk. Das war der aufwendigste Teil des gesamten Projekts.

Belegnummern, die sich nicht ändern lassen

Leistungsnachweise bekommen eine fortlaufende Nummer und werden dauerhaft archiviert. Eine bereits abgerechnete Zeitbuchung kann nicht versehentlich ein zweites Mal in einen Nachweis geraten — das System verhindert es. Nachträglich Positionen ergänzen geht, spurloses Löschen nicht.

Das klingt nach einem Detail, ist aber der Punkt, an dem sich ein Werkzeug von einer Tabelle unterscheidet. Eine Tabelle lässt jede Änderung zu, und deshalb kann man sich auf sie nicht verlassen.

Pfeil-Buttons statt Drag-and-Drop

Die Aufgabenliste ließ sich ursprünglich per Ziehen sortieren. Das sah besser aus, funktionierte aber nicht in jedem Browser und auf jedem Gerät gleich zuverlässig. Wir haben es wieder entfernt und durch schlichte Pfeil-Schaltflächen ersetzt.

Eine Funktion wieder herauszunehmen, in die Arbeit geflossen ist, fällt schwer. Aber ein Werkzeug, das man täglich benutzt, muss vor allem eines sein: verlässlich. Was in neun von zehn Fällen elegant ist und im zehnten nicht reagiert, ist im Alltag schlechter als etwas Schlichtes, das immer geht.

Läuft auf gewöhnlichem Hosting

Das gesamte System läuft auf einem normalen Webhosting-Paket. Kein eigener Server, keine Cloud-Dienste, keine monatlichen Lizenzgebühren, keine Abhängigkeit von einem Anbieter, der seine Preise erhöht oder das Produkt einstellt. Die Daten liegen dort, wo auch die Websites liegen.

Diese Einschränkung war zunächst ein Hindernis — sie hat den Aufwand bei den Push-Benachrichtigungen erst verursacht. Im Ergebnis ist sie der wichtigste Vorteil: Was auf gewöhnlichem Hosting läuft, kann jeder Betrieb betreiben, ohne eine IT-Abteilung dafür zu haben.

Das Ergebnis

Wir arbeiten seitdem an einer Stelle statt in fünf. Was ansteht, meldet sich von selbst auf dem Handy. Zeiten werden erfasst, während gearbeitet wird, und nicht abends aus dem Gedächtnis rekonstruiert. Aus den erfassten Zeiten entsteht der Leistungsnachweis mit zwei Klicks, und keine Stunde wird zweimal berechnet oder vergessen. Für ein Zwei-Personen-Büro ist das der Unterschied zwischen Verwaltung, die Zeit kostet, und Verwaltung, die nebenbei läuft.

Für unsere Kunden ist das Projekt vor allem ein Beleg: Wir bauen nicht nur Websites, sondern auch die Werkzeuge dahinter. Wenn in Ihrem Betrieb etwas in Tabellen, Zetteln und Erinnerung verwaltet wird, was besser in einem System aufgehoben wäre, ist das genau diese Art von Aufgabe.

Und bei Ihnen?

Wir entwickeln Software nicht nur für uns. Interne Werkzeuge, Kundenportale, Buchungs- und Auswertungssysteme, Schnittstellen zwischen Programmen, die nicht zusammenarbeiten — wenn es das, was Sie brauchen, nicht fertig zu kaufen gibt, schauen wir uns an, was sich dafür entwickeln lässt.

Seit 2008 sind wir als engagierter Web‑ und E‑Commerce‑Dienstleister in der Nähe von Zwickau, Sachsen aktiv und entwickeln für Selbstständige und Unternehmen moderne, zukunftsfähige Lösungen – von individuellen WordPress‑Websites über WooCommerce‑Onlineshops bis hin zu gezieltem Online‑Marketing.

Talweg 1
08134 Langenweißbach
Tel.: 037603 / 581457
(Montag - Freitag)
Tel.: 0160 / 92616687
(Montag - Freitag)
Montag - Freitag
(8.00 - 17.00 Uhr)