Tag Archives: TimeControl

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.

TimeControl’s TimeRequest Wizard is truly magical

TimeControl has long had the ability to allow employees to request time off in the future using the TimeRequest feature.  Employees make a request for time off for an event such a vacation or expected sick leave and that goes to their supervisor for approval much like a timesheet would.  Then, once approved, that timesheet entry including the number of hours involved, the charge code and the rate code are automatically inserted into the appropriate timesheet.  If, for some reason, the employee goes to work on that day, they can just overwrite the entry with other timesheet lines.

An extension to the TimeRequest function is the TimeRequest Wizard.  This module allows an administrator to add pre-approved TimeRequest timesheet lines to many employee’s future timesheets at once.  It is most typically used for entering statutory holidays such as New Year’s Day or Christmas.

The TimeRequest Wizard has recently been enhanced with some great new features.

Administrators can set up different TimeRequest Wizard entries and then save them for later updating.  This means that one TimeRequest Wizard entry could be made for example for all the holidays in the US and associated with a filter for US-based staff then a different TimeRequest Wizard entry could be made for all Canadian holidays and associated with a filter for all staff based in Canada.

Since TimeRequest Wizards are now saved, they can also now be recalled and edited.  This provides an easy way for TimeControl administrators to onboard new staff with future holidays and to offboard staff so there is nothing still pending for their timesheets in the future.

The TimeRequest Wizard is an easy way for administrators to save a ton of time.  You can see the online lesson of the TimeRequest Wizard in action on the TimeControl Online Training page at:  timecontrol.com/resources/online-training/timecontrol-8.

Semiconductor company AMD and HMS collaborate on TimeControl Case Study

We are very excited to kick off blog posts for the new year with something we’ve been working on for some months.  In the summer of 2021, AMD (Advanced Micro Devices) and HMS started working on a case study to showcase how the world renowned semiconductor company has deployed TimeControl to its employees around the world.  That case study is now complete and you can read it here.

Our thanks to the TimeControl deployment team at AMD for their partnership as well as all the AMD staff who interact with TimeControl every day.

You can read or download the story here:

New TimeControl White Paper on Change Management

Process change in an enterprise can be complex.  The more people who are touched by the changed process, the more likely it is to have people concerned by even the smallest change.  At HMS we encounter this phenomenon on a regular basis.  When you think about TimeControl, for most users it constitutes a tiny part of their work week but the implementation of a timesheet touches every human in the organization and sometimes beyond to those not even in the organization.  So, the potential for resistance to a new enterprise system becomes very real.

Our president, Chris Vandersluis, speaks on this topic often when lecturing or teaching at project management groups.  He has grouped some of his work on the subject into a White Paper entitled, “Managing the Change of Change Management”.  We’ve formatted it into a TimeControl white paper although the subject has relevance to almost any enterprise system deployment.

You can find the white paper on our Resources White Paper directory. or you will a version of it on Mr. Vandersluis’s blog at EPMGuidance.com.  The white paper can be downloaded in PDF format in case you wish to share it.

This is a subject that will likely be added to as time permits so keep an eye on the website for changes.

Join our live Webinar showing TimeControl and BrightWork together

TimeControl is a multi-purpose timesheet designed to integrated with multiple project management systems. When it is integrated with BrightWork, you can create a collaborative project management SharePoint environment where the organization’s timesheets are blended naturally into the project process.

On Wednesday, May 12th at 11am EDT, 8am PDT, 4pm GMT BrightWork and HMS Software will co-host a live webinar showing how to enhance your Project Analysis in SharePoint using BrightWork and TimeControl.

You will discover:

  • How to quickly get started managing projects and portfolios with SharePoint
  • How integrating TimeControl as an enterprise timesheet brings a single point of entry for timesheets into the project environment
  • A live demo of BrightWork and TimeControl working together

Don’t worry if you can’t attend! Sign up anyway and we will send you the recording.

The Webinar is scheduled for July 11th at 4pm GMT, 11am EDT, 8am PDT.

To Register click: Register Here.

Our President, Chris Vandersluis was recently featured on the B2B Podcast!

Our president, Chris Vandersluis was delighted to be interviewed by David Ledge of the popular, Business to Business (B2B) Podcast.  You can hear David and Chris discussing some of the business challenges HMS Software has been able to overcome and how flexibility of the TimeControl product offering has been critical to helping to thrive over 30 years of business.

You can enjoy the podcast in its entirety from:


Create Exception Reporting with TimeControl Scheduled Reports

TimeControl’s reporting capabilities has always been a powerful aspect to the system and this continues to improve.  One area of TimeControl reporting that is remarkably powerful is the ability to create scheduled reports.

Just as with all of TimeControl’s automatic scheduled processes, Scheduled Reports allows the process to be set for a regular schedule such as hourly, daily, weekly or really any schedule you choose.  The resulting reports will be send to one or to multiple recipients.  The reports will be generated at the planned time by the TimeControl server in the background and then sent in PDF, Excel, Word or CSV format as you choose.  If the resulting file is too large to send via email, a link to the file will be sent instead and an encrypted copy of the report file will be kept on the server to be viewed when selected.

The use of TimeControl filters allows reports by exception to be created.  The impact of this can be significant.  A report showing only information that exceeds the exception parameters can be sent on the schedule.  If no data exceeds those parameters, then no report gets sent.  This could significantly impact how managers and more senior executives consume TimeControl information.  The full system is always there of course, but the ability of TimeControl to wake up regularly and send a report to an executive that asks for immediate attention is pretty powerful.

The TimeControl report designer is powerful allowing for simple column text reports or a mix of charts and text or just charts.  You can choose from existing report templates and adapt them to your needs or create a report from scratch.

For more information on reporting, consult the TimeControl Reference and the TimeControl Report Designer Guides or contact info@hms.ca if we can be of any further help.

HMS Software makes Latka top 250 SaaS companies

We’re very proud to announce that HMS Software has made the Latka 250 list of fastest growing SaaS companies.  Nathan Latka runs a very popular podcast at Getlatka.com and maintains a massive SaaS database that is updated annually.

Our President, Chris Vandersluis, was featured on a Latka Podcast.  The show has passed 13m downloads and our profile has been viewed over 30,000 times. You can listen to the last podcast on YouTube at: https://youtube.com/watch?v=HA_DL0l0MCs.

Of the 5,091 companies that Nathan Latka surveyed, only the top 250 made the list and our growth of 26% in 2020 was enough to put us onto the list.  We’re delighted to have made it to the list.  Thanks to all our clients and team members for the successful 2020 under trying conditions.

We’re hopeful that we’ll be on the list next year too as we add more clients to our TimeControl Online services and work on releasing updated and new products later in the year.

You can find out more about the rankings at: https://getlatka.com/saas-companies/fastest-growing/revenue/2020 and for HMS Software’s profile visit: https://getlatka.com/companies/hms.

TimeControl client EXFO marks 20 years with TimeControl

We were delighted this week to receive a letter from Andre Richard, the Director of Research and Development at EXFO a worldwide design and manufacturing company specializing in telecommunications.  You may not know EXFO yourself but your phone probably does.  EXFO  works with suppliers like Verizon, AT&T, Vodafone, Orange and many, many more on testing and service assurance systems.

While all letters of praise from clients are extremely exciting to the HMS Staff and TimeControl team, Andre’s letter is particularly heartwarming because of the long standing use of TimeControl at EXFO.  “We have used TimeControl for more than 20 years to capture the efforts of our R&D team,” Andre explains.

TimeControl has been used at EXFO as part of their research and development tax credit applications and has passed the test of audits more than one.

We’re very proud to count Andre and the entire EXFO team among our many clients and look forward to many more years of working together.

You can read Andre’s letter in its entirety at: