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:
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 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.
It is better to charge by the day anyway. If you’re needed even an hour on a day, they get the daily rate. An interruption in your day for even an hour has context shifting and sucks away a lot more time than that implicitly. Alternatively, weekly prepaid hours work as well. As long as the client is getting value delivered and all their requirements are met or exceeded, and the time is spent to make sure that is always the case, contracting can be a vehicle to escape mundanities like exact timekeeping and enable better use of time.
I would also argue in general for prepaid hours, as this is much more palatable for a business anyway. It gives them a predictable budget with no guesswork, and you a predictable income. That stability is better for both parties as long as you’re delivering.
But everyone’s got their method of operating. Screenshotting a day like that is impressive legally but does make my skin crawl as a dev & creative. I like to just zone out and enter the universe of my work.
Looking back, if I had to do it again I would bill a day rate and/or set a monthly minimum billable rate to compensate for the constant availability. The job did introduce lots of stress at times and interfered with a normal life. The only saving thing here is that I set my own rate, controlled my own hours to a large extent, and tried to capture payment for every bit of time spent working with them. I also had the opportunity to work with the latest generation hardware, debug the latest software to run it, and troubleshoot problems in real time when it was deployed and time critical to understand failure modes and quantify success. The job had its benefits outside of the money.
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-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.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.)
That's my biggest issue. I work in a chaotic way.
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/ [1] https://timingapp.com/ [2] https://activitywatch.net/
(I'm newish to HN, so please let me know if this message is inappropriate!)
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.
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.
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.
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.
Not associated, but a big fan. Console based, so easily scriptable. Use it not for consulting but time tracking between projects.
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.
I assume you mean https://timewarrior.net/
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.
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.
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.
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.
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"
https://old.reddit.com/r/selfhosted/search?q=time+tracking&r...
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.
Track time on different tasks, invoice later on.
Edit: Mobile App online available with paid subscription.
* 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€
Otherwise Emacs and org-mode is handy as well, if you are an Emacs user.