Project Specific Rate Codes

Rate management is one of TimeControl’s most popular capabilities. Each hour worked on the timesheet can be calculated against a rate value according to the rate table. The end user selects a rate code on the timesheet and as the timesheet is posted, TimeControl calculates the costs.

Each rate code has two values, which are most commonly use for the internal or direct cost of the employee and the external or billable cost. TimeControl supports an unlimited number of codes which allows for many combinations. One of the most common requests is to track project specific costs.

Because there are an unlimited number of charge codes possible for each employee, the amount calculated for each hour of work can be different for each project and for each employee. For a client with a lot of projects, the number of possible rate codes that could be chosen by an employee, could become quite extensive. TimeControl provides a function that minimises the effort required to choose the correct rate code and that increases the accuracy of the entry. This function allows a project- specific rate code to appear when the project is chosen. This rate code will take precedence over any employee defaults that have been specified in the Employee table. To use this configuration, first add the project-specific rate code to the Labour Rate Table as a Global ate code type. This is a requirement for using the project-specific rate function. If you desire an employee-specific project costs, then add a rate with the same rate code value but as an employee specific rate. TimeControl will always select the most specific rate code applicable with that rate code value. So, for example, if the rate table has a rate code called “Std” for Standard rate and that is a Global Rate of $50 and a rate code called “Std” which is an employee specific rate for John, then when John does his timesheet, TimeControl will assume that the “Std” for John is the correct code.

Once the Global rate has been created, then go to the Project Table, and locate the project for which you’d like this rate code to be specified. On the Project Details tab select the project specific rate code.

Note that only global rates can be selected.
Selecting the “required” button will ensure that only this rate can be selected on a timesheet when this project is selected.

When the project is added as a line item to an employee’s timesheet the project specific default rate code will be automatically selected. If a matching employee rate type has been created, the employee rate value will be calculated. The project rate code will take precedence over the default rate code specified in the Employee Table.

In this example, the P_SPEC rate was added automatically to the DA Project line item.

TimeControl and Project 2010

As you may have seen over on my EPM Guidance blog, Microsoft has now shown Project 2010 and Project Server 2010 at its Project Conference in Phoenix last month. HMS was in attendance at both the Project Conference and the Ignite Airlife immediately preceeding the conference. HMS is one of the longest standing partners of Microsoft Project. Our link between TimeControl and MS Project dates back to 1995 and we’ve maintained a continuous relationship with Microsoft since then. With my participation for five years on Microsoft’s EPM Partner Advisory Council, I’d already seen much of what Microsoft had intended in both Project and Project Server and, while nothing we saw in Phoenix was a big surprise for me, it was nice to see the version I’d spent so much time on coming close to fruition.

Some people have asked us already what the future of TimeControl and Microsoft Project will be and since the announcement of Project and Project Server 2010 is quite fresh, it’s a good time to make sure our existing and prospective clients are up to date.
First of all, TimeControl will have a link to both Project Server 2010 and Project desktop (meaning Project Standard and Project Professional) 2010. We will be releasing updates to both the TimeControl 5 and TimeControl 6 families closely following the release to market (RTM) of Microsoft of Project 2010. Microsoft will be releasing Project and Project Server 2010 simultaneously along with the rest of Office 2010 in “the first half of 2010”. Our release will happen shortly thereafter. HMS already has access to the “Technical Preview” version of Project and Project Server so we’ve been able to work on the link since late in the summer.
If you’re wondering if TimeControl’s relevance will change with new functionality in Project Server 2010, the answer is no. TimeControl’s position as a full timesheet application will be just as critical as it is now. The timesheet in Project Server 2010 has definitely improved and we think users will like it but as soon as you consider using a timesheet for both the updates to Project and for use as a financial system for example for payroll, the functionality of TimeControl for things like payroll rules, multiple rates, rate tables and more become essential. Plus, remember that TimeControl can link directly to Project Standard and Professional. We’ll be publishing an updated factsheet on TimeControl closer to the release of Project 2010.
One of the things that users of the new link will enjoy will be a huge improvement of performance on the TimeControl to Project Server link. Microsoft has updated the code in their PSI module that will make moving timesheet and task update data back to Project Server way easier than it’s been so far.
Stay tuned in the new year as there will be a number of announcements on the new link.

Using TimeControl by exception

In some organizations there is a great need to track what employees are doing with their day. A timesheet allows each employee to choose from a list of tasks and identify how much time each task took. TimeControl is ideally suited to such a system given it’s ability to track time task by task.

But there is another type of user that is often more plentiful than the project-based personnel. This user may not have a need track their tasks throughout the day. Perhaps the user does the same thing each day or perhaps the user is compensated and measured through other means.

Let’s take an high-tech organization. There may be researchers and IT specialists and marketers who work on projects throughout the week and we know we can be more effective if we can determine where their day is being used. But such an organization might also have salespeople. These people are compensated by commissions perhaps. Should they too need to complete a timesheet every day? (Actually there’s a good argument for doing just that but let’s imagine that in this organization we don’t wish to do this at all.)

TimeControl can also be used as a by-exception system. Some users could be asked to enter their timesheets on a weekly basis and the TimeControl validation rules can be set for those users to ensure that the timesheet represents a complete week of 40 (or some other number) of hours for example.

For other users however, TimeControl could be configured so that the users only enter a timesheet when they have taken time off. This “exception” time could be for vacation, sick leave, jury duty or just PTO – Personal Time Off. The possible entries for these users would only be for exception time and these users would not be listed in missing timesheet reports as timesheets would not be expected every week.

There are two ways this can be configured in TimeControl for the non project personnel. Option 1 would see the exception timesheets only containing the exception hours. Option 2 requires a few more hours work during configuration and adds a process which fills in additional hours to any exception timesheet or any blank timesheet to result in a complete list of hours for the week. Either option works well though reporting with Option 2 can be blended much more easily with the timesheet data of project personnel.

The benefit of mixing project and non-project users in a single TimeControl instance would ensure that 100% of staff were represented in the system. TimeControl’s reporting can be segregated with filtering to ensure that project and non-project timesheet data isn’t mixed or the data can be blended together as desired.

TimeControl’s flexibility makes it one of the few systems on the market that can accommodate both project and non project personnel from within the same system.

TimeControl charges restricted by assignment

By default, TimeControl allows users to see every possible project and every possible charge code in the system. There are, however, a number of features within TimeControl to restrict what projects and what charges each employee should be allowed to choose from.

In the TimeControl Employee Table, the administrator can declare a pre-defined filter to apply to the project selection and charge selection that will be applicable to each employee as they enter their timesheet. Popular filters include “only projects which are open” and “only charges which are open” or “only charges with a start date within 2 weeks of today”. These kinds of filters are relatively easy to create.

There is another request that we hear from time to time from those with experience in popular project management systems. These systems often constrain the timesheet to only accept charges from the employee’s assignments. This makes more sense when project resource scheduling is being done at the individual level which may not be the case for many environments. But, where individual assignments are identified, these project systems will present or show only those records for which the employee has a valid assignment.

Can TimeControl provide the same kind of functionality?
It can.

First, when TimeControl is linked to a project management system, we provide the option to bring in all the resource assignments. It’s not a requirement but when the option is selected, a table is loaded which is attached to the Resource Table. This data is called the “Preloading list” and shows all resources attached to a task back in the project system. Within TimeControl we can add or remove from this list manually. The list can be used for pre-loading but we can also take advantage of the list to make a filter that can constrain both the projects and charge codes that can be seen by each employee.

Project Filter
First, let’s make the filter for the Project List. Add a new filter, give it a name like “Project Assignments only” and select the Project table. The filter we want to make can’t be created from the standard field menu so clear the “Always generate the SQL when saving” option and click on the SQL tab. Now copy and paste in the follow SQL command:
SELECT TCPROJ.PRJ_KEY FROM TCPROJ WHERE ((PRJ_NAME = ‘ADMIN’) OR (PRJ_KEY IN (SELECT DISTINCT CHR_PRJ FROM CHARGE WHERE CHR_KEY IN (SELECT DISTINCT CRS_CHR FROM CHRRES WHERE CRS_RES = (SELECT EMP_RES FROM EMPLOYEE WHERE EMP_KEY=%TSH_EMP%)))) AND TCPROJ.PRJ_STATUS <> ‘Closed’)
Save the filter, go to the Employee table and select this filter in the Project Filter field.

Charge Restrictions
Ok, now here’s the Charge filter. Add a new filter, give it a name like “Charge Assignments only” and select the Charge table. Once again the filter we want to make can’t be created from the standard field menu so clear the “Always generate the SQL when saving” option and click on the SQL tab. Now copy and paste in the follow SQL command:
SELECT TCPROJ.PRJ_KEY FROM TCPROJ WHERE ((PRJ_NAME = ‘ADMIN’) OR (PRJ_KEY IN (SELECT DISTINCT CHR_PRJ FROM CHARGE WHERE CHR_KEY IN (SELECT DISTINCT CRS_CHR FROM CHRRES WHERE CRS_RES = (SELECT EMP_RES FROM EMPLOYEE WHERE EMP_KEY=%TSH_EMP%)))) AND TCPROJ.PRJ_STATUS <> ‘Closed’)
Save the filter, go to the Employee table and select this filter in the Charge Filter field.

Before you scramble off to make this the default for all your users, you’ll want to consider a few questions:
How often do people do work on activities to which they were not originally assigned? How good was the original plan? If people typically work on activities to which they weren’t assigned, you’ll need to do a lot more updating of the Preloaded list or linking to an updated project schedule with assignments in order for users to be able to complete their timesheet.

Is there an administrator available that can update the preloaded list as required? They’ll need to be available for sure near the end of the work week to quickly update possible entries.

Does the work and procedures that are necessary to keep this list maintained, add more or less work than the alternatives? It’s important to think of the ROI. Clients often ask for this option with the thought that it will reduce inaccurate data. If, however, there is so much effort maintaining the assignment list accurately, it may outweigh the benefits.

Frustration of users may be high if they can’t find their charge codes, resulting in bad data. If a user can’t find the right charge and can’t reach the administrator to make sure it’s in their assignments, then they might choose any charge in order to complete their timesheet. If that happens, Administrators may spend more time reassigning charged time through Debit/Credits to fix bad data.

On the other hand, if assignments are generally quite stable then limiting choices in this way may reduce user confusion in choosing the right charges.

Remember too that if the data is in the pre-loading table either through manual input or automatically by linking to a project management system and transferring the assignments, then the timesheet can be pre-loaded with the correct assignments when it’s added. That may be enough to encourage correct data without having to restrict it to absolutely these charges.

Think about the pro’s and con’s and test out the new filters with a small number of users before deciding to adopt it wholesale.

The odd case of the missing timesheet

It’s the toughest thing about timesheet management, finding the missing timesheets on Monday morning (or whatever morning is your start of week). Fortunately TimeControl has functionality that lets you track down these timesheets that are yet to be.

There are two main weapons in the arsenal of TimeControl timesheet administrators to track down missing timesheets. The first is aptly named “The Missing Timesheet report”. This report has a number of options. When you start the report from the Reports Menu area, it asks whether to include:

        1. Only timesheets that have not been started
        2. Timesheets which have been submitted but have not yet arrived in “Posting” or completed status.
        Administrators can then produce a report showing any timesheets which stand between them and 100% compliance.

        As great as that sounds, there’s more. In the User Profiles definition, you can set security to show “Timesheet Data only for me and those who report to me.” This will ensure that the Missing Timesheet report only includes information from those below the person with this profile in the approval hierarchy. It’s an ideal setting to turn on for Department Supervisors who can be made responsible for the collection and approval of timesheets in their area. Since the report is hierarchical it doesn’t matter how many or few levels of approval there are, with this setting on, any timesheet data and only the timesheet data below the user will be visible. Now each department supervisor or timesheet clerk automatically has a Missing Timesheet report that applies to their department.

        The Missing Timesheet Report is a powerful tool and already goes a long way towards ensuring that any incomplete or unsubmitted timesheets are located but it is not the most popular tool among TimeControl Administrators. That privilege rests with the “Email Notification.”

        Email Notification takes the missing timesheet and automatically sends a pre-formatted email to everyone on the timesheet list. When starting this option from the Tools menu, it asks who you want to locate just like the Missing Timesheet report does. Then you’re given an opportunity to enter a message to users who may have a missing timesheet within their control. That means the employee themselves if the timesheet isn’t started or a supervisor if the timesheet has been submitted but is not yet own by the “Posting” process. The function uses the email address in each user’s record in the User table to determine where to send mail to. As good as that is, this function is made much more powerful by allowing TimeControl Administrators to automatically schedule emails to be sent out automatically! This means that an Administrator can schedule a gentle reminder to go out on a Friday (or near whenever the end of the working week is for you) saying “Don’t forget your timesheet”. They can then schedule an email to go out on Monday morning saying “Perhaps you forgot your timesheet?” and an email later in the morning telling the recipients that “No kidding, we’re waiting for your timesheet please!” As the day progresses, hopefully the list of recipients becomes shorter and the message more insistent.

        Both the Missing Timesheet report and Missing Timesheet Email Notification depend on the “Start” and “Finish” dates in the Employee record. You can think of those fields as “When we should start looking for missing timesheets” and “When we should stop looking for missing timesheets”.

        These are two of the most powerful tools but they’re augmented by a few other elements:
        First, the TimeControl dashboard can be set up to show users if they are missing any past timesheets as soon as they log into TimeControl.
        Next, the integration of TimeControl into processes like Project Management, Payroll and HR let the compliance of the timesheet in TimeControl adopt the standards of the compliance of those systems. For example, if the timesheet is key to having payroll done successfully, there’s an enormous incentive for employees to complete it. That helps on the project management side as the data is collected at one time. TimeControl’s ability to be a single source of timesheet data for many different systems is a big benefit in this regard.
        Finally, TimeControl’s functionality for “Alternative Users” who can replace a supervisor to approve timesheets when that supervisor is away for an extended period, “Change Ownership” which allows an Administrator to force an incomplete timesheet up the approval path when an employee has started it but is absent and the ability to automatically send emails for rejected timesheets that had an approval problem all lend themselves to helping make sure the timesheets are located each week and ultiamtely end up in a posted format.

        TimeControl’s ability to track down missing timesheets is one of the reasons it is so popular with such a wide range of sizes of organizations. This functionality scales to tens of users, hundreds of users or thousands of users as a natural part of the weekly timesheet process.

        Cascading User Defined Fields

        Here’s the challenge. On a timesheet you have several user defined fields. Let’s take a simple example. We have consultants who do several things but we want them to identify what city they were in when they were doing the work this week. So, I could populate a drop-down list of 10,000 cities but scrolling through it to find Toronto would be quite tedious.

        TimeControl now accomplishes this with “Cascading User Defined Fields”.

        To activate this feature you’ll need to have access to the TimeControl Server and follow these steps:

        1. First, create your user defined Text Fields in the timesheet itself. You may want to hide them from others in the User Profiles until you’re ready to display them.
        2. Now, under the TC5 directory add a new folder called “CustomWork”
        3. In this folder make a file called “TimesheetUDF.ini”
          Here’s an example of what would be in the file. In this example, timesheet field 2 would depend on the value in timesheet field1, Timesheet field 3 would depend on the value in timesheet field2.

          [DEPENDENCY]
          TSD_FLD2=TSD_FLD1
          TSD_FLD3=TSD_FLD2

        4. In the fields themselves, we then use periods to distinguish the levels.

          So in TSD_FLD1 we might have:
          CANADA
          USA

          TSD_FLD2 might then have:
          CANADA.QC
          CANADA.ON
          CANADA.BC
          USA.NY
          USA.NV
          USA.FL

          TSD_FLD_3 might then include:

          CANADA.QC.MONTREAL
          CANADA.QC.QUEBEC
          CANADA.ON.TORONTO
          CANADA.ON.OTTAWA
          USA.NY.NEWYORK
          USA.NY.BUFFALO
          USA.NV.LASVEGAS
          UAS.FL.MIAMI

        5. You’ll need to restart your TimeControl Transaction Server for the new definitions to take effect.

        When entering a timesheet now, if you choose “Canada” in field 1, then only QC, ON and BC will appear in field 2. If you then choose “ON” in field 2, then TimeControl would only show “TORONTO” or “OTTAWA” in field 3.

        The effect is to reduce what is potentially tens of thousands of choices to a tiny handful and that can make the difference between a complicated timesheet entry and a very simple one

        What’s a Batch Transfer?

        Did you know about Batch Transfers in TimeControl?

        Think about this challenge:

        You’ve got all kinds of timesheet data for the month and you are sending it out to your payroll service in an export file. The timesheet system happily creates the file for you and sends it to the pay people.

        A week later it turns out you need to make a number of adjustments to the timesheet. You add hours to one thing, remove them from another and now you have a bunch of timesheet data from a previous period that you need to export. How are you going to do that? Do you re-export the whole month? Do you keep track of what changes happened manually? Do you try to find the internal update date and number to see when things were updated?

        TimeControl’s Batch Transfers were designed for exactly this challenge. Each time an export is defined that includes timesheet hours, there is an option to declare the transfer a “Batch Transfer”. When this is done, each time the export is executed, all the timesheet lines that were a part of that transfer are given a number. Then when the export is run again, the user is given the option to export new records or to re-export a previous batch. This is a very important element of functionality. It means that you can request a transfer of all data from the beginning of the fiscal year and only the records which have never been exported before will be put into the transfer transaction file.

        This is a function which is critical for transfers to payroll or billing. It prevents double-payments, double paycheques and makes finding and exporting on previous timesheet adjustments much more efficient and much more reliable.

        Check out Batch Transfers in the Export Tables function of TimeControl

        TimeControl supports Primavera “Steps”

        TimeControl 5.1.2 became available yesterday and along with several improvements came long-awaited support for updating Primavera Steps within the TimeControl Timesheet. As you can see by clicking on the screen at right, there is a new tab called Activity Steps which displays the sub-task level steps and the percent complete for each one. The resource which is designated in Primavera as the ‘primary’ resource will be able to edit the Step progress. Other resources will be able to see them only. New Steps cannot be added within TimeControl. They must be done within Primavera itself. You can see a quick video of Primavera Steps working within TimeControl 5.1.2 on the TimeControl 5.1.2 Steps Screencast.

        On demand, scheduled, triggered, which is best?

        TimeControl includes a number of links to project management tools and a number of different methods of connecting to them.

        If using Microsoft Project Standard or Professional, the link is to a desktop tool and that’s always going to be on-demand but what about if you’re linking to Microsoft Project Server, Primavera or Deltek’s Open Plan? Now the link is typically server-to-server and could be scheduled or on-demand. With Project Server, incoming links can also be triggered by the TimeControl “OnPublish” event that is included with the system. Primavera can also be set up to automatically link data to TimeControl when a new project is created. Here’s the best practice that’s most commonly applied:

        First for incoming changes in data, this is a link that is meant to keep the TimeControl charge and activity code information up to date with the changes that may exist in the project files. It’s most typical to create the incoming links as scheduled or automatic events. If the link is with Project Server, then the “OnPublish” event module that is part of the installation is perfect for this. If the link is with Open Plan or Primavera then a regular scheduled link moving information on a server-to-server basis is ideal.
        How often should the links happen? As often as the project is likely to be updated. For most projects a weekly link will probably be fine. If your week-ending day is Friday, then a link on Thursday night might be appropriate. Some projects are highly dynamic and need to be updated multiple times per week or even multiple times per day. Create as many scheduled events to do this. A scheduled link can be daily or weekly and you can pick the day and/or time when you’d want it to occur.
        For project updates that will move timesheet information back to the project management tool, we recommend making most of these links “on-demand” for the project manager. That means that the project manager will pull the data from TimeControl to their project management tool when they are ready for it. You can make the link automatically scheduled of course but we had an image of a project manager working on his project late one night and suddenly “poof” everything changes as the automatic link moves the data in from TimeControl. Most project managers will want to bring in the data when they’re ready to see the project advance.
        There may be exceptions of course. Some projects such as regular maintenance projects aren’t really managed the same way and an automatic link to update those files from TimeControl may make more sense. You have the option to do both.
        With TimeControl, you get the ability to make your links as automatic or as manual as you wish and each situation can be different.

        What about TimeControl in a 64 bit environment?

        With more and more people asking about TimeControl in a 64 bit environment, I thought it might be worthwhile to talk about it.

        When people ask whether TimeControl works in a 64 bit environment, we have to take a moment and ask what part. There are several elements of TimeControl to consider.

        • If we’re talking about the data itself running on a 64 bit database server, the answer is Yes. TimeControl is happy to connect to a 64 bit database server.
        • If we’re talking about the client workstations within Internet Explorer, then the answer is also Yes. The TimeControl ActiveX controls are 32 bit controls but Microsoft loads a 32bit version of Internet Explorer by default in a 64 bit operating system and TimeControl is perfectly happy there.
        • The TimeControl ATS middleware itself does work in a 64 bit environment but the COM Server which provides the menu to the IIS (Internet Information Services) webserver is 32bit only so our instruction to clients is to install the TimeControl Server on a 32bit server operating system.
        • What about a 32bit Virtual Server running in 64 bit hardware? This works just fine for the TimeControl ATS and both VMWare and Virtual PC are very effective in managing TimeControl in this way. If you only have a 64 bit server available, then creating a Virtual Server running Windows 2003 or 2008 on that machine and installing the TimeControl ATS there is a perfectly viable solution.

        In TimeControl 6 we’ve already made allowances to support both 32bit and 64bit servers as we have eliminated the COM Server. This will result in different installations depending on which server you’re installing onto.

        The official blogsite of TimeControl