I had about 7 employes until today and everyone had another kind of timesheet/timereporting.

How do you track your time at your current workplace, or if your a freelancer, how do you keep track of your time?

+2  A: 

I track my time by remembering what I have done each day, my out look callender seems to tell me what I was supposed to be doing, so I use that as a basis for it.

Omar Kooheji
That's exactly what I do! Although I've got the feeling I would get a more precise picture, if I did it in a more "dedicated" fashion.
Martin Bøgelund
+5  A: 

I come in, I work the hours (+ a few more if I'm on a roll), I go home. My boss trusts me to get the work done.

(I am fortunate enough to work in an environment where that is okay behaviour, I realise that this isn't an option for many people)

In the past when I have done billable work, I had some nifty time-reporting software on a Palm Pilot that you could reach across and touch to start/stop/select task - i.e., far less intrusive than having to fill out a spreadsheet as you went.

It's not about the trust: its about the bills you can give your customer, when you're working as a freelancer/for another company
That would be a different situation. In the past I had some nifty time-reporting software on a Palm Pilot that you could reach across and touch to start/stop - i.e., far less intrusive than having to fill out a spreadsheet as you went.
Keeping accurate timesheets also helps to the estimating of future projects. Specially if there are estimate vs. actual data to consider deviations from the original estimate.

I've created an application, which allows me to define some projects and I can enter the tasks in there. The application creates an XML-File out of this stuff and I can use it to create the bills or import this into another system.

Read more about this tool

+1  A: 

We have an in office built solution that all projects are created on and all employees write down their time and describe what was done.

Ólafur Waage
I've found that home-grown solutions tend to be best since they tend to allow the greatest flexibility to the employees.
+9  A: 

We use Redmine - you can just add the spent time directly to a ticket. Actually a web-based tracker is the best solution if you work on different computers.

Maybe one of the tools here can help too.

+2  A: 

I use a Google Spredsheet which lets me add start and end time. It then sums up per project. I need to know how much I work on each project, so it is as simple as possible.

Arne Evertsson

I allocate a page in my notebook (the paper kind) for a single day and list down all the things that I need to do for that day. I mark off items as they are done and list down the number of hours I spent working on it. I tally them at the end of the day.

I have another page that summarized what happened that week including the daily figures.

I then type in the figures on my employer's intranet based timesheet app.

+6  A: 

FogCreek's FogBugz has really nicely integrated time tracking; you just need to remember to use the "working on..." pulldown.

It'll use the timesheets to give you some fascinating feedback on the accuracy of your original estimates, and feeds them into statistical projections of project completion dates too.

I wrote an "always on top" tray icon app that stays semi-transparently no the top of my screen and shows me what I'm working on (and of course lets me switch between cases assigned to me).
Assaf Lavie
Nice. If we'd stuck with FogBugz longer I imagine we'd have cooked up stuff like that ourselves (unfortunately my employer decided everyone had to use VersionOne instead).

At work we used to use a truly horrific Excel spreadsheet for this. In the end I got so tired of it I developed a quick web app for this written in PHP with a MySQL backend. It doesn't look wonderful but is easy to use. Best of all I control the data and can extract it in any way I wish. Every year the data is exported into a CSV file and sent to my main Manager who can import it into his Excel spreadsheet. Not exactly the most efficient solution but it does the job.


I use an Excel workbook with one worksheet per day. I generally updating it every few hours or if I'm very busy, the next day.

It's infinitely flexible if hard to data mine. It includes unique project numbers, location and work description etc. and a Y/N chargable column. I use formulas to total client time based on project numbers and the chargable column.

It's a real boon at the end of a month, I can look at four weekly workbooks and total up the hours for a client, and summarise the work that was undertaken.

I've been meaning to create a small application to do this for some time, but Excel is so simple and flexible that, other than automated reporting, I'm not sure it'll be an improvement.

Liam Westley
+1  A: 

I use Eclipse a lot, and when I activate and deactivate tasks in Mylyn (an Eclipse plugin), the start and stop time along with the Task ID is recorded in an xml file. So for me that is one good source of timekeeping data, which can be imported to our time tracking system.

Ola Eldøy
+13  A: 

I like to use TimeSnapper in order to track my time. It also provides a way of reconstructing everything I have done, as it is based on periodically taken screenshots.

The actual timesheet is then constructed by using the data from TimeSnapper and categorizing the worked-on items as appropriate in an excel spreadsheet.

+1 for TimeSnapper. It really saves the day when you have no idea what you did yesterday, since it records everything you did on multiple monitors and you can play it back in high speed.
mike nelson

I have been using Timelog for a couple of years, and I am quite satisfied with it. It is a web-based, hosted application. Every day, I fill out a spreadsheet-like page, typing in the hours I have worked in different projects. The project manager keeps track on who's working on what, and bills customers using monthly reports.

Nuno G

At the risk of being labeled a company stooge, I think it's still worthwhile to outline how I book my own time.

We make and sell our own software product to do this: MCS Project Management.

Requests for work are booked into the system as calls, work orders are assigned to respond to these calls and end up in everyone's "todo list". When work is executed, people can drag the work order onto the calendar to book a task for it (like dragging around tasks in MS Project), and eventually these tasks get billed semi-automatically to the customer based on the contract and type of work that was requested.

Ofcourse, this system only pays off for larger companies. If you're a 10-person team, it's over-engineered for your needs. But I still think it's a really nice way of working, and I'm not just saying that because I help to build it :)

Joeri Sebrechts
+1  A: 

I described how I track (and schedule) my time in another question:

+3  A: 

Try, if you only need something small, something for yourself only.

Valters Vingolds
+2  A: 

I remember in my previous office they had a crappy web-based time management system in place. I had an account on it, and someone, probably one who managed that application, added all my currently assigned projects to it, so when I accessed the application to add my time at the end of a day, I would have sections for each project I was working on. Of course, I had to manually add, say, five hours for this project, and two for this, and so on and so forth. I really did not see what actual purpose that served, and even though the technically-sound managers failed to see any actual benefit of the system, they still requested people under them to fill up the time sheet.

In my current job, there is no time management. One reason may be that unlike my previous workplace, this one is considerably small. But, most of all, we trust each other to do the stuff. We maintain centralised and per-client TODO lists and message boards, where we discuss stuff and post timelines, and tasks, and mark them off. All in all, that gives a good overview of what is happening and what is not.

I never minded the time management systems so long as I could add my own tasks, without getting permission for the extra things I may be doing to make my work more efficient
The reason they wanted this, I hope, was so that they knew which projects were being worked, and (if they were billable) which customers needed to be billed.
+31  A: 

I have a ruby script that appends a line with timestamp and all commandline arguments to a text file. Then I have an alias from "I" to this script, such that I can just type on the command line...

% I start working
0d 14:06'11"
% I have read mail
0d 00:27'45"
% I answered a question on stackoverflow
0d 00:11'32"

...and all that is recorded in a text file with timestamps.

Other scripts later use that text file to generate work reports, or just tag clouds of what I have done during the last weeks or months.

require 'date''time.txt', 'a') do |f|
  f.puts "#{"%Y/%m/%d\t%H:%M:%S\t")}#{$*.join(' ')}"
end unless $*.empty?
back =
now ='time.txt') do |f|
  f.each do |line|
    unless line.strip.empty? then
      back = now
      now = DateTime.strptime(line,"%Y/%m/%d\t%H:%M:%S\t") 
if $*.empty? then
  back = now
  now = + # fix timezone!
diff = (now - back)
puts "#{diff.to_i}d #{( + (diff - diff.to_i)).strftime("%H:%M'%S\"")}"
This is awesome; I'm definitely going to steal this. I will probably change the backend to write to a SQL database, though.. If I do, I will re-post here :)
Matt Rogish
Full script, including time-cloud, see
Very cool, but are you serious?
@LuckyLindy, yes. I also track my todo items and spent money using similar ruby scripts.

My company provides a time accounting system for billable purposes.

+1  A: 

We use a site called which was actually built by a previous intern at the company. It has a pretty simple interface to assign projects to people and the user can select from the dropdown list of tasks assigned to them and then just manually put in how much time they worked on it. It's quite simple. I guess its not the most accurate method though...

+1  A: 

This isn't so important in my current job, but my previous job I was building websites and needed to track time, there's a really good time tracker for Google Desktop, called Time Tracker I think... (imagine that). Me and the rest of my co-workers absolutely loved it. Then at the end of the day, we'd jump into netsuite, or whatever our time entry program of choice was at the time, and enter our time.

Wes P

I keep daily notes in a text file and/or internal wiki with notes as to waht I'm doing.

At the end of billable weeks, I cull through that and fill out a time sheet.

When I'm not on billable time, I show, do my job, and go home :)

+20  A: 

Since I am an independent contractor, accurately measuring my time is very important.

I wrote a utility that sits in the taskbar and records the process name and window caption of the active window every second of the day. If the keyboard or mouse was touched during that second then the time is considered active versus idle. Every 15 minutes this information is summarized and written to an SQLite database. At the end of the day I can view that data in a timeline and use a Bayesian filter to classify each unique process/window into one of three buckets: work, play, other. From there I estimate my hours based on some predefined thresholds that I've worked out over time.

I have tried professional software but the combination of automated recording and classification of active windows is by far the easiest approach to accurate time tracking!

One of these days I'll have to open source it...

Nathan Baulch, please do....I was thinking of doing something like this myself, but you took it to a whole new level :)
Adrian Mester
hi, this is very interesting, is it available now?
Publish! I was going to write this, but you beat me to it.
I have since discovered which is similar but much more polished. Unfortunately it doesn't have Bayesian classification so I haven't switched over myself...
Nathan Baulch
Bloody Awesome!!! I always wanted to write such thing, but never ever thought to this level. Classifier to analyze collected data. I am Impressed... ;) Just out of curiosity, how accurate do u find the analysis? AND PLZ PLZ OPEN SOURCE IT AND INFORM ME ;)
I've been using it for over 4 years and have achieved 98.9% classification accuracy across my 3 buckets. In theory I could just let it run but I like to train it periodically to keep it accurate.
Nathan Baulch
@Nathan-Baulch: Have you considered publishing the code as-is, or contributing to an open source project that already exists?
Kimball Robinson

I have great time tracking time and although this isn't really a proper answer it is an amusing little story. (I will also post an application for tracking time a little later, I do not have the application here)

About 2 years ago when I started work at a company I found that I was spending a large amount of time on the internet doing things that were not work related (irc, email, places like stackoverflow). I have always done c/c++ in my spare time and so thought that it would be a marvelous idea to create an application to track the time I spent in different applications. I think I must have spent about 100 man hours tinkering and looking for ways to hook Windows to get the information I needed. All of this, during work.

I feel it's rather ironic that I spent such a great amount of time working on an application to track my time and make me more productive whilst at work, being, well, not very productive.


I use Hour Guard from NCH Software. It's free.

Jesse Dearing

The time tracking is always defined by the reporting that the project manager / boss wants.

If boss wants it down to the bug or task level, then you track using a tool that allows for that, ideally your bug tracking system. If it's only a matter of "I spent 27% of my time on bugs, 15% on meetings and 58% on new development", then tracking by number of hours per day in a text file and cobbling up a little Perl program to do the math is fine.

Andy Lester
+2  A: 

I've used 'harvest' before ( - it's not too bad since it works from a widget. With a bit of effort, in a week or two you can get into the habit of clicking what project you are on (it tracks the hours for you).

I have seen some spurious time-tracking systems at companies, if people's hearts aren't in it (i.e. writing proper time-sheets), the data in them is pretty much fictional. I don't know if operational managers realise this, if you force someone to do time sheets without doing two things; 1) explaining why, and 2) leading by example - you will get rubbish data. People will just back-track and make up whatever to fill in their time.

As a project manager, what I would like to do is this - fill out my programmer's time-sheets for them on a weekly basis. And I think this would be possible using a program like timesnapper. If I get the chance, I will be trying this out at the next company I work at.


I used task coach in the past. A really nice cross platform time tracker written in python.

Now I just use VIM because it's more flexible, don't require a mouse and you don't have a background process running. I just list all the name of the tasks I am working on at the top of a text file. I stole the idea from this blog

When I start working on a task I put the cursor on the corresponding line in the file and press F11, then a python script writes at the bottom of the file the current time and the name of the task.

If I stop working on the task I press F12, the python script adds the current time at the bottom of the file and computes how much time I've worked.


I currently use TimePortal. It's simple and does the job. It also allows me to quickly view the "active" projects.

Darryl Hein
+1  A: 

If you use Eclipse, Mylyn will automatically track the time you spend working on tasks from your team's bug/issue tracker. With the free Tasktop Starter, a dashboard shows you exactly what you've been working on so you can enter it into your team's time tracking system. Tasktop Pro adds functionality for reporting over arbitrary time periods and task categories.




I found Toggl to be a useful tool to time whatever I'm working on. If you leave the computer for some time, you can decide to delete the idle time upon returning.

Ola Eldøy
+2  A: 

SlimTimer is a low friction time tracker and is my current tool of choice.

I've used this for years but it seems to not have had any new development for quite a while
+1  A: 

Replicon has a web timesheet that where I work uses. It is OK for giving a matrix-like entry of hours while there is also a weekly e-mail of tasks to provide that kind of perspective on how us developers are doing.

JB King

If you want a really good Project Management and time management app look at the free open source ClockingIT


At my office we use Replicon for timesheets; everyone does it from top to bottom. Its very nice for the account people as we bill hourly for clients. The interface is cumbersome and doesn't work well in all browsers so it tends to be problematic to use throughout the day. Its Best for just filling in at the end of the day/week.

For day to day use, I've been using the Emergent Task Timer from Dave Seah. Its blocked in 15 minute intervals, so its very nice for just filling in bubbles as the day moves on.

Michael T. Smith
+1  A: 

Slife is a fantastic tool that tracks your usage on your pc based on the application that your using. It can also log how much time you err 'waste' of sites such as SO. There are OS X and Win versions available.

Nick Kavadias

I use to track my time. It works well but I had to go editthe code so I could have it not prompt me every hour if I was working on the same thing, for example when I had to go to meetings I wanted to be able to let my computer keep track of that time even though I wasn't at the computer. The program also keeps track of how much time you spend in what applications which is helpful.


We use a web-based tool called Intervals, which is great for time tracking, but also includes task management. Since we are a web development agency, that works great for us because our task system is the same as our time tracking.


We have a small consulting team of 3 people working on multiple clients / projects. We used to use a spreadsheet on Google Docs, but it was a pain to update and report on it.

We recently switched to Harvest (, it's a hosted solution that is also integrated with their other application Coop ( which is a twitter / yammer-like application. We like it a lot, especially since it now allows us to easily generate invoices to customers and track hour hours against hours purchased.

Other light-weight time tracking apps incude, and somebody I know evaluated and is moving to light-weight project management software called Intervals.

Jean Barmash

I'm a freelancer, so its important for me to keep track of where I spend my time. I use the invoice mechanism of Quicken Home & Business to keep track of my monthly invoices. I create an invoice for each customer at the beginning of the month, and I enter a new line in the invoice for each day I work on a project. This allows me also to add a summary of what I did that day in the comments field along with the hours worked.


Steve Wranovsky

I use and its works great for me to timetrack multiple projects!


I lug a slate tablet everywhere with an HTA I made for tracking time spent per task. The HTA is 36 buttons big enough I can peck them with my finger and so can save the time of grabbing the digitizer pen. The tasks names are predefined, but for one that is free-form. The free-form tasknames are put to csv and 'Select *' using MS LogParser so I can use the same spelling for the same tasks. All buttons (divs, really) change color and log the start date and time of an activity, into a CSV file. No limit to multiple tasks running. A red div means that task is active. Poke it, and it sends the end time and the vbscript finds the entry wherein that task's beginning was logged, and computes the # of seconds from start to end (puts that in the CSV), changes back to it's former color. I have several canned SQL strings for giving me quick stats, but I keep planning to open the csv with XL to do some good analysis. I've been using the tablet (rugged) for several months, just collecting data. I do use 'TaskHelper', but it is slow on the tablet, so I will likely add the task mgt to my HTA. I'm just learning javascript, looking fwd to experiencing some of it's coolness.

+2  A: 

If your people are just working on 1 project, have them use Excel. We use that and it works great.


I've been using [ManicTime][1] to do part of the work. It tracks what window you're in, the window title etc. So at the end of the day (or a week later), you have enough information to be able to reconstruct a reasonable picture of what you were doing.

I hate tracking time at the time and always end up fudging the figures one way or another. And this seems to make the process a bit less painful, even though it doesn't seem intended for this purpose at all.

[1]: ManicTime


I use 1time. Really great way for teams to keep track of time.

Derek Organ

I have a terrible memory, and need to keep a record of just about everything. I keep detailed notes in MS Outlook Journal. It's a good tool, and well worth spending a few hours to get to know. Do one of the many tutorials online.


i use rescue-time i love it mainly because its desktop client :)


When working on Linux I have been using his one


I use Kronos, an adobe air application, very useful and beautiful


i use Paymo time tracking & invoicing. It's been great thus far.


A KISS system of post-it notes. It never fails, never goes offline, never forgets anything, and costs pennies a month.

Dean J
+1  A: 

I use Rachota as a task timer, then copy the results to a spreadsheet.


  • Free
  • Easy to track time by tasks (with start/pause button)
  • Desktop client that runs on all OS's (I run mine on Windows)


  • I can't correct the times in Rachota (e.g. if I go to the bathroom and forget to stop the timer), but when I copy values to the spreadsheet I'll tweak them a bit.

I looked through the solutions so far (52 of them) and I personally didn't see anything I'd prefer to use. I don't want an online tool, anything that costs money, and tools that automatically track application time don't seem that useful to me. I'm not saying that my way is best... do what works for you!


This one is easy to answer for us since our main product is a time web based tracking system :-).

I realize Time tracking is a pain for most developers, because it tends to get in the way of actually doing your work. Which is why we paid special attention to make the process of tracking your time as easy and fast as possible.

Right now, it's only in German, but depending on your country your origin, you might have a look here: LogMyTime Zeiterfassung.

Adrian Grigore