Herausforderung

Projekt- und kundenbasierte Aufwände erfassen wir in der Agentursoftware Revolver, diese verfügt jedoch über keine dedizierte Webschnittstelle, die wir unseren Kunden bereitstellen können. Zudem betreiben wir unsere Dokumentationen und vor allem unsere Aufgabenverwaltung mit Notion.

Unsere Revolver-Installation ist von außen aus Sicherheitsgründen nicht erreichbar – immerhin liegen dort neben der Zeiterfassung auch Kunden-, Rechnungs- und Personaldaten vor. Ein Zugriff auf dieses System von außen würde einige Maßnahmen bzgl. der Datensicherheit nach sich ziehen.

Zeiterfassung in der Agentursoftware

Zeiterfassung in der Agentursoftware

Um es zudem den Kunden so einfach wie möglich zu machen, wollten wir die Daten in einem System bereitstellen, dass sie in der Zusammenarbeit mit uns sowieso schon benutzen, so dass kein neuer Login und kein neues Lesezeichen notwendig wird. Zudem wird somit auch die Hemmschwelle reduziert – da sich der Kunde bereits in diesem System bewegt. Auf Notion können unsere Kunden zugreifen, so dass sie selber Aufgaben erstellen und den Status aktiver Aufgaben verfolgen sowie entsprechende Nachfragen kommentieren können. Gleichzeitig wollten wir unsere Abrechnung von Support-Projekten transparenter gestalten – so dass Kunden vorher wissen, was mit der nächsten Abrechnung auf sie zukommt. Zudem bekommen Kunden so eher ein Gefühl dafür, wie aufwändig bestimmte Anforderungen, die spontan an uns herangetragen werden, am Ende des Tages sind.

Somit war klar: Wir verbinden Revolver mit Notion. Letzteres ist von außen erreichbar – und durch ein Berechtigungskonzept entsprechend abgesichert. Zudem lassen sich durch einen Transfer in ein anderes System andere Fallstricke umschiffen: So stellen wir in Notion nur die Dauer einer Zeitbuchung, aber nicht die Start- und Endzeit, bereit – was in Bezug auf den Datenschutz unter Umständen problematisch sein könnte.

Die Verwendung von Notion hat hier auch weitere Vorteile: Dadurch, dass sich in Datenbanken in Notion Filter hinterlegen lassen, haben wir entsprechende Möglichkeiten geschaffen, so dass unsere Kunden die offenen Aufwände, die aktuell noch nicht abgerechnet wurden, einsehen können. Das ist besonders bei Kunden, die ein bestimmtes monatliches Budget vorsehen und bei darüber gehenden Aufwänden intern entsprechende Zustimmungen einholen müssen, sehr viel einfacher, als das manuell in Revolver zu ermitteln.

Umsetzung

Technisch entstand hier jedoch ein Problem: Notion bietet eine API, über die eine Datenbank in Notion (vereinfacht gesagt: eine strukturierte Tabelle) ausgelesen und gefüllt werden kann. Revolver bietet leider keine API – diese ist schon seit längerem für Version 9 angekündigt. Bleibt also nur der Weg über Datenbank. Revolver nutzt hierbei eine integrierte Postgresql-Datenbank. Der Zugriff darauf ist grundsätzlich möglich, jedoch verwendet Revolver eine gewisse Versionierung innerhalb der Tabellen- und Feldnamen, was dazu führt, das bereits das Schema eine mehr oder minder kryptische Benennung hat. In unserem Fall: x37f.

Revolver - Datenbankstruktur

Das zieht sich jedoch auch durch Tabellen und Feldnamen. Ohne genauere Analyse kann man mit den Daten in der Datenbank recht wenig anfangen:

Untitled

Auch die Felder innerhalb einer Tabelle wirken auf den ersten Blick bis auf wenige Ausnahmen sehr rätselhaft:

Untitled

Um dieser Problematik zu begegnen haben wir bereits vor längerem entsprechende Views angelegt, um den Datensichten und vor allem den Feldern sprechendere Namen zu geben. Somit haben wir etwa für die Kunden eine view_customers, die folgende Daten bereitstellt: