Category Archives: timecontrol

Dashing Dashboards

We’re about to release a major update to TimeControl Dashboards in a couple of weeks as part of TimeControl, TimeControl Online, TimeControl Industrial and TimeControl Industrial Online version 8.4.  Before you get concerned, all your existing dashboard definitions are fine.  While you don’t have to make any new changes, a whole range of new dashboard functionality will become available to you including adding new dashboard types to the page and adding more dashboard items to the page than is currently allowed.

All of that being said, we thought it would be an opportune moment to talk about the pitfalls of dashboards.  The dashboard concept is hardly new.  Back when we got started in project software systems in the 1980s we were asked continuously for 1-page summary reports that would presumably show “everything” to management.

Everything is, of course, a tall order and it remains so with dashboards.  We’ve had very senior staff ask us “Can we see all current project and TimeControl timesheet data in real time?”  You can, of course.  But… do you want to?

When we are designing dashboards for clients we ask a few questions:

First, how often are the management personnel who look at these dashboards expecting to make decisions?  If the answer is every five to ten minutes, then real time dashboards might make sense but we’ve yet to meet that manager.

Second, when someone looks at data in a chart or a list on a dashboard view, do they have certain assumptions about the data?  We’ve never met someone who didn’t.  Managers think that when they’re looking at data synthesized on the screen that a) It is accurate and that the manager, project manager or supervisor is prepared to stand by that data.  If this data has gone through no approval at all, that’s unlikely to be the case.  So, our standard recommendation is to show dashboards on posted data.  Data is posted in TimeControl nightly or weekly or even bi-weekly.  If that’s the case, that’s the decision window.  To what should be no one’s surprise, weekly decisions seems to be the most frequently that managers want to make decisions about such data.  Monthly is the second most popular.

Third, is all the data there?  Before I look at a chart of, say, actual-vs-budget, am I looking at 100% of the actuals?  Have all timesheets been collected?  Making a decision on a dashboard view only to find out that only half the supervisors have posted their data would be a problem.

Fourth, is the data timely?  Am I looking at data that all belongs together?  We’ve seen dashboards of project performance showing actuals where half the projects were updated this week and the other have only had updates until last week.

None of this says that dashboards are bad.  We love dashboards and we think you’re going to love the new dashboard views in TimeControl 8.4.  But, as you create your own dashboard views, take a moment to make sure that what others will see on the screen is both complete and useful.

Workflow is a whole different level of automation in TimeControl

Let’s talk about workflow for a moment.  There are several concepts of automated workflow in TimeControl and several places where you would focus, feature-wise, as you were talking about it.  Let’s look at each of those and then talk about the TimeControl Workflow functionality.


Specifically, TimeControl’s Matrix Approval Process for Labor Actuals™.  This is a flow of data for the approval process itself. TimeControl includes approval functionality both for Finance oriented people to approve the total hours and Project oriented people to approve the timesheet data line-by-line.  This is all part of a process that locks down the totals and then allows changes by different people of each line.  It’s a powerful concept that we thought up in the early 1980s and its strength continues to prove strong today.  You can find out more about that at  For line item approvals, we have not only the Project Manager Approval but also Line Item Approvals that are associated to export definitions.  This provides a multi-dimension matrix of approving and, if needed, adjusting data.  So, a project manager can approve a line and, completely separately, a billing manager can reject a line and, completely separately, a client can approve a line on-site and so on.  Because these lines all serve different processes, the adjustment or acceptance of data is all kept distinct.


TimeControl also performs automated actions depending on what Accrual Rules you might have set up.  When a timesheet is release, or posted or on a scheduled basis, Accrual Rules can activate to make calculations and insert values into banks of hours for vacation, sick leave, personal time off or other distinct types of tracking such as overtime, banked overtime and more.  This allows a flow of data, calculations and changes that will impact mostly employee banks.  Accruals are highly dynamic and are a powerful aspect of TimeControl automating calculations that you would otherwise have to do manually with great effort.

Pre and Post-Posting Procedures

As timesheets are posted, TimeControl allows additional calculations of the timesheet data and other elements of data and this allows a flow of automated calculations to impact the overall TimeControl data in a myriad number of ways.


Ok, let’s turn to the subject we started on and that’s the TimeControl Workflow function.  TimeControl Workflow is activated at the moment a timesheet is released and changes ownership.  At that moment, the workflow looks to see if it should be triggered based on values or conditions in the timesheet data.  If so, it then makes a series of logical decisions about what to do.  “If that, then this”.  In this case, it might change the ownership from the current target to move on one target.  This might be used to say send the supervisor only the exceptions. If this timesheet is exactly 40 hours and has no overtime, no vacation or time off, then bypass this supervisor and send the timesheet to Posting or to the next level.  The Workflow could also automatically approve all lines in the timesheet in Project Management Approvals.  You could also send an automatic email to… well, anyone.  A project manager, for example, might get an email if this timesheet would put a project within 10% of its overall budget.

The level of automation here is extensive and is a common go-to configuration element of TimeControl deployments.

For more information about TimeControl Workflow and to see a webcast of it being defined, go to

API Dynamic Documentation

Writing documentation for any software product is a significant challenge.  There’s the obvious of course, how each function works targeted at end-users.  For TimeControl that’s quite straightforward.  Our User Guide is about 100 pages (a little longer for TimeControl Industrial as it has to cover the use of Crew Timesheets and Materials).  It’s under the covers that Documentation takes on more significance.

With a product like TimeControl, the level of flexibility and configuration that is possible with the product makes those elements of documentation much longer.  No client needs to know everything about how to configure every element of TimeControl as clients only need to focus on that functionality and those processes that are specific to their needs.  But there’s still a lot of it.  The TimeControl Industrial Reference Guide is over 600 pages long.  There’s also the TimeControl Report Designer Guide that is a little over 200 pages, the soon to be defunct legacy guide at 48 pages, the Installation Guide for on-premise clients at 90 pages and the TimeControl Project Guide at 44 pages so far.  It’s a lot.  There are variations on those guides to accommodate TimeControl on-premise vs. TimeControl Online and TimeControl vs. TimeControl Industrial.

There’s more of course.  The website has numerous white papers and other collateral like videos and webcasts to talk more about specific solutions and processes.  And, there is this blog where we try to add detail to things that need to be showcased or clarified for specific circumstance.

While all of that may seem like a lot, there is another category of documentation we haven’t talked about and that is the API Guide.   The TimeControl API is the Application Programming Interface that lets you write programming code directly to the TimeControl  Server service to allow it to integrate with actions from other applications.

The API Guide is not an indexed PDF like the other guides.  It is dynamic.  The API Guide includes static elements which HMS has created to show how to authenticate, how to initiate code to access the API and more.  Topics include Authentication, Security, Errors, how to scale, versioning, rate limiting, OData support along with Examples and a complete list of Endpoints.  For each EndPoint you can see all possible operations and for each operation, there is example code.  Any changes to the API cause automatic updates to the API Guide so it is impossible for it to be out of date.

Taking advantage of the API requires expertise in both programming and TimeControl operations and the API Guide itself has the potential to execute code directly on TimeControl.  This can and should be prevented for most users by not giving API security authentication to most User Profiles.

Creating API code and executing it should be done in a sandbox first to make sure it will deliver the functionality you expect.  It’s a powerful tool for integration with other systems to extend functionality but should be used with care and caution.

This is the most flexible type of documentation we’ve ever included in TimeControl and it’s worth a look.

What is Referential Integrity in TimeControl?

We often talk about the auditability of TimeControl’s data but how is that accomplished behind the scenes.

Imagine this scenario.  We have an employee fill out a timesheet.  We save that timesheet.  It will be no surprise that the timesheet line and header tables have relationships with the employee table, and the charge table.  But then next week, the employee changes departments.  He is no longer in the technical department.  Now he is in the sales department where timesheet rules are different.  Plus he changed salary in the move.  He’s no longer paid the same as he was.  Plus, the charge codes he used have had changes too. They have different start and finish dates.

If I go to look at this person’s timesheet for last week, will it show the updated employee and charge code information?  It won’t.  The TimeControl design was created so that a timesheet can always be recreated as it was originally entered.  That means we have to freeze the employee and charge code data and save anything else relevant to the timesheet at the time.  In TimeControl, we do this at the time of posting.  That allows us to comply with stringent auditing requirements such as the Defense Contract Audit Agency but it also allows us to follow some common sense accounting.

If we did a costing report on the employee I just talked about, we’d reasonably expect that his cost to the company per week would be one value until the department and salary change and then a different value after that.  Also, costs to the tasks that person worked on would be at the original salary value until the department and salary change.  That would just make sense.  That, however, is not how many project-based timesheets work.

So, how do we do it?

Using referential Integrity.

It’s no surprise that TimeControl is based on a relational database.  Products like MySQL, Oracle and Microsoft SQL Server are all relational in nature.  But that’s not enough.  From the earliest versions of TimeControl we’ve embraced the concept of relating different records into specific records in different tables.  Here is how that works.

When a record is changed in a key table in TimeControl like the Employee Table or the Charge table, TimeControl saves the original record as a historical record and makes the newly changed record the current record.  All ties from, say, a timesheet line to a charge code line stays with the original record.

That’s huge.

So, the newly updated record is what you would see in the Charge Table or the Employee Table but you can look also at the historic records that are related to that entry from all the times the record has changed in the past.

The TimeControl Employee Table is called “Employee”.  The TimeControl Employee History Table is called EMP_HIS.  The TimeControl Charge Table is called CHARGE.  The TimeControl Charge History Table is called “CHR_HIS.

When creating reports or exports, it’s important to keep in mind that these tables are distinct and display distinct values.  Choosing the Employee Table will show only the information for that employee record that is from the current entry.  Choosing the Employee History Table will show all the associated entries for that Employee over time.

We never delete historic records.

If you look at a timesheet from a year ago, the employee for that timesheet might not even be in the company anymore.  But the employee record associated to each timesheet will be.

Referential Integrity is part of what keeps TimeControl simple on the outside but robust and flexible on the inside.

It’s time to sunset some of TimeControl’s Legacy functionality

In 1999, HMS released one of the first browser-based products of any kind.  As part of the release of TimeControl 4 at that time, we had to find a way to perform several functions including reporting and linking to certain project management tools like Microsoft Project using OLE (Object Linking and Embedding).  We accomplished this with a technique called ActiveX controls.  These were downloaded objects that lived inside Internet Explorer and allows us to deliver all kinds of functionality in a way that looked and felt very much like the Windows executable version of TimeControl 3.

In all these years since 1999, we have maintained support for some 32bit ActiveX controls even as much of the functionality they performed has been superseded by other functions.  The only remaining ActiveX’s in TimeControl now are the old 32bit excel-like reporting engine and the OLE links.

With TimeControl version 7, we started referring to these functions as Legacy Functions and moved all the documentation for them into its own section of the Reference Guide.  If you’re a TimeControl user or administrator and are wondering what on earth we’re talking about, there’s no need to worry.  Most TimeControl clients of today have never seen or accessed the TimeControl Legacy Functionality.

In TimeControl version 8.4 we will, at last, be sun-setting the Legacy functionality.  It has simply become impossible to support.  The ActiveX’s work only with Internet Explorer which is no longer supported by Microsoft.  The controls are 32-bit even though virtually all Windows environments are 64-bit.  And, perhaps most importantly, all the functionality that is currently in the Legacy functions have been superseded by more modern functionality in TimeControl.

For those using TimeControl Online or TimeControl Industrial Online, the only change will be the absence of the Legacy tab in the menu security.  All TimeControl Online clients have had the legacy functionality turned off by default.  For those using TimeControl or TimeControl Industrial on-premise, any upgrades of 8.4 and later will have the Legacy functionality removed.

There may be some who want to preserve the reporting views that were created ages ago in the TimeControl Legacy report writer.  This is already accommodated in TimeControl as any legacy report views are automatically converted into Drill-Down Analyzer views.

For any on-premise TimeControl clients who may still have some use of the Legacy functionality and want to know how to transition out of it, please contact the Tech Support department at

It was a good run with some incredibly stable code and functionality.  But it’s time, at last, to move on.

Designing an effective timesheet approval process for both Project Management and Finance

There’s a reason the Matrix Approval Process is at the top of our Use-Case Scenarios Solutions page on

When HMS was created in 1984, our first-ever project included a requirement to write a timesheet that would be used both by Payroll and Project Management.  “Easy,” we thought.  The payroll people needed an auditable count-on-able record of time and attendance.  The project people needed updates to pre-planned tasks in the project management system we helped select and implement.

Easy isn’t how it went.  The needs of the Finance department and the needs of the Project Office seemed severely opposed.  As we delved deeper into the design, it became apparent that the real disagreements all centered around how approvals of the data would be accomplished.  Our first pass had the project people doing all the approvals first then sending the data to Finance.  That was not successful.  Our next try had project people and Finance people all doing approvals at the same time.  Also, not successful.  Finally we spent numerous days barricaded in a conference room working the flow and the priorities of the flow of data for the approvals and the result was the Matrix Approval Process for Labor Actuals™.

Ten years later when TimeControl was released as a commercial off the shelf timesheet product, the lessons we learned from that first attempt along with the 7 or 8 timesheet systems we’d written for clients in the intervening time came along.  The purpose of TimeControl was to deliver a timesheet that would have auditable Finance quality data that could be used for purposes like Payroll, Billing, R&D tax credits, DCAA compliance and more and yet, at its heart, be a project-oriented task-based timesheet system.  The core of that design is the Matrix Approval Process.

There’s lots of data woven into different elements of our collateral and materials.  We’ve tried to put as much of it as we can into the website itself where there are white papers, webcasts, slide shows and factsheets on how to create a timesheet approval process with both Finance and Project Management in mind.  You’ll find it at

TimeControl Flexibility allows for many use cases to be solved at the same time

We’re often asked at HMS if TimeControl is a “customized” timesheet solution.  Do we start with the basic template then customize the code to meet a client’s needs.

We do not.

But it might seem that way from the degree of flexibility that TimeControl is designed around.  Every copy of TimeControl is the same code as every other copy and that’s true both for on-premise and our TimeControl Online in the cloud.  But beyond the code there is so much more that can be done to configure the system.  That includes the way that TimeControl can adjust to the needs of many parts of an organization simultaneously.

As a result, TimeControl can be used for multiple use-case scenarios at once.  We’ve put several onto our website and there are certainly limitless more.  But, here are just a few from our TimeControl Solutions Page:

Project Management system integrations

TimeControl includes more existing integrations to project management tools than any other timesheet product in the industry.  These includes Microsoft Project on-premise, Project Online, Project Server, Primavera Pro, Primavera EPPM, ARES Prism, BrightWork, JIRA, InEight’s HardDollar and Deltek’s EPM systems.
See more at:

Human  Resources

TimeControl includes the auditable controls that allows it to be used for all the entitlements that HR tracks including vacation, sick leave, personal time off and more.  Also, banked time and vacation requests are a part of the product.
See more at:


TimeControl is often used for the time and attendance that is needed by payroll and is easily integrated into payroll systems whether they are online services or on-premise systems.  Being auditable is a key part of acceptance by the payroll department.  TimeControl can track limitless numbers of rates, overtime, double time, unpaid time etc. and can tracked banked time and other payroll elements as well.
See more at:

Time and Billing

For some organizations not only do staff need to be paid using timesheet data, clients also need to be invoiced based on that data.  TimeControl can handle both simultaneously.  Because of TimeControl’s remarkably extensive rate structure, internal payroll rates and billing rates can be tracked at the same time.
See more at:

Industrial Crew field data collection

Using TimeControl’s Industrial version, organizations can also deploy field data collection of Crew Timesheets, Material Consumption, Equipment Usage and even production accomplished.
See more at:

We’re only touching a few popular items.  Take a look at the Use Case Solutions list at:  For features specific to TimeControl Industrial, go to

Happy Holidays from all of us at HMS

Here at HMS Software it has been a remarkable year and we’d like to take a moment to wish you and yours a safe and happy holiday season and a happy New Year.

We are grateful for the relationship we have with all of our clients, colleagues and business contacts.
Over the coming days we will have a holiday schedule which will allow most of our staff to be with their families as we rotate in and out of the office on a reduced capacity basis.
The hours for the holiday season below are in Eastern Standard Time (GMT-5):
Friday, Dec 23: Closed at noon
Monday, Dec 26: Closed
Tuesday, Dec 27: Closed
Wednesday, Dec 28: Open
Thursday, Dec 29: Open
Friday, Dec 30: Closed at noon
Monday, Jan 2: Closed
Tuesday: Jan 3:Closed
Wednesday, Jan 4: Open and regular schedule restarts

TimeControl and HMS are featured on StarterStory!

We’re delighted to see TimeControl featured this month on StarterStory.  The feature talks about how HMS was founded some 38 years ago and the evolution of the company with TimeControl starting as an on premise solution and then becoming both on-premise and SaaS solutions.

It’s been a year of HMS being featured on a wide variety of websites, podcasts and features like this one.

We’re very proud to have HMS and TimeControl showcased in this way.  You can read the story in its entirety at:

How long should a timesheet be?

One key question when setting up a timesheet system is determining how long a timesheet should be.  TimeControl not only lets you select, it let’s you manage multiple timesheet lengths for different people on your system all at the same time.

How often should you collect, approve and close timesheet periods?  Daily?  Weekly, Bi-Weekly?  When TimeControl was first designed, we created weekly timesheets.  It was the most common and most popular timesheet length and, while it wasn’t always the frequency that Payroll needed, it was by far the most common frequency that project managers wanted to update their projects on.

In later versions of TimeControl we made the timesheet length a system selectable length but then realized that larger organizations needed something more.  They needed multiple timesheet periods at the same time.

So now TimeControl allows you to create multiple periods for a timesheet.  You can select daily timesheets for some employees who are perhaps working on shift work, weekly timesheets for others.  You can select monthly timesheets perhaps for those who are contractors, bi-weekly for others.  TimeControl accomplishes this by storing the final timesheet data by day so it doesn’t matter so much what frequency it was collected on.  At the end of the timesheet period, the timesheet data will go through its own approval process and be stored in a way that it can be reported on or exported in whatever time buckets are needed.

There are several possible selections when creating timesheet period calendars:

Daily – one timesheet period per day
Weekly – one timesheet period per week
Bi-Weekly – one timesheet period is two weeks long
Bi-Monthly – one timesheet from the 1st of the month until the 15th, the next timesheet period is from the 16th of the month to the end of the month, however long the month is
Monthly – one timesheet for the entire calendar month
Custom – This allows you to make virtually any selection of dates and durations so long as they don’t overlap.

On the employee record, the Administrator simply selects which generated calendar that employee will select time on.  This overcomes so many huge problems such as weekends being on different days in some part of the world for our users compared to others.

It is a remarkably flexible concept that we’re very proud of.  Timesheet periods that are flexibly generated which can then be then be applied to employees as they need.

This is explained in the TimeControl Reference Guide but existing and prospective clients who want to talk about how they can take advantage of TimeControl’s remarkable multi-timesheet-period structure can contact HMS and talk to one of our timesheet experts at