I 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.
I'm very happy with 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 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.
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!
What'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.
I 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.
Geophysicist. I handled quite a few things for one client including 24-hour support to field operations, remote processing of data, real-time QC of data processed by others, briefing of client contacts about hardware and software capabilities, demonstrations of data processing situations, presentation of data in various slideshows or interactive formats. On any given day I could work on one project or a half-dozen.
I tracked my time so that I could accurately assign time to each of their projects. Since I worked with personnel from field ops, software development, hardware testing, and was a point of contact for their external clients I needed to bill the correct project. I was on call 24/7/365 to deal with personnel who were could be working anywhere on earth.
In addition to using this software for job-related tasks it is super useful for recording all the inputs when you fill out online order forms. I use junk mail accounts for things I only want to see or buy from once and it helps to have all the fields filled as I actually filled them for my records. Some things offer one rate for a short period and flip to a higher rate later with an option to cancel. I screenshot all the offer terms for my records so I can verify charges to my accounts and cancel things I don't care about.
I have done a lot of online cross-training in other things and having screenshots of relevant slide shows can help jog a memory.
As far as employers requiring this level of documentation it was recommended when I began working with one client that I use time-tracking software to manage invoicing and project billing. The person who made that recommendation was also a consultant who understood the nature of the work I would be doing. I was free to choose software, etc since I was a consultant and not an employee. I tested several offerings and settled on this one.
I was only asked once to provide documentation for time invoiced. I had invoiced more than 20 consecutive hours of time on one project, a lot longer than your standard 8-hour day. It was one of those things that began with a phone call and came standard with a tight deadline and multiple data format issues to sort before it could be completed. Using the one minute screenshots I assembled a gif of the time period subsampling to 5 minute screenshots, included copies of my hand-written notes from that part of the project, and printed all the notes added during and after the work period and submitted that along with an offer to produce similar documentation for any other entries for the time that I had contracted with their company. I made a follow-up call to the contact and was told that they didn't need to see anything else, ever.
Basically, for more than a decade I screenshotted my work life at one minute intervals and generated invoices from the screenshots and database entries. It was super easy and a huge time saver since it was all in one place and easy to generate reports.
It was without a doubt top 5 most useful software I have ever purchased.
org-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.
I 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!
Back when I did hourly reporting I used 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.
(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.
I 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/).
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.
Is 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.
For 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/ )
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.)
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?
It's my 1st of the month morning coffee ritual. Pretty good for morale.
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/packag...
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/
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!
But then again, I can’t imagine disputes like that. I wouldn’t work for anyone with red flags.
I tracked my time so that I could accurately assign time to each of their projects. Since I worked with personnel from field ops, software development, hardware testing, and was a point of contact for their external clients I needed to bill the correct project. I was on call 24/7/365 to deal with personnel who were could be working anywhere on earth.
In addition to using this software for job-related tasks it is super useful for recording all the inputs when you fill out online order forms. I use junk mail accounts for things I only want to see or buy from once and it helps to have all the fields filled as I actually filled them for my records. Some things offer one rate for a short period and flip to a higher rate later with an option to cancel. I screenshot all the offer terms for my records so I can verify charges to my accounts and cancel things I don't care about.
I have done a lot of online cross-training in other things and having screenshots of relevant slide shows can help jog a memory.
As far as employers requiring this level of documentation it was recommended when I began working with one client that I use time-tracking software to manage invoicing and project billing. The person who made that recommendation was also a consultant who understood the nature of the work I would be doing. I was free to choose software, etc since I was a consultant and not an employee. I tested several offerings and settled on this one.
I was only asked once to provide documentation for time invoiced. I had invoiced more than 20 consecutive hours of time on one project, a lot longer than your standard 8-hour day. It was one of those things that began with a phone call and came standard with a tight deadline and multiple data format issues to sort before it could be completed. Using the one minute screenshots I assembled a gif of the time period subsampling to 5 minute screenshots, included copies of my hand-written notes from that part of the project, and printed all the notes added during and after the work period and submitted that along with an offer to produce similar documentation for any other entries for the time that I had contracted with their company. I made a follow-up call to the contact and was told that they didn't need to see anything else, ever.
Basically, for more than a decade I screenshotted my work life at one minute intervals and generated invoices from the screenshots and database entries. It was super easy and a huge time saver since it was all in one place and easy to generate reports.
It was without a doubt top 5 most useful software I have ever purchased.
https://orgmode.org/manual/The-clock-table.html
TIL! https://orgmode.org/manual/Clocking-commands.html
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.
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.
awesome-selfhosted lists 4 self-hosted systems: https://github.com/awesome-selfhosted/awesome-selfhosted#tim...
(ActivityWatch, Kimai, TimeTagger, Traggo)
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.)