Category Archives: timecontrol

See Choosing Timesheets our latest webcast from HMS Software

We’ve just posted a new webcast on a subject that we are asked about often.  How does one go about choosing a timesheet and why is what sounds like a simple exercise so common.  Our President, Chris Vandersluis goes through the answer as well as showing how to overcome the challenge of choosing multiple timesheets.

You can also see the slides from this presentation at

For more webcasts, see the TimeControl Webcast page.

HMS is expanding its technical development team

HMS is hiring.  We’re looking for a senior developer to join our team based in the Montreal area.  It’s a hybrid position.  HMS works a 1-day in the office and 4 days remote schedule at the moment so someone who is local will be key.  Below is the full description of who we’re looking for.  If you’d like to apply, send a message and your resume to

HMS is seeking a Senior C# .NET Web Developer – Hybrid

Are you a talented and motivated software developer with a passion for crafting cutting-edge applications? We are seeking a dynamic team-player to join us as a Software Developer, specializing in web development using C#, React, and TypeScript. If you thrive in a fast-paced environment, possess a can-do attitude, and excel at solving complex problems independently, we want to hear from you!

HMS Software is the publisher of TimeControl, one of the world’s leading publishers of project management and timesheet systems. Our clients include some of the most recognized organizations in the world including AMD, Andritz, CANAM, the US Government, the Quebec Government, Bruce Power, Reebok and EXFO. We are currently looking for a full-time senior level Web Developer to join our team at our headquarters in Pointe-Claire, Quebec.

The ideal candidate would work within a team of developers to design and develop our commercial enterprise software and application programming interfaces, with a focus on integration with enterprise applications and expanding our mobile development.

Here’s more about why you’d enjoy working on our team:
• Competitive compensation
• Industry leading benefits
• Informal, make-it-happen work environment
• Incredibly talented, friendly, results-driven, team-oriented co-workers
• Simple hybrid schedule – our staff work one day in person at our offices and otherwise remotely

Successful candidates will have:
• 6+ Years of experience in Web Application development
• C# development skills
• Strong React and Typescript skills
• Familiarity with modern web technologies (HTML5, SCSS, JavaScript, WebSockets, etc.).
• Proficiency with relational database systems development using SQL
• Le bilinguisme – français et anglais – constituerait un excellent atout

Additional interesting assets include:
• Strong interpersonal skills and experience working with clients to assist with their design and rollout process
• ASP.NET Web API and/or RESTful services
• Angular 4+ experience
• Experience with the DevExtreme
• Unit and Integration testing / TDD
• OAuth/OpenID connect experience
• Responsive design using Bootstrap, or other responsive tools.

Ready to take on this exciting challenge? Apply through LinkedIn, or send your resume and a cover letter highlighting your relevant experience and explaining why you’re the perfect fit for this role to and specify job posting “Senior Developer”.

TimeControl uses hierarchies to manage huge volumes of charges

One challenge we faced when first creating TimeControl were the types of projects that we were presented with.  We’d seen other timesheets which could handle a dozen possible charge types on a timesheet. They’re still quite common.  That’s not at all what we were facing.  Our earliest clients described projects with hundreds, thousands or even tens of thousands of tasks each.  One client explained that they had over 50,000 active projects world-wide that they expected to load into the system and each project had approximately 1,000 tasks.

The idea that a user would scroll page after page looking for a possible task to charge their time against was a no-starter.

So TimeControl evolved with several possible methods of reducing what end-users would be presented with.  We introduced pre-loading, dynamic filters and assignment selections but perhaps the most powerful tool for displaying high volumes of data in a digestible format was the notion of hierarchies.

The idea of breaking down tasks into groupings and sub-groupings wasn’t new.  The very project management tools we wanted to integrate with already used the idea of Work Breakdown Structures for large projects.  So we incorporated the concept into TimeControl.

At the end user level, the idea is very straightforward.  The possible charge codes that an end user has access to are presented in a breakdown.  The most simple would be just like a project system using a delimited charge code with each period being a new level.  This is amazingly effective.

But TimeControl doesn’t stop there.

The Charge Table can be organized with not one but multiple hierarchy definitions.  Let’s say that for some users, breaking the charges down by location, then billing status then priority is the way to go.  For others perhaps breaking the charges by billable then capitalizable makes more sense.  TimeControl’s hierarchies format can define multiples and end users can select the hierarchy that makes most sense to the.

We didn’t stop there.  The selection of Rates can use the same type of hierarchy structure as can the selection of Employees in other parts of the product.

TimeControl Hierarchies take massive lists of possible data and breaks it down to bite-sized selections.

Why is the Drill Down Analyzer one of the most popular TimeControl features?

It’s not a big mystery. The Drill Down Analyzer is one of the most popular features in TimeControl. To be fair, there are many features that are often mentioned by users when talking about TimeControl including the remarkable level of flexibility or the integrations already included or that can be created inside the product but once those features are configured; once the flexibility has been taken advantage of to configure TimeControl; those things fall into the background of every day operations.

The Drill Down Analyzer is the most popular go-to feature for administrators who work with TimeControl regularly.

So what is it?

The Drill Down Analyzer is a spreadsheet-like reporting mechanism that allows the user to create multiple definitions of fields called Views and then display that data based on any filter desired. There is no limit to the number of Drill Down Analyzer Views that can be created and TimeControl even allows for those Views to be either public or private to keep the number of them under control.

The user then selects a View, clicks Load and then takes advantage of any appropriate filter defined in the product. That can include a dynamic filter such as “Select a Project” where the user then selects a project or selects a range of dates or any other definition that you wish to constrain the data by. The Drill Down Analyzer then loads all the fields in the View.

But that’s just the start.

Just like many spreadsheet views, the Drill Down Analyzer will happily sort the View by clicking on any column header. Much more fun is to drag a column header to the Sub-total bar and instantly all the data is grouped and sub-totaled by that field. Drag a second field up and there are now Groupings, sub-groupings and sub-totals. Drag a third field and, yes – you guessed it, there are now groupings, sub-groupings and sub-sub-groupings with sub totals.

This is a stunningly powerful feature.

An end-user can use the grouping and filtering of data to answer some questions that might have taken ages. “This year, how many hours were spent on internal non-billable meetings by the technical staff?” That could be a few days of work if done manually or hours of work in most other systems. Using the Drill Down Analyzer, it’s a list of posted data that probably doesn’t even need to defined as it’s used all the time, select a range of dates when loading then group by internal (a user defined charge field) and billable (another user defined charge field) and you’ve got your answer in seconds, not hours.

As with all things TimeControl, the Drill Down Analyzer is always compliant with data security based on the User Profile so you don’t have any risk of seeing something you’re not supposed to see. It’s a remarkable feature and it’s a TimeControl Admin favorite.


Making your TimeControl timesheet entry more effective with preloading

One element of TimeControl we are always sensitive to is that end-users are not usually excited to do a timesheet.  We don’t have illusions about this.  But we do see how we can make timesheets the least intrusive and the least interruption possible for end-users.

One way we do this is to optionally pre-load the timesheet with work that is expected.  There are some rules about pre-loading that are important to know so let’s go through the pre-loaded options and constraints here.

Resource assignments

The most common type of pre-loading are for resource assignments.  We take information that is taken either from an import of assignments from an external project management system or from internal assignments in either TimeControl or TimeControl Project.  Then we present those assignments into the relevant timesheets at the moment the timesheet is created.  Filters are often used to avoid loading a week’s timesheet with every assignment for an entire project.  Filters usually incorporate start and finish dates and take into account the assignment status so closed charges don’t appear.

This has the effect of loading all the work that an employee was expected to do in the relevant timesheet for the week.

Personal Pre-loads

In addition to the resource assignments that will likely change from week to week, each users can also set personal preferences in their My Account area.  These personal-preloads can insert charge codes into a new timesheet that would typically always appear.  Perhaps “Meetings” is virtually always on someone’s timesheets but it is not a project management assignment.  Having this as a personal pre-load means not having to pull up a list of internal charge codes and finding “Meetings”.

TimeRequests for time off

When a user creates a TimeRequest for time off in the future such as for vacation, their supervisor can approve that time.  Once approved, TimeControl will treat the TimeRequest as a preloaded task and unlike other types of preloads will also insert the time.  This line item can be overwritten or even deleted if it turns out the employee actually came into work that week despite their approved vacation.


Autofill is most typically used at the end of the timesheet cycle and can create timesheets and load them with entries that include charges and hours for a particular group of people.  Then the timesheet can remain in draft or be posted or moved along the approval cycle.  This is particularly useful when there are non-project personnel who only enter timesheets “by exception” for example to only track sick leave or personal time off.  However, the functionality doesn’t have to be used at the end of the cycle.  The function can be created to load new timesheets in advance of the timesheet cycle.  In this case, the timesheet can be optionally preloaded with default tasks and even time.

Why don’t we load the expected times for resource assignments?

These days, one question we’re asked is why we don’t use AI to preload all the expected times based on the schedule of the project management system.  While we certainly have the capabilities to do this, we will not. The problem with using any automated algorithm to preload the timesheet with values is that the algorithm will become responsible for the values, not the person.  Not only will that make the timesheet unauditable but it violates numerous standards for timesheet entry by people like the tax department for research credits, the DCAA and others.  Remember, TimeControl is often used for payroll or for billing purposes.  Turning that functionality over to an algorithm would be a huge concern.

“But just present it and employees will only click ‘Ok’ if they approve it,” we’ve been told.  Even this is problematic.  The temptation to just click Ok will be overwhelming and we’ve refused to add such functionality as a result.  Ultimately, while, we’re keen to have the process be as easy as possible, having the data be of good quality is a higher priority.


The No-rates TimeControl Scenario

While TimeControl’s rate architecture is extensive, there are some clients who do not need to use it. There may be numerous reasons for a client to decide on a no-rates approach. Perhaps rates are already managed elsewhere such as in a payroll system. ‘If we just got the accurately categorized hours,’ they say, we could easily do the rates calculations here in payroll where the rates exist already. Perhaps the client doesn’t need a ‘down-to-the-dollar’ standard. It might be enough for them to use hours and an averaged rate calculation directly in a project system. Perhaps tying to multiple rates is a phase of using TimeControl that is planned for the future.

TimeControl’s flexibility isn’t restricted to how to handle complex timesheet elements. It can also be used to make some features simpler or to eliminate the feature altogether. ‘But wait,’ you might say. ‘Aren’t rates a required element of TimeControl?’ Yes they are. But the need to display them can easily be configured away.

Here’s how to create a no-rates approach:

First, create only a single global rate. Let’s call the rate code “S” for Standard” and let’s give it a value of $1.00. That can come in handy later. Now every hour will equate to $1.00 dollar worth of time. Since this single rate is a global type, it will be visible to all employees.

Next, make the ‘S’ rate the default for all employees. If you haven’t entered any employees yet, then putting the ‘S’ default rate into the Default Employee Table Template will have that ‘S’ standard rate automatically appear for everyone. Make sure that the ‘S’ rate is applied to all employees. Now the ‘S’ standard rate will be inserted into every single timesheet line including those created by AutoFill or TimeRequest. And that rate will be inserted whether the field is shown or not!

Finally, in User Profiles, hide both the Rate Code and Rate Description fields for all timesheet entry users.

That’s it. You now have configured TimeControl so that users will not see the rate code but it will be created and for all users and all timesheet lines, the value of each hour will be 1 dollar. Rates are hidden but they are being used properly.

This means that all standard reports that might have used rate cost values will now show just the hour values because of using one dollar per hour for the rate. You can relabel those reports to use for other purposes.

Remember that the rates functionality hasn’t gone away, it’s just been masked and, moreover, while we’ve just described how to create a no-rates system for everyone, you could elect to have this for only some employees while other TimeControl users would use rates in a more traditional fashion. All that would be needed is to ensure the User Profiles for the no-rates approach and for other employees are different.

To read more about TimeControl’s different rate scenarios and how to create your own rate structure, read the White Paper “Creating your Rate Structure” on the TimeControl White Papers Resource page at:

TimeControl authentication can be through Azure 365 Active Directory

Aside from its own internal authentication mechanisms, TimeControl and TimeControl Online support single sing-on from numerous LDAP (lightweight directory authentication protocols) and have supported Active Directory authentication for some time.

But not everyone knows that TimeControl also supports Microsoft’s Azure 365 Active Directory online service.  For many organizations that have embraced Office 365 and Microsoft 365, authentication through Azure 365 Active Directory is already a part of their structure.  For TimeControl, this means that all corporate users can simply use the same authentication process as they do for all their Microsoft Online services.

And that’s not all.  TimeControl does not force an organization to only use one authentication method.  Some of our clients have their internal staff using single sign-on through their corporate service such as Azure 365 Active Directory but also add users who are from outside the company such as temporary contractors to use TimeControl’s internal password authentication.  This means not having to onboard every contractor into the corporate system as though they were an employee.

It’s really the best of both worlds.  For more about authentication methods and TimeControl’s flexibility, talk to HMS at or email us at

Canada Day and Independence Day

From all of us here in Canada, we wish our staff, their families, our clients and colleagues a very happy July 1st Canada Day!  The HMS Offices will be closed today (July 3rd) in celebration.

For our American neighbors to the south, we wish them a very happy July 4th Independence Day tomorrow.  HMS Offices will be open tomorrow.

For everyone, wherever you are, we ask that you be safe during this busy time of travel and holidays.

It’s an all-new Dashboard in TimeControl 8.4

We’ve had dashboard views in TimeControl almost since its inception 29 years ago.  This last release of TimeControl offers a whole new look and feel to dashboards and a slew of new views.

TimeControl 8.4 included a complete dashboard rewrite.  Now, instead of 4 fixed panels, TimeControl offers moveable panels that can be drag and dropped.  There can be more panels than fit on the page so the page can become longer with more in it.  Aside from the already voluminous list of widgets to insert into those panels, we’ve also added a Notifications widget, Task assignments from TimeControl Project, a Task Project widget to show how tasks are being completed and an all-new GANTT widget.  There is a new Custom HTML widget to put, well, almost anything in.  That’s different from the existing Custom URL widget that would let you point to an external source and so much more.

Some widgets can be used multiple times on the same page.  A Barchart widget could show certain data in one panel but then be used again to show other data in another panel.  Same goes for the histogram view, the Pie Chart view and more.  The Chart widget includes options for Area, Bar, Line, Pie, Stacked Area, Stacked Bar and Stacked Line views.  That’s a big change from what was already there.  For each chart widget in a panel, you can use it for a Count, a Summary or an Average view.

Like all dashboards, they should come with a disclaimer.  If you feed the dashboard data that is untimely or mashed together from current and old projects, the view may not show what is expected.  We ask people to explain what decisions or actions they expect users to make when they see the dashboard view.  Announcements are self-explanatory.  They tell you to be advised about something or to do something.  Notification views or warning views with traffic light type red-yellow-green indicators could be telling people to take action and if so, there should be a broad consensus of what action should be taken for any particular indicator.

Just as was always the case, Dashboards can be specific to one group or shared among all.  That’s all up to you and is managed in the Dashboard security and in TimeControl’s security module.

It’s been 28 years since HMS joined the Microsoft Partner ecosystem. 

Back in 1995, It wasn’t even called the Microsoft Partner Network then.  That name would come a few years later.  In the here and now, HMS and Microsoft have announced that HMS will once again be part of the Microsoft Partner Network.

Our relationship as a Microsoft Solutions Partner started in 1995 as we sought to formalize our integration between TimeControl and Microsoft Project.  The relationship continues to be just as strong and continues to evolve even now, 28 years later.  This is one of the oldest technical alliances in the software industry.

“In 1995 it seemed like such a simple conversation,” explained our president, Chris Vandersluis.  “We would move data in and out of Microsoft Project and Microsoft could point to TimeControl if ever a prospective client asked where to find the timesheet.  Over the years we have adapted our relationship to keep up with so much more than one product link.

TimeControl can be tied to Microsoft 365, SQL Server, Azure 365 Active Directory, Microsoft Teams, SharePoint, Microsoft Dynamics, and of course, Microsoft Project, Project Online, Project Server and Project for the Web.  The ongoing relationships with Microsoft is at both a technical and business level at many points across the organization and as each new release or evolution of a Microsoft product becomes available, the TimeControl team adapts to it.

Microsoft technology is used to deliver TimeControl Online, HMS Software’s in-the-cloud subscription timesheet service and TimeControl on-premise.  Other technologies used can vary from client to client. Windows Server is the platform for the server and some clients will combine that with Microsoft Project, Microsoft 365, SharePoint, Teams, Dynamics or SQL Server.

Using HMS Software’s TimeControl with Microsoft technologies either on premise or in the cloud allows clients to enhance their business processes to comply with numerous timesheet requirements such as simultaneous project tracking, billing, HR management, payroll, job costing and auditable governance such as R&D tax credits, DCAA or Sarbanes-Oxley requirements.

HMS has created a resources portal to help identify which Microsoft technologies can be advantageous when using TimeControl.  The portal includes numerous resources including white papers, webcasts, PowerPoint presentations and more.  The TimeControl Microsoft Technology Portal can be found at: