Readit News logoReadit News
nottorp · 3 years ago
Any 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?

gwbas1c · 3 years ago
I 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 · 3 years ago
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.
lolinder · 3 years ago
With a few intermediate sheets and FILTER, UNIQUE, SUMIFS, and VLOOKUP, you can have it generate invoices too.
nottorp · 3 years ago
I 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.

johnwalkr · 3 years ago
A word document with an embedded excel table (or equivalent in any other office suite) works well enough.
Tijdreiziger · 3 years ago
If you faff around with macros for a bit, it can generate invoices too :)
4RealFreedom · 3 years ago
This is what I've always done. Spreadsheets do everything I need.
nazarewk · 3 years ago
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'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...

doodlebugging · 3 years ago
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.

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!

distances · 3 years ago
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.
survirtual · 3 years ago
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.

doodlebugging · 3 years ago
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.

jolmg · 3 years ago
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.
cranium · 3 years ago
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!

https://orgmode.org/manual/The-clock-table.html

fhars · 3 years ago
And 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.

Cardinal7167 · 3 years ago
Dang, had no idea that org-mode had that feature.

TIL! https://orgmode.org/manual/Clocking-commands.html

jcpst · 3 years ago
Clocking in an out of any headline in the document tree is a great feature.
_rutinerad · 3 years ago
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.
kiru_io · 3 years 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 · 3 years ago
Maybe of interest for others: It's Mac only and paid (OP didn't specify preferences, so might be fine)
tedtms · 3 years ago
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.

celroid · 3 years ago
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.
soco · 3 years ago
Ninja is not self-hosted is it?
tedtms · 3 years ago
It definitely is! They have hosted options but the project is fully open source and they have thorough self-hosting instructions.
jamessb · 3 years ago
> Or is there a list of them somewhere?

awesome-selfhosted lists 4 self-hosted systems: https://github.com/awesome-selfhosted/awesome-selfhosted#tim...

(ActivityWatch, Kimai, TimeTagger, Traggo)

chrisandchris · 3 years ago
Can vote for Kimai!
neilv · 3 years ago
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.)