11 ms·
Ask HN: What are good self hosted time tracking software for consultants?
Or is there a list of them somewhere?
- loloquwowndueo 4y agoI like Watson https://github.com/TailorDev/Watson https://github.com/TailorDev/Watson and it used to have a web backend (crick) but that seems to be abandoned.
- cpach 4y ago+1 for Watson. Very good and efficient UI (CLI). Easy to extend with shell aliases (or shell scripts).
- petecooper 4y agoI use kimai2: https://github.com/kevinpapst/kimai2 https://github.com/kevinpapst/kimai2
- h4kor 4y agoNot self-hosted but running locally, I use https://github.com/projecthamster https://github.com/projecthamster
- jamessb 4y ago> Or is there a list of them somewhere? awesome-selfhosted lists 4 self-hosted systems: https://github.com/awesome-selfhosted/awesome-selfhosted#time-tracking https://github.com/awesome-selfhosted/awesome-selfhosted#tim... (ActivityWatch, Kimai, TimeTagger, Traggo)
- chrisandchris 4y agoCan vote for Kimai!
- cwmoore 4y agoIf you work in a terminal using git, why not track time in a terminal using git? https://gitime.readthedocs.io/en/latest/ https://gitime.readthedocs.io/en/latest/
- nottorp 4y agoAny spreadsheet :) The advantage being that you can always stick a random formula in for whatever you want to find out right now and you didnt need before. It wont generate your invoices But Î find that a minor problem. How many customers do you invoice per month anyway?
- Tijdreiziger 4y agoIf you faff around with macros for a bit, it can generate invoices too :)
- 4RealFreedom 4y agoThis is what I've always done. Spreadsheets do everything I need.
- gwbas1c 4y agoI just add a second sheet that is basically a copy & paste invoice. By the 2nd or 3rd invoice it hardly took me more than a minute.
- Nurw 4y agoI once integrated IFTTT with google sheets to automatically add a line to a spreadsheet when I entered and exited work. And then made some more pages in the sheet in order to have it all neat and orderly for timekeeping. A huge advantage was that I could correct small mistakes whenever I wanted, so it didn't matter much if the integration itself was a bit spotty.
- lolinder 4y agoWith a few intermediate sheets and FILTER, UNIQUE, SUMIFS, and VLOOKUP, you can have it generate invoices too.
- nottorp 4y agoI use SUMIF at least. But i paste the totals in word processor docs. It's my 1st of the month morning coffee ritual. Pretty good for morale.
- 4y ago
- jolmg 4y agoorg-mode in Emacs. On a headline representing a task or event, `C-c C-x C-i` to clock-in, `C-c C-x C-o` to clock-out. The agenda view includes what you've clocked in to during each day, and from it, `R` can give you a clock report for the timeframe that the agenda view is showing.
- cranium 4y agoI also use org to clock my hours. The clocktable makes it even better to aggregate/report your hours. You can look at a 1-month block separated by week (I report my hours weekly) with the granularity you want. A very versatile tool! https://orgmode.org/manual/The-clock-table.html https://orgmode.org/manual/The-clock-table.html
- fhars 4y agoAnd then you can give each headline a uniq id, write some elisp, call (server-start) and add a lot of org-protocol://clock-in?id=12345678-90ab-cdef-afb2-91ad9c6049c9 actions to your StreamDeck to clock into tasks without actually having to find them in your org file.
- jcpst 4y agoClocking in an out of any headline in the document tree is a great feature.
- Cardinal7167 4y agoDang, had no idea that org-mode had that feature. TIL! https://orgmode.org/manual/Clocking-commands.html https://orgmode.org/manual/Clocking-commands.html
- kwhitefoot 4y agoEmacs Org mode timestamps.
- arachno1999 4y agoI‘m using Tyme 3 and am totally happy with it.
- pabe 4y agoOdoo Timesheets: https://www.odoo.com/en_US/app/timesheet-features https://www.odoo.com/en_US/app/timesheet-features Track time on different tasks, invoice later on. Edit: Mobile App online available with paid subscription.
- INTPenis 4y agoI find that it doesn't matter which app you use because at the end of the day you need the discipline to update your time tracking when starting and ending your work time. That's my biggest issue. I work in a chaotic way.
- ghh 4y agoYes, see ManicTime [0], Timing [1] and ActivityWatch [2] for that. They passively record what you do, on computer and phone, and at the end of the day (or when invoicing is due) allow you to link what you did to projects. Use ManicTime if you're mostly on Windows, Timing appears to be good if you're mostly on OS X, and ActivityWatch takes the same approach in an open-source cross-platform project. I have ManicTime set to record a screenshot every 15 seconds, and record window title and document paths on every app switch. Invoicing still takes time, but knowing what you did and when helps to take all the guesswork out of it, especially for chaotic days. [0] https://www.manictime.com/ https://www.manictime.com/ [1] https://timingapp.com/ https://timingapp.com/ [2] https://activitywatch.net/ https://activitywatch.net/
- yshavit 4y agoI don't know if shameless plugs are allowed here (sorry if not!), but I have an open source project for Mac that's aimed at exactly this problem. Every ~10 minutes (configurable), it pops up an unobtrusive prompt to ask you what you're working on right now. It then has some basic reporting and aggregating functionality. It's not specifically targeted for consulting / invoicing (I made it because I often ended my day wondering what the heck I'd done all day), and it's sometimes a tad rough around the edges, but it could help. https://whatdid.yuvalshavit.com https://whatdid.yuvalshavit.com / https://github.com/yshavit/whatdid https://github.com/yshavit/whatdid (I'm newish to HN, so please let me know if this message is inappropriate!)
- INTPenis 4y agoFor my specific work flow I was actually thinking of scraping all my git repos to see my activity. Because I'm always working in a git repo, or mostly. I actually already did try using some sort of recursive git status/log viewer that I can't remember the name of now. Didn't keep it up but I think a program that scrapes my git repos, and perhaps aggregates with other activity logs, would be the best fit.
- tedtms 4y agoI went back and forth between a couple of them -- Kimai2 and InvoiceNinja, back when Ninja was still on v4. Ultimately, every time tracking system does things a little differently, and after switching back and forth again, I've settled back on InvoiceNinja v5 (https://invoiceninja.com/ https://invoiceninja.com/). If all you need is time tracking, Kimai2 and several others will do the job just fine. But I've found in my line of work that it's useful to be able to produce formal quotes and invoices for tracking purposes. Ninja lets you do all of that, no extensions or modules required, and all of the components are integrated with each other (quotes can be converted to invoices, projects, or both, invoicing can be done by task or by project, expenses can be included in invoices, etc.) and it also features a very nice automated emailing system for client invoice/quote notifications and even a guest frontend for them to log into. So all in all, I've found InvoiceNinja to be extremely useful and can't recommend it enough.
- soco 4y agoNinja is not self-hosted is it?
- tedtms 4y agoIt definitely is! They have hosted options but the project is fully open source and they have thorough self-hosting instructions.
- celroid 4y agoIs there a reason you need time tracking and invoice generation to be connected? In my case I need a monthly invoice that just needs the total hours worked for that month. It's always 8 hours times number of days worked.
- Havoc 4y agoHave you had a look at the various ones discussed in the selfhosted sub https://old.reddit.com/r/selfhosted/search?q=time+tracking&restrict_sr=on&sort=relevance&t=all https://old.reddit.com/r/selfhosted/search?q=time+tracking&r...
- nazarewk 4y agoI'm very happy with https://klog.jotaen.net/ https://klog.jotaen.net/ it has extremely simple text format editable from anywhere and a command converting those to JSON (sadly not the other way around). I've written a Python script to ease my everyday (and monthly) interactions with it like excel report for my employer https://github.com/nazarewk-iac/nix-configs/blob/main/packages/klg/README.md https://github.com/nazarewk-iac/nix-configs/blob/main/packag...
- jasonjayr 4y agoI've been using this for eons: https://play.google.com/store/apps/details?id=com.dynamicg.timerecording.pro https://play.google.com/store/apps/details?id=com.dynamicg.t... There's a feature limited free version. Lots of options to track times, jobs, breaks, options for how to deal with day roll over, etc. Unfortunatly Google forced them to break/disable the location tracking feature (despite that it was only doing using the information on-device) - which was super handy to 'clock in/clock out' when arriving at a site.. There's no server, but several backup options to some services or on-device storage.
- deleted 4y ago[deleted]
- _rutinerad 4y agoBack when I did hourly reporting I used http://timingapp.com/ http://timingapp.com/. It tracks what applications and windows are open and then you connect those to tasks/projects/etc later, which was a must for me since I always forgot both to do time reporting and what I had been working on.
- kiru_io 4y ago(I am not associated with Timing, just a happy user) I tried a few time tracking apps, and none come close to Timing. It's easy to use, gets regular updates, it's easy to setup projects and define rules (such that you don't have to track by hand). Has a handy integration with calendar, you can directly book meetings.
- lars_francke 4y agoMaybe of interest for others: It's Mac only and paid (OP didn't specify preferences, so might be fine)
- ensemblehq 4y agoI’ve mostly just been using spreadsheets and building formulas/macros to calculate revenue, etc. It works and doesn’t have tons of features most apps do.
- ghh 4y agoManicTime [0] passively records your computer and phone activity in minute detail. This makes it great for consultants, i.e. people working for multiple clients every day. You can focus on making your clients happy, and at the end of the day (or week, or month), still accurately assign time spent on each project. ManicTime: - Takes a screenshot every X seconds, - Records window titles, document paths, urls, - Records phone call metadata, phone location, foreground phone app (Android only). ManicTime has a very intuitive zoomable timeline interface to assign screenshots and other recorded activity to projects. Everything is stored offline. If you want, a free to use self-hosted server ManicTime server helps with backup and multi-device synchronisation. ManicTime works best on Windows and with Android, although an OS X client exists. Pricing: 67 USD for a one year license (so: no subscription that holds your data hostage). ManicTime is not free, but knowing what you did and when (down to the minute) gives it a quick ROI. [0] https://www.manictime.com/ https://www.manictime.com/
- philipps1982 4y agoI wrote a small ruby cli tool, which I use since over 5 years for all my freelance and consulting jobs: https://github.com/pstaender/punched https://github.com/pstaender/punched To let it sync with other computers I let it store the files in nextcoloud (they are only plain text files). There is just basic functionality, but you can also set different hour rates per project and let it show the total sum of hours for a project.
- bruderstein 4y agotimewarrior.org Not associated, but a big fan. Console based, so easily scriptable. Use it not for consulting but time tracking between projects.
- freeplay 4y agoAnother vote for TimeWarrior. As a huge bonus, if you started using or currently use TaskWarrior (console based task management), it integrates seamlessly and will track time spent on a task for you. It's an awesome, open source, extremely robust, and well thought out little ecosystem.
- zvr 4y ago> timewarrior.org I assume you mean https://timewarrior.net/ https://timewarrior.net/
- icedchai 4y agoI always use a text file, one per client: date, number of hours that day, and a description of what I did. I round up to the nearest quarter hour.
- wolfhumble 4y agoI have been very happy with Daily Time Tracking, dailytimetracking.com (Mac) What is great about is that it just polls you every n minutes (based on your preferences), and then you just: Press the 'V' button (if you are working on the same as before – our Shift+Ctrl+S) OR Write in the new task that you are working on OR Select an earlier task from a dropdown menu. Time is then automatically added to the task chosen. Then you can just see the total of time spent on each task or export the data to CSV, JSON etc. Not affiliated in any way, but has been working great for me.
- matheusd 4y agoMy own nonota: https://github.com/matheusd/nonota https://github.com/matheusd/nonota CLI TUI, just a list of tasks, track time across them or manually add the time. Backing is a yaml file, so you can adjust if needed. Runs anywhere you can use Go to compile to.
- motleydev 4y agoFunny enough, I've been considering a mini content series on modelling one in Postgres and then using different low-code tools for cross-platform engagement. Would this be of any interest? I guess this is the right group to ask.
- timetrack 4y agoCheck TimeTrack, it was made for freelancers 10 years ago, they had great success on app store (more then 1.000.000 downloads), then they created enterprise solution and they offer on-premise with individual SALs as well: https://www.timetrackapp.com/en/on-premise/ https://www.timetrackapp.com/en/on-premise/
- doodlebugging 4y agoI used TimeSnapper for a long time. It screenshots your desktop at an interval that you define, allows you to markup with notes on the screenshots, builds your screenshots into a gif of your day, tracks active window, allows you to delete irrelevant screenshots, log database and screenshots can be password-protected, etc. The developer was quick to reply to questions about the software and how to take advantage of all the options. I don't know whether it was still supported but I found it incredibly useful after trying several others (2010). It is installed locally and you control it but the best thing about it (is/was) that you buy it once and use it forever. No subscription. Fuck SaaS. I just checked and... Check it out, it seems to be an ongoing business: https://timesnapper.com/ https://timesnapper.com/ Best of all, it is only $29.99. When I bought my version back in the day, the Pro version was $79.99. That was a bargain then considering all the useful features and value delivered to me as I ran my consulting work. I used the screenshots and activity tracker to bill my clients to the minute. LOL. Near zero uncompensated time. Since I did so much remote work my billing started at the login prompt and ended at the logout prompt. Props to the developers and maintainers of this excellent software!
- distances 4y agoWhat's your line of work if you need this kind of documentation? My time tracking has never been disputed this far, and I can't think of a situation where I would agree to record my work day for a client.
- survirtual 4y agoI have had the same experience as you with time tracking, but I admittedly think that his process is really good. It could be archived and in the event of any disputes, it would rapidly settle them. But then again, I can’t imagine disputes like that. I wouldn’t work for anyone with red flags.
- doodlebugging 4y agoI understand where you're coming from. Archiving all that work history was pretty useful since so many projects involved repeating the same process but on new data. It was important to make sure that everything happened in the same order and the notes added to the screenshots as I worked or at the end of each day helped me avoid lost time and prevented repeating mistakes made the first time through. I was reluctant to use any tracking software until I had to get paid the first time. Since I came on board during a flurry of activity I bounced between several projects every day for weeks. Each project had a different owner who had their own budget and project code. My handwritten notes and memory were a sorry rendering of the day's work compared to the one minute screenshots which could give me near exact start and stop times for time spent on each task. I could review handwritten notes and picture what I was doing and make an educated guess about how long I worked on some things but the software allowed me to nail down exactly how long I spent on each task and made it simple to invoice payment for all my time without guessing. I am a consultant in a one-person company so I get to do all the work and all the background stuff too. This software made the drudgery bearable and efficient and allowed me to get paid for all the time I spent on someone else's projects (I billed to the minute since I could document to the minute). There were no real red flags with the clients. Good people in a high-speed environment.
- johnbellone 4y agoIf you're managing a small business I'd suggest looking at a more comprehensive set of tools. I have had success with Fresh Books[0]. It is simple, cheap, and has an easy to use mobile application. As far as I know, it doesn't have a desktop widget for tracking time, but there is a Chrome extension. [0]: https://www.freshbooks.com/ https://www.freshbooks.com/
- deweller 4y agoI have self-hosted https://www.invoiceninja.org/ https://www.invoiceninja.org/ (PHP backend) for years. It is overkill if all you want is time tracking. But it is a good self-hosted solution for project-based time tracking and invoicing.
- User23 4y agoI use Emacs org-mode for planning and logging my work. I’m a full time remote employee and not a contractor, but the desire for another party to know what I’ve been up to from more than just commit messages appears the same to me. There’s even a clock that’s smart about tasks.
- lagrange77 4y agoI'm using Klokki, a freemium native OSX app. Very happy with it. https://www.klokki.com/ https://www.klokki.com/
- mudsmith 4y agodespite looking a bit like a 2012 web app, this has been rock solid for me for the past 5+ years, and is still under active development: https://www.anuko.com/time-tracker/index.htm https://www.anuko.com/time-tracker/index.htm
- jabroni_salad 4y agoI've been using manictime for awhile. You can host a server if you need to, but for solo use it works standalone just fine. At the end of the day I have a candybar of time with titles of open window titles. Over the years I have added a lot of auto-tag rules and I just need to fill in a few gaps. It can do screenshots but I have that turned off since the window titles are sufficient for me. The time I spent writing this will be tagged as "admin - not productive"
- mvonballmo 4y agoI was a longtime user of TimeSnapper, but stopped tracking time entirely for a while. I've recently started with ManicTime and am very happy with the UI and features. It takes very little time to track, even when you don't auto-tag.
- nikslor 4y agoWe run a consulting business and created the following tool which may be useful: https://github.com/adfinis/timed-backend https://github.com/adfinis/timed-backend https://github.com/adfinis/timed-frontend https://github.com/adfinis/timed-frontend
- dr_kiszonka 4y agoI might be missing something, but on GitHub Mobile I can't see any screenshots, examples, or links to information about what this software does.
- andrey_utkin 4y agoI plan and retrospectively tweak items in visual calendar apps and augment/analyse them structurally using my own tooling, see https://github.com/andrey-utkin/taskdb/wiki/Live-demo https://github.com/andrey-utkin/taskdb/wiki/Live-demo
- schaefer 4y agoIf you like the command line, there’s time warrior. (timew)
- ra33o 4y agoLogseq does some basic time tracking and if used correctly, a second brain. https://logseq.com/ https://logseq.com/
- deleted 4y ago[deleted]
- quantaseed 4y agoI use aTimeLogger app to track my time then I email myself a CSV report from the app and use Google Sheets to create the invoice using a couple simple formulas and an invoice template I made. I paste the data from the email into a new copy of the invoice template and it mostly does everything I need. Then I download it as a PDF and send it. I invoice two to four companies per month. Takes me less than 1/2 hour usually. But I came here to find out if there was a nice self-hosted alternative.
- neap24 4y agoSpreadsheet for time tracking, simple Python script to generate an invoice.
- rebolyte 4y agoI’ve used Fanurio[0] in the past and it works well. It won’t win any design awards, but it’s cross-platform (Java) and covers all the features without a subscription. [0]: http://www.fanuriotimetracking.com/ http://www.fanuriotimetracking.com/
- philip1209 4y agoIt's not self-hosted, but I just use Stripe's invoicing product directly. I keep a draft invoice open where I record time + tasks daily. If you have a Stripe account already, consider this.
- bram2w 4y agoSome of our users are using Baserow for time tracking. It can be self-hosted, and you can create a data structure that fits your needs. You can for example create a projects table containing all the projects you're working on. Then create a time table with a relationship to the projects, a numeric "hours spend" field and a description field. Every time you worked on a project, you just add a time entry. You can also share worked hours with your clients.
- neilv 4y agoFor a long time, I just tracked each invoice's hours in a file as s-expression data (today, it might be JSON), and it loaded a small script to generate an HTML invoice, intended for printing to PDF. This worked fine, including when I had to divide the hours between two contracts (just another line of code, figuratively), and when the info clients needed on the invoice changed, and when client now needed invoices to be physically signed by hand. (At one point, this evolving script became the first user of one of my HTML-related libraries: https://www.neilvandyke.org/racket/html-template/ https://www.neilvandyke.org/racket/html-template/ ) Then I moved to GnuCash invoices, where each line item was rough notes on what I was working on that day, updated throughout the day. I modified one of the invoice-printing scripts to hide the notes, showing only hours and dollars for each day. Then GnuCash's normal accounts-receivable functionality. For periodic reports on what I'd done, I looked at the daily notes for a reminder of everything I did, and quickly summarized to higher-level paragraph, which got emailed. (GnuCash for invoicing alone wasn't worthwhile for my very simple needs that could've been handled with the standalone script, but the AR functionality was actually useful for reconciling payments and making sure no invoice was missed by client, and it also put this billable hours together in one place with my other financial transaction data, to give me an up-to-date picture of the whole thing.) A tip that applies to whatever method you use: since a consulting invoice represents 4-5 figures of revenue for work already completed, this might be some of your most valuable data, and it's changing daily, so have good backups. I wasn't too confident in my data backups, so I always kept a printed invoice-in-progress on my printer. (My custom invoice formatting script detected from GnuCash data whether or not the invoice was in-progress, and marked it appropriately.)
- psibi 4y agoFor the last couple of years, I have been using a combination of Clocking commands [0] in Emacs along with org-journal. It has been working well enough for me. Although, I had to send some patches to org-journal initially to suit my workflow. [0] https://orgmode.org/manual/Clocking-commands.html https://orgmode.org/manual/Clocking-commands.html [1] https://github.com/bastibe/org-journal https://github.com/bastibe/org-journal
- liketochill 4y agoI use Redmine
- w0de0 4y agohttps://www.mcmaster.com/content/time-clocks https://www.mcmaster.com/content/time-clocks
- animal_spirits 4y agoI've used activity watch and like it: https://github.com/ActivityWatch https://github.com/ActivityWatch
- firstSpeaker 4y agoI use this even without being a consultant. Amazing app to track more or less what eats most of the time at work.
- t312227 4y agoidk ... multiple possibilites come to my mind: * spreadsheet if you are able to add (small) numbers all by yourself * pen & paper * a text-file and some ideas - i never used this, but i think it has to be simple * CSV * JSON with a small script to calculate the SUMs/generate the result - eg. awk, perl, python, javascript, php ... whatever floats your boat scriptlanguage-wise ;)) or - lets start some rants ;) * XML with an XSLT-transformation ;)) just my 0.02€
- ushercakes 4y agoI recommend Bonsai, not just as a time tracker, but as a full fledged suite for freelancing. In this thread, I'm seeing a lot of cheaper/discount alternatives, but an imperative piece of timesheets is trust. When you send the timesheet to the client, they should trust the results, and IMO the bigger brands are just better at providing that level of trust. In comparison to quickbooks and the other huge names, Bonsai is super cheap, lightweight, and pretty much easier to use. Could not recommend it enough.
- Marrand 4y agoI am selfhosting TimeTagger on a Hetzner vps with backups to a hetzner storage box. No issues so far and TimeTagger is great.
- markusw 4y agoNo joke: I use a local SQLite db with three tables (clients, projects, work). Accessed with a GUI client. Works great!
- sandreas 4y agoHow about invoiceninja? https://www.invoiceninja.org/ https://www.invoiceninja.org/
- skriptmonkey 4y agoI have used TimeTrap (https://github.com/samg/timetrap https://github.com/samg/timetrap) for years. I have it installed on a dev/utility server I have hosted in the cloud. I use JuiceSSH on my android phone to run quick check in and check out scripts. While I'm at my workstation I have a terminal open that is SSHed into my VM. One of the panels in tmux is using a watch command to monitor my time. Purely just a time tracking function so I can't generate invoices or anything like that.
- namrog84 4y agoI've been a huge fan of https://clockify.me/ https://clockify.me/ for general time keeping of tasks. Mostly for personal reference and motiviation. I'm not a consultant but use it to track things from my various software side projects and even chores.
- monotux 4y agoledger has a time tracking mode which is pretty neat. I've used it for a while and liked it, https://www.ledger-cli.org/3.0/doc/ledger3.html#Time-Keeping https://www.ledger-cli.org/3.0/doc/ledger3.html#Time-Keeping Otherwise Emacs and org-mode is handy as well, if you are an Emacs user.
- jer0me 4y agoI use Tim on Mac. It’s native, very simple, and looks to be free now, it used to be a few bucks. https://tim.neat.software/ https://tim.neat.software/
- dieselgate 4y agoNot a fanatic about it and only posting because I didn't see it mentioned but Asana and Harvest time have a free integration and it's sufficient for my single person general contractor business. i like the suggestions more about git/terminal/emacs etc so happy to read this thread
- pentacent_hq 4y agoI’ve been using Kimai [1] for a bit over a year to track my freelancing work for various clients as well as the work I do for my own projects. I can definitely recommend it! It's easy to install and very pleasant to use for tracking time. Entries have an "exported" flag to mark if you've already billed for a certain hour or not. You could also generate invoices directly from Kimai but I'm not using that feature because I'm creating my invoices in another program. [1] https://www.kimai.org https://www.kimai.org
- anotherevan 4y agoLong time ago I used a little windows program called TraxTime by SpudCity Software. Both seem to have passed into antiquity, but I really liked the punch-clock model it used. It was also really easy to go back and edit your in/out times when needed.
- donutshop 4y agoI like titra - https://github.com/kromitgmbh/titra https://github.com/kromitgmbh/titra
- jgaa 4y agoI wrote whid for my personal needs, and have used it for more than 20 years ;) https://github.com/jgaa/whid https://github.com/jgaa/whid
- celroid 4y agoTimetagger. It's the only one that got time tracking right for me. The others I've tried require filling tedious forms and are bloated with other unnecessary features like invoice generation. It also has a resume button for stopped tasks which is a godsent.