Kako narediti aplikacijo za evidenco časa: štoperice, časovnice in poročila
Aplikacija za evidenco časa beleži, kdo je delal na čem, kako dolgo in ali je ta čas mogoče obračunati. Za gradnjo potrebujete stranke in projekte, na katere se čas nanaša, štoparico, ki preživi zaprt brskalnik, način za ročno dodajanje in popravljanje vnosov, tedensko časovnico in poročila, ki surove vnose spremenijo v vsote. Orodje za gradnjo aplikacij z AI lahko iz enega jasnega poziva ustvari delujočo prvo različico. Odločitve, ki štejejo, so pravila: zaokroževanje, kdo sme kaj urejati, kdaj je teden zaklenjen in kaj šteje kot obračunljivo.
Odločite, za kaj beležite čas
Ista aplikacija je videti drugače glede na razlog, zaradi katerega obstaja:
- Obračunavanje strankam. Ure po stranki, postavka na osebo ali projekt in čist izvoz za račune. Najpomembnejša sta natančnost in sledljivost.
- Plačilo urno plačanega osebja. Prijava in odjava, odmori, pravila za nadure in potrditev vodje. Veljajo lokalna delovna pravila, zato preverite, katere evidence morate hraniti.
- Razumevanje, kam odteče čas. Osebni ali ekipni vpogled, ocene proti dejanskemu času. Pri tem je hitrost vnosa pomembnejša od odobritvenih tokov.
Za prvo različico izberite eno glavno nalogo. Računovodska evidenca samostojnega prevajalca in ura za zaposlene v skladišču si delita časovnik in zelo malo drugega.
Kaj potrebuje aplikacija
Podatki
| Tabela | Ključna polja |
|---|---|
| Stranke | Ime, privzeta urna postavka, aktivna da/ne |
| Projekti | Stranka, ime, proračun v urah (neobvezno), privzeto obračunljivo da/ne |
| Naloge ali kategorije | Projekt, ime (oblikovanje, sestanki, podpora) — na začetku neobvezno |
| Časovni vnosi | Oseba, projekt, naloga, čas začetka, čas konca, trajanje, opomba, obračunljivo da/ne, stanje (osnutek, poslano, odobreno), zaračunano da/ne |
| Osebe | Ime, e-pošta, vloga, stroškovna ali obračunska postavka |
Pri vsakem vnosu shranite čas začetka in konca in trajanje izpeljite iz njiju. Vnosi, vtipkani kot „2 h 15 min“ brez časov, lahko shranijo samo trajanje, vendar ohranite datum.
Strani
- Štoparica in danes: velik gumb za začetek/zaustavitev, izbirnik projekta in današnji vnosi pod njim.
- Tedenski pogled: mreža s projekti po levi in dnevi čez vrh, kamor ljudje vpisujejo ure neposredno. Mnogi raje to kot štoperice.
- Poročila: ure po stranki, projektu in osebi za obdobje, z razdelitvijo na obračunljivo in neobračunljivo ter izvozom v CSV.
- Skrbniški del: upravljanje strank, projektov, oseb in postavk.
Dovoljenja
Napišite, kdo sme kaj narediti, preden začnete graditi:
- Ljudje vidijo in urejajo svoje vnose.
- Vodje vidijo vnose svoje ekipe in odobravajo tedne.
- Samo skrbniki spreminjajo postavke, in po možnosti samo skrbniki sploh vidijo postavke.
- Nihče ne ureja vnosa, ko je bil odobren ali zaračunan, razen če ga skrbnik ponovno odpre.
Zadnje pravilo naredi poročila zanesljiva. Naš vodnik o dodajanju prijave v aplikacijo pokriva prijavo, nadzor dostopa na podlagi vlog pa vloge.
Odločitve in kompromisi
Štoparica, ročni vnos ali oboje
Štoparice so natančne, če jih ljudje ne pozabijo zagnati, kar pa ni vedno tako. Ročni vnos je hiter za ljudi, ki izpolnijo svoj teden v petek. Večina ekip potrebuje oboje, plus način za urejanje vnosa štoparice naknadno. Če zgradite samo eno, zgradite mrežo tedna; je preprostejša in pokrije primer, ko ste pozabili zagnati štoparico.
Kje teče aktivna štoparica
Štoparica, ki šteje v brskalniku, ob zaprtju zavihka izgubi vse. Ko nekdo pritisne začetek, shranite čas začetka v podatkovno bazo, prikaz pretečenega časa pa izračunajte tako, da od zdaj odštejete ta čas. Štoparica nato teče skozi osvežitve, prenosnike in telefone. Odločite, ali lahko ena oseba naenkrat zažene dve štoparici. Običajno ne: zagon nove ustavi staro.
Zaokroževanje
Uveljavljena pravila so zaokroževanje posameznega vnosa navzgor na najbližjih 6, 15 ali 30 minut. Natančne čase hranite v podatkovni bazi in zaokroževanje uporabljajte samo v poročilih in računih. V poročilih prikažite obe številki, da nihče ni presenečen.
Zaklepanje in odobritve
Brez zaklepanja se lahko ure, ki so bile zaračunane prejšnji mesec, spremenijo, potem ko je račun že odšel. Preprost model: ljudje oddajo teden, vodja ga odobri, odobreni vnosi postanejo samo za branje. Če račune izdajate iz aplikacije, označite vnose kot zaračunane, da jih ni mogoče zaračunati dvakrat.
Časovni pasovi in polnoč
Čase hranite v UTC in jih prikazujte v časovnem pasu osebe. Odločite se, kateremu dnevu pripada vnos, ki teče od 23.00 do 1.00. Običajni odgovor je dan, na katerega se je začel.
Prvi poziv, ki deluje
Naredi aplikacijo za evidenco časa za studio za oblikovanje s šestimi zaposlenimi. Podatki: stranke (ime, urna postavka), projekti (stranka, ime, proračunske ure) in časovni vnosi (oseba, projekt, začetek, konec, opomba, obračunljivo da/ne, stanje osnutek/poslano/odobreno). Strani: stran Danes s štoparico za začetek/zaustavitev in izbirnikom projekta, ki shrani čas začetka v podatkovno bazo, da štoparica preživi osvežitev; stran Teden s projekti kot vrsticami in ponedeljkom do nedelje kot stolpci, kamor ljudje neposredno vpisujejo ure; stran Poročila, ki prikazuje ure po stranki, projektu in osebi za obdobje, razdeljene na obračunljive in neobračunljive, z izvozom v CSV; in skrbniška stran za stranke, projekte in osebe. Na osebo lahko teče samo ena štoparica. Odobrenih vnosov ni mogoče urejati. Časi se hranijo v UTC, prikazani pa v časovnem pasu uporabnika. Čist, hiter dizajn, primeren za tipkovnico.
Koraki gradnje
- Najprej projekti in ročni vnosi. Stranke, projekti, obrazec za dodajanje vnosa in seznam. Poskrbite, da se vsote seštejejo.
- Štoparica. Začetek, zaustavitev, ena aktivna štoparica na osebo, shranjen čas začetka. Preizkusite tako, da zaženete štoparico, zaprete zavihek in ga ponovno odprete.
- Tedenska mreža. Vpis ur v celico ustvari ali posodobi vnos.
- Prijava in vloge. Dodajte ju, preden jo uporabljajo pravi ljudje, da nihče po nesreči ne vidi postavk ali tujih vnosov.
- Oddaja in odobritev. Tedenska oddaja, odobritev vodje, samo za branje po odobritvi.
- Poročila in izvoz. Obdobje, združevanje, razdelitev obračunljivo/neobračunljivo, CSV.
- Postavke in priprava na račune, če zaračunavate strankam. Ustvarjanje računov ohranite v ločenem koraku ali aplikaciji; glejte kako narediti aplikacijo za izdajanje računov.
- Preizkusite robne primere. Vnos čez polnoč, teden s prehodom na poletni čas, dve štoparici zagnani z dveh naprav, urejanje odobrenega vnosa.
Pogoste napake
- Štetje časa samo v brskalniku. Deluje v predstavitvi in v resnični rabi izgublja ure.
- Zaokroževanje shranjenih vrednosti. Natančnega časa nikoli ne boste mogli dobiti nazaj.
- Brez zaklepanja odobrenih tednov. Poročila se nehajo ujemati z računi.
- Vsi vidijo postavke vseh. Postavke skrijte po vlogah že od prvega dne.
- Preveč obveznih polj. Če vpis časa traja več kot nekaj sekund, ljudje nehajo, podatki pa postanejo fikcija. Opis in nalogo na začetku naredite neobvezna.
- Gradnja polnega vodenja projektov znotraj evidence. Projekte ohranite kot preproste oznake. Če potrebujete naloge, table in roke, je to orodje za vodenje projektov, ločen projekt.
Kdaj je boljša gotova rešitev
Če vaša ekipa potrebuje štoparico, tedenski pogled in poročila, namenski izdelki za evidenco časa to že dobro opravljajo. Prinašajo tudi stvari, ki bi jih bilo treba resno graditi: aplikacije za namizje in telefone, zaznavanje nedejavnosti, integracije s koledarjem in orodji ter opomnike za izpolnjevanje časovnic. Za urno plačilo bo orodje, narejeno zanj, bolj varno obravnavalo odmore, nadure in vodenje evidenc kot prva lastna različica.
Lastno rešitev zgradite, kadar vaša pravila ne ustrezajo, kadar želite ure povezati s podatki, ki jih že hranite (delovni nalogi, naročila, pogodbe o zadrževanju, računi), kadar se cena na sedež pri veliki ekipi nabira ali kadar je evidenca časa del večjega notranjega orodja. Naš vodnik gradnja proti nakupu programske opreme obravnava ta kompromis, če pa so vaše ure zdaj v deljeni preglednici, glejte kako spremeniti preglednico v aplikacijo.
Gradnja s Mythexom
V Mythexu opišete sledilnik v klepetu, agent pa ga zgradi v živem predogledu. Ko je treba shranjevati vnose, doda namensko bazo Postgres; to lahko zahtevate neposredno ali vtipkate /database. Primer uporabe za interno orodje v dokumentaciji predlaga, naj za prvo različico izberete en boleč korak, kar se tukaj ujema: najprej vnosi in mrežo tedna, nato štoperice in odobritve.
Prijavo za vašo ekipo dodate s svojim pristopom za avtentikacijo (recept za dodajanje prijave). Računi v Mythexu so namenjeni ljudem, ki gradijo, ne ljudem, ki bodo aplikacijo uporabljali. Ko deluje osnovni tok, agent z /test klikne skozi predogled (zažene štoparico, doda vnos, zažene poročilo) in sporoči, kaj se pokvari. Za vizualno izhodišče si oglejte predloge aplikacij.
Vprašanja
Katere funkcije potrebuje aplikacija za evidenco časa?
Seznam strank in projektov, štoparico z začetkom in zaustavitvijo, način, da ročno dodate ali popravite vnose, tedenski pregled časovnice in poročilo ur po projektu in osebi. Odobritve, obračunske postavke in izvozi pridejo kasneje.
Kako preprečim, da bi štoparica izgubila čas, ko se brskalnik zapre?
Čas začetka shranite v podatkovno bazo takoj, ko se štoparica zažene, trajanje teka pa izračunavajte iz tega shranjenega časa. Tako zaprtje zavihka, osvežitev strani ali preklop na drugo napravo ne izgubi ničesar.
Ali naj se čas zaokrožuje?
Natančne čase začetka in konca shranite, zaokroževanje pa uporabite samo v poročilih in računih. Tako lahko pravilo zaokroževanja kasneje spremenite, ne da bi prepisali zgodovino.
Ali se splača graditi lastno evidenco časa?
Običajno samo, kadar so vaša pravila nenavadna ali če želite ure povezati z drugimi podatki, ki jih že hranite, na primer z deli, strankami ali računi. Za preproste štoperice in poročila je obstoječe orodje cenejše in hitrejše.