I made a few searches for such a question and I did not discover any.

So... have you tried implementing and actively using a software that is tracking employees time spent on different assignments? If so, could you please refer me to some useful ones? I also would appreciate very highly some brief reviews on your end. Why those helped and why are you satisfied using them.

I am a project manager in IT Company specifically producing websites, so I am trying to implement a time tracking software for lots of tasks over different projects. Other kind of requirement - it should be nice looking and with some smooth interface.

Thanks a lot for your input, guys.

  • Checkout timebot.io it's really simple to use and it looks pro.
    – tybro0103
    Commented Apr 20, 2012 at 14:27
  • I use TIMEEFFECT since 2003, which is written in PHP. now, that PHP5 is EOL, I ported it to PHP 7 at github.com/rubo77/timeeffect
    – rubo77
    Commented Nov 5, 2018 at 7:54

10 Answers 10


I have had success with the time tracking app: TSheets. It was easy to learn and its functions allowed me to to track several employees time spent on a variety of tasks (i.e. marketing, development, sales, website, etc) from all different locations (different laptops and iphones). It would be worth checking out their free trial to see if it's as user friendly and nice looking as I've found it to be. Good luck!

  • Thanks Kmed. I will look into your solution and discuss further more. I think I will like it because of the mobile app, although I am not sure if it will be actually helpful to me and my colleagues
    – BetaSve
    Commented Oct 19, 2011 at 20:55

I'd recommend looking into something that integrates time tracking properly with projects and everything else you need to manage, that way you can bypass the need for additional apps and integrations (which is nothing but headaches and high costs).

WORKetc is pretty powerful and it integrates time tracking, project management, contact management, knowledge bases (basically wikis), calendars, internal/external blogs, as well as billing tools. Under one app your'e capable of managing essentially everything you need to- and it's all integrated at the core. You can attach items together, integrate into Google apps (the google docs integration and Gmail integration is particularly awesome), and do things like convert timesheets directly into invoices through WORKetc alone, which is great for contractors etc.

You can read about it here: http://www.worketc.com/features

  • Thanks a lot, David. I will research more about your solution. So far it seems like the exact thing I was looking for. So helpful. Thank you again. Best regards
    – BetaSve
    Commented Oct 19, 2011 at 20:53

As we endeavor to use the simplest tool that could possibly work we have decided to use a simple spreadsheet. Each project is a column each person is a row. Sick leave, training, annual leave are a "project" as well. Projects can be internal or external. They can be unpaid or paid work and they can be support related or new development. Whatever we need to track separately for commercial reasons has a separate column. We also track bug fixing effort separately for each major release as an indicator for our quality improvements.

To give you an indication of the size of the spreadsheet: Overall we have about 40 to 50 columns and about 20 to 30 rows.

We have one spreadsheet per month and it's available on our local network. Each member of the team enters their time on a monthly basis. For commercial purposes we then total the effort up in each column, e.g. for writing invoices to customers or for reporting to the board of directors.

Using a spreadsheet gives all team members an easy to use interface, regardless of whether you use Excel, Open Office, Google Docs, etc. Of course it might well be that a spreadsheet may not be an option in your scenario as you may have other factors influencing your choice of tools.

  • Hey John, in fact you have listed maybe all of the variables we have in our office too. I thought about spreadsheet solution too but I was not sure how to structure it. Thanks for your detailed explanation. The only downside I saw in this, was the lack of ability anyone to open it any time and edit, expect if we use Google Docs.
    – BetaSve
    Commented Oct 19, 2011 at 20:50
  • @BetaSve Our spreadsheets are stored on a local server. We are about 20 to 30 people and never had an issue with multiple people accessing it. As it has a fairly simple structure it is very easy and fast to fill in. If you use Google Docs then you certainly remove that limitation as well. I like the thought!
    – Manfred
    Commented Oct 20, 2011 at 1:34
  • yes... I thought Google Docs or Google Wave would be much better. My experience with the common xls files filled up by different people comes from that we have a couple of xls files that were meant to be used by few people and often there was a case that someone left it open on his/her pc and totally forgot about it. It is frustrating when you want to enter some info and have no access and can't do nothing about it. :) Will definitely work towards online version with collaborative options.
    – BetaSve
    Commented Oct 22, 2011 at 8:50
  • @Manfred - Would you be able to share the template you have with a few examples since we are facing a similar challenge in tracking project related tasks and the associated time for everyone involved especially with 180 projects on the go?
    – Motivated
    Commented Jan 5, 2016 at 2:44
  • @Motivated I'd love to but don't work for that company any more, so no longer have access to that type of document. I'm sorry.
    – Manfred
    Commented Jan 7, 2016 at 6:50

We made an ad-hoc system using MySQL, integrated with project management data.

Because it is on a server, it's easy for multiple access without the "who's got the cookie" problem of multiple-updaters that you have with a shared spreadsheet.

Because it's integrated into our project management system, we can instantly see the labour that's been billed to a project or profit centre.

Here's an example project. Scroll down to see time tracking and time summary roll-ups, which are standard SQL queries.

Here's the schema for our "timelog:"

  `id` int(10) unsigned NOT NULL auto_increment,
  `mw_user_id` int(11) unsigned NOT NULL default '2',
  `in` datetime NOT NULL,
  `out` datetime NOT NULL,
  `project_id` int(11) unsigned NOT NULL,
  `activity_id` int(11) unsigned NOT NULL,
  `accomplishment` varchar(255) character set utf8 NOT NULL,
  `Paid` enum('yes','no') character set utf8 NOT NULL default 'no' COMMENT 'hours that are compensated',
  `Class_B_qualified` enum('yes','no') character set utf8 NOT NULL default 'no',
  `updated` timestamp NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  PRIMARY KEY  (`id`),
  KEY `mw_user_id` (`mw_user_id`),
  KEY `in` (`in`),
  KEY `project_id` (`project_id`),
  KEY `activity_id` (`activity_id`),
  KEY `out` (`out`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='EcoReality time log.' AUTO_INCREMENT=13955 ;


  • mw_user_id points to the user performing the labour
  • project_id points to a definition of the project the labour is on
  • activity_id points to a definition of an activity the labour is on

A "project" looks like this:

  `id` int(6) unsigned NOT NULL auto_increment,
  `profit_centre` int(10) unsigned NOT NULL default '0',
  `name` varchar(62) NOT NULL,
  `URL` varchar(255) default NULL,
  `need` varchar(255) NOT NULL,
  `description` text NOT NULL,
  `super_id` int(11) unsigned NOT NULL default '0',
  `type` enum('capital','operations') NOT NULL default 'operations',
  `duration` enum('fixed','ongoing') NOT NULL default 'fixed',
  `status` enum('abandoned','agreed','cancelled','completed','on hold','ongoing','requested') NOT NULL default 'requested',
  `start` date NOT NULL,
  `end` date NOT NULL,
  `completed` date NOT NULL,
  `depends_on_id` int(6) unsigned NOT NULL default '0',
  `budget_expense` decimal(7,2) NOT NULL,
  `budget_effort` decimal(7,2) NOT NULL,
  `effort_units` enum('minutes','hours','days','weeks','months') NOT NULL default 'hours',
  `steward_id` int(5) unsigned NOT NULL default '0',
  `private` enum('yes','no') NOT NULL default 'no',
  `updated` timestamp NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  `notes` text NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `name` (`name`),
  KEY `duration` (`duration`),
  KEY `status` (`status`),
  KEY `super_id` (`super_id`,`depends_on_id`,`steward_id`),
  KEY `depends_on_id` (`depends_on_id`,`steward_id`),
  KEY `steward_id` (`steward_id`),
  KEY `profit_centre` (`profit_centre`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='EcoReality (and other) projects that require resources.' AUTO_INCREMENT=140 ;

Projects can be nested and have dependents.

Activities are typically things that end in "ing," and can be hierarchical:

  `id` int(10) unsigned NOT NULL auto_increment,
  `name` varchar(31) character set utf8 NOT NULL,
  `super_activity` int(11) unsigned NOT NULL default '0',
  `description` varchar(255) character set utf8 NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `name` (`name`),
  KEY `super_activity` (`super_activity`),
  KEY `description` (`description`)

INSERT INTO `s_activity` (`id`, `name`, `super_activity`, `description`) VALUES
(1, 'Administering', 0, 'Basic administration and management activities.'),
(2, 'Agriculture', 0, 'Activities related to growing crops.'),
(3, 'Designing', 0, 'Developing designs for systems, processes, structures and machines.'),
(4, 'Educating', 0, 'Performing an educational activity.'),
(5, 'Managing Information', 1, 'Performing an information management activity.'),
(6, 'Maintaining', 0, 'Repairing or sustaining the condition of an artifact, process, structure, or system.'),
(7, 'Planning', 1, 'Making plans for future projects and activities.'),
  • Here's the schema for our "timelog:" Commented Feb 10, 2012 at 23:33

I've had great success with Workgroups. It has many workflow and scheduling management features which make time tracking very easy. Overall I found the software very flexible and easy to integrate into any system.

  • Hi Megha, does that solution have some mobile apps for Android or iOS? I would like for it to be as flexible (cross platform) as possible. Reason is we often need to do stuff out of the office and a remote way of checking in would be appreciated from my colleagues.
    – BetaSve
    Commented Oct 25, 2011 at 5:54

Searching for some other time tracking tools, found your question... and worth to have a look at Toggl, a very simple, ease to use, CSV / PDF report generator and cross plataform time tracking tool, all for free. It also offers some further pro-funcionalities, such as project billing.

I use the free version and have no complains about it at all.

Hope it helps.


We have used SAP extensively for enterprise level time tracking


We use http://getharvest.com, which is a great time tracking web app. It includes and API and has Basecamp integration right out of the box. Harvest also allows you to do project estimates and invoices, clients can even pay the invoices electronically


Vertabase project management software has integrated time tracking. There is also a free time tracking widget that can be used as a stand alone or with a server component.

Disclaimer: As per the faq, I am affiliated with Vertabase.

Not the answer you're looking for? Browse other questions tagged or ask your own question.