Czas pracy na własnym serwerze: Kimai w praktyce
Juliusz Tomeczek,
W poprzednim odcinku tej serii opisałem Plane, czyli program, w którym prowadzę projekty. Zapowiedziałem tam również narzędzie do rozliczania czasu pracy, do którego trafiają projekty i zadania z Plane. Jest nim Kimai (otwiera się w nowej karcie), program open source do rejestracji czasu pracy. Można go zainstalować na własnym serwerze albo korzystać z usługi w chmurze twórców.
W tym artykule opisuję, jak korzystam z Kimai, jakie programy Kimai zastępuje i jakie ma ograniczenia. Nie podaję nazw klientów, stawek ani ustawień serwera, bo z takich szczegółów dałoby się odtworzyć moje zaplecze techniczne i rozliczenia z klientami.
Jak Kimai porządkuje wpisy czasu
Kimai porządkuje wpisy czasu na trzech poziomach. Najwyżej stoi klient, pod nim projekt, a pod projektem czynność, czyli konkretny rodzaj pracy albo zadanie. Każdy wpis czasu wskazuje projekt i czynność oraz ma godzinę rozpoczęcia, godzinę zakończenia i opis. Czas można rejestrować stoperem, który włączasz na początku pracy i zatrzymujesz na końcu, albo wpisać go ręcznie po fakcie.
Do każdego poziomu da się przypisać stawkę godzinową i budżet, liczony w godzinach albo w pieniądzach. Raporty pokazują czas według osób, klientów, projektów i czynności w wybranym okresie. Z zapisanych godzin Kimai potrafi też przygotować fakturę według szablonu i wyeksportować dane do pliku. Ma również interfejs API, przez który inne programy mogą odczytywać dane z Kimai i zapisywać w nim nowe.
Projekty i zadania przychodzą z Plane
Projektów i czynności nie zakładam w Kimai ręcznie. Gdy zakładam nowy projekt w Plane, program do automatyzacji n8n tworzy w Kimai projekt o tej samej nazwie, a każda nowa karta zadania staje się tam czynnością. Godziny zapisuję więc zawsze przy tym samym projekcie i zadaniu, które widzę w Plane, bo nikt nie przepisuje nazw ręcznie.
(powiększ)Dzięki temu po zamknięciu zadania wiem, ile czasu naprawdę zajęło. Zapis czasu służy mi przede wszystkim do oceny, czy projekt się opłaca, a dopiero w drugiej kolejności do rozliczeń.
Czas pracy z agentami AI
Odkąd kod moich stron piszą agenci sztucznej inteligencji, liczenie czasu się skomplikowało. Agent pracuje także wtedy, gdy ja zajmuję się czymś innym, a moja praca polega coraz częściej na planowaniu, zlecaniu i sprawdzaniu. Dlatego nie mierzę już samego czasu przy klawiaturze. Mierzę całe bloki pracy nad zadaniem. Pierwszy blok trwa od chwili, w której zaczynam planować zadanie, do chwili, w której przekazuję zlecenie agentowi. Drugi zaczyna się, gdy agent oddaje raport z wykonanej pracy, a kończy, gdy tę pracę sprawdzę i przyjmę. Czas, w którym agent pracuje sam, zapisuję osobnym wpisem. Taki wpis pokrywa się w czasie z moją pracą nad czymś innym, dlatego suma godzin z jednego dnia bywa większa niż 24. Widać to na wykresie z jednego tygodnia: dwa słupki sięgają powyżej 24 godzin. Przy jednym z projektów porównałem oba sposoby liczenia mojego czasu. Czas liczony tylko przy klawiaturze był ponad dwa razy krótszy od czasu liczonego blokami.
(powiększ)Przyjąłem też dwie zasady. Pierwsza: o tym, ile trwała praca, rozstrzyga zapis w Kimai. Notatki i komentarze w zadaniach mogą przytaczać godziny z Kimai, ale gdy podają inne godziny niż Kimai, poprawiam notatkę albo komentarz, a nie zapis czasu. Druga: agent sztucznej inteligencji może przygotować wpisy czasu na podstawie przebiegu pracy, ale nie zapisuje ich bez mojej zgody. Najpierw pokazuje mi listę z projektem, czynnością, godzinami i opisem każdego wpisu, a zapisuje wpisy dopiero wtedy, gdy tę listę potwierdzę.
Co Kimai zastępuje i ile kosztuje
Kimai zainstalowany na własnym serwerze zastępuje abonamentowe programy do rejestracji czasu pracy. Twórcy oferują go również w abonamencie, jako usługę w swojej chmurze na serwerach w Niemczech. Opłata jest tam naliczana od każdej osoby co miesiąc, a przed zakupem można korzystać z usługi bezpłatnie przez trzydzieści dni. Wersję do instalacji na własnym serwerze każdy może pobrać i zainstalować bezpłatnie, bo Kimai jest programem open source na licencji AGPL. Przy własnej instalacji płacę więc tylko za serwer, który i tak utrzymuję, i poświęcam czas na aktualizacje.
Ważniejsze od kosztu jest to, gdzie leżą dane. Wpisy czasu pokazują, dla kogo pracuję, nad czym i ile godzin zajmuje mi każde zadanie. Gdy Kimai działa na moim serwerze, te informacje nie trafiają na serwery twórców programu, a ja sam decyduję, kto ma do nich dostęp i jak długo je przechowuję.
Ograniczenia Kimai
Własna instalacja wymaga doświadczenia. Dokumentacja Kimai mówi wprost, że utrzymywanie programu na własnym serwerze wymaga wiedzy technicznej, a błędy mogą skończyć się utratą danych, lukami w zabezpieczeniach albo przestojem. Osobom bez doświadczenia w administrowaniu serwerami twórcy polecają swoją chmurę.
Część funkcji wymaga płatnych wtyczek. Rejestracja czasu, stawki, budżety, raporty, faktury i eksport należą do podstawowej, bezpłatnej wersji programu. Ewidencję godzin pracy z nadgodzinami, urlopami i zwolnieniami lekarskimi, rozliczanie wydatków oraz dodatkowe pola we wpisach trzeba przy instalacji na swoim serwerze dokupić jako wtyczki w sklepie twórców, a w chmurze są one dostępne w droższym abonamencie.
Kimai potrzebuje określonej bazy danych. Program działa tylko z bazą MariaDB albo MySQL. Jeśli pozostałe programy na serwerze korzystają z innej bazy, dla Kimai trzeba uruchomić osobną bazę, a to jeszcze jeden program do aktualizowania i kolejne dane, z których trzeba robić kopie zapasowe.
Połączenie z innymi programami trzeba sprawdzać. U mnie Kimai w pewnym momencie, najpewniej po jednej z aktualizacji, zaczął odrzucać nazwy zadań zawierające niektóre znaki, na przykład cudzysłów. W ciągu około sześciu tygodni kilkanaście zadań z Plane nie trafiło z tego powodu do Kimai, a ich brak zauważyłem dopiero przy przeglądzie serwera. Brakujące zadania uzupełniłem, a n8n od tamtej pory usuwa z nazwy zadania takie znaki, zanim wyśle ją do Kimai. Po każdej aktualizacji warto więc sprawdzić, czy nowe zadanie z Plane pojawia się w Kimai.
Program nie zmierzy czasu za mnie. Kimai zapisze każdy wpis, ale nie przypomni o zatrzymaniu stopera i nie rozstrzygnie, do którego zadania należy godzina spędzona na dwóch sprawach naraz. Zasady liczenia czasu trzeba ustalić samodzielnie i trzymać się ich bez pomocy programu.
Czy mała firma potrzebuje własnego Kimai?
Osobie pracującej samodzielnie albo kilkuosobowemu zespołowi, który nie ma własnego serwera, wystarczy chmura twórców. Własna instalacja ma sens w trzech sytuacjach: gdy zespół rośnie i opłata zależna od liczby osób robi się odczuwalna, gdy firma nie chce trzymać u zewnętrznego dostawcy informacji o klientach i stawkach oraz gdy rejestracja czasu ma się łączyć z innymi programami na tym samym serwerze, na przykład z programem do prowadzenia projektów.
Własny serwer z programami dobranymi do pracy firmy opisuję na stronie Własny serwer zamiast abonamentów.
Co dalej w tej serii
W następnym odcinku opiszę CRM, czyli program, w którym prowadzę ewidencję klientów i kontaktów z nimi. Ten program także działa na moim serwerze.
Tematy:
Ten tekst powstał z użyciem narzędzi sztucznej inteligencji, bo tak pracuję na co dzień i tego uczę. Każde twierdzenie w nim sprawdziłem i odpowiadam za nie z imienia i nazwiska. Rysunki w tym dziale powstały tak samo: są wektorowe, napisane jako kod przy tej samej pomocy. Zrzuty ekranu pokazują prawdziwe programy i robię je sam.
Juliusz Tomeczek, JT CONSULTING