Integrate TimeControl with QuickBooks

When clients call and ask if we can integrate TimeControl to their finance system, we rarely need to look at the finance system to say yes. TimeControl links to corporate systems in one of two major methods: The most popular is through transaction files that we create from TimeControl and are imported by the finance system on a regular basis or that the finance system creates and we import into TimeControl on a regular basis.
TimeControl can also integrate its data directly with large ERP systems since both TimeControl and these large systems are based on similar database environments.

For those using tools for the midmarket or smaller markets however, it isn’t always so easy. Quickbook users might like the reference to the “IIF Transaction Creator for QuickBooks” which can be found at www.bigredconsulting.com/AboutCreator.htm. This tool can take files created by TimeControl and move them into the Quickbooks architecture as transations.

Why not put in the hours for me?

I get this question all the time. Users who look at the robust TimeControl interface ask why we can’t seek out the planned hours from the project scheduling system and populate them into the timesheet. ‘We must have access to the planned hours from the task assignments in the project system,’ they argue so surely we could make their lives easier by simply putting the hours into TimeControl for them. ‘We could go one step further,’ they say. We could look at the remaining hours not accounted for by the project system and fill them in with ‘Miscellaneous’ to make up a 40 hour work-week and complete the timesheet.

‘Wouldn’t that ease of use increase the overall percentage of compliance of the timesheet and therefore be better?’

It wouldn’t.

The problem is not technological. These people are quite right. We do have access to the hours planned in the project management system and automatically populating the timesheet with all the hours would be technically easy to do.

Why not do it then?

Because of what we already know about human behavior. Imaging a timesheet which is pre-populated for you. You need only click ‘Ok’ to complete the timesheet and send it on its way for approval. It’s the end of a long week and the weekend beckons. Do you click ‘Ok’ or, do you review each line to ensure it’s correct? Most people will just click ‘Ok’.

Ok, your personnel are diligent people who would never just click Ok. Let’s accept that. Now imagine that it’s the end of the week and the timesheet system indicates that the plan of the week was to spend 35 hours on that design task and 5 hours on that documentation task. Unfortunately you’ve just done the opposite. You’ve spent 35 hours on the documentation task. Won’t there be a tremendous temptation to click ‘Ok’ with a promise to yourself to make it up later? There will.

Here at HMS we know that the most valuable thing TimeControl can deliver is accurate complete information so that management can make better decisions. If all we do is return data that matches expectations, then there’s little point in tracking it at all.

So, TimeControl can optionally pre-populate a list of the tasks you were scheduled to work on based on the assignments in a project management system but it won’t put in the estimated hours for each day.

Years ago I was in a presentation showing TimeControl to a small group of technology professionals. The Chief Financial Officer was in the room and at one point asked why we didn’t automatically complete tasks in the project management system from the TimeControl timesheet. I pointed out that we did, in fact, allow the Estimate to Complete to be entered in TimeControl and that when there was nothing left to complete, the task would be marked as completed in the project management system. The CFO though was insistent. Why didn’t the timesheet just figure that out from the hours worked.

“What would you expect to happen,” I asked, “in a task with a plan of 40 hours when you’d done 40 hours of work?”

“I’d expect the task to be automatically marked as complete,” he answered.

I was stunned. “But what if it’s not complete?” I replied.

“I don’t understand your answer,” the CFO said. “If you’ve done 40 hours then the task is over.”

A senior VP had to take the CFO out to explain that life doesn’t always match up to our expectations in a project.

We’ve remembered that lesson very well at HMS and it’s reflected in the TimeControl design. There are all kinds of links between TimeControl and project management tools that give users a tremendous access to data from both the timesheet and the project management environment but we have resisted the most requested feature in the system for over 15 years now. TimeControl will pre-populate a list of what the end user was supposed to work on, but it won’t load all the expected hours. End users are responsible to declare what they actually did with their time.

Best Practices for a successful TimeControl deployment

We have compiled several best practices that we have established with our clients over many years of implementing TimeControl. While these practices are all generic in nature, you may find some of them of use to you.

NOTE : While TimeControl might only be used by most users for a few minutes a week, it should be considered as a critical process in the enterprise and thus the environment for TimeControl to connect to should be stable in order to ensure service. We recommend that a network administrator be responsible for monitoring resources and service availability and managing environment modifications. This person would be responsible for the connectivity of TimeControl. This may includes managing firewall settings, physical connectivity, security upgrades that come automatically from Microsoft or other internal network or security settings.

Connectivity must be ensured between:

  • The client stations and the Web Server
  • The client stations and the TimeControl Administration Transaction Server (ATS)
  • The Web Server and the TimeControl Middleware; the TimeControl Administration Transaction Server (ATS)
  • The ATS and the Database Server
  • The Database Server should be established as part of an environment that is guaranteed to remain available. This includes server redundancy, backups and an environment which is not shut down, rebooted or otherwise disabled except in a very controlled fashion. For example, modifications on other databases on that same Database Server should never impact the availability of the server or TimeControl’s database.

NOTE : all modifications in the environment can have an impact, no matter how small the impact or the modification

  • Database availability must be guaranteed at all times. Database availability without interruption is crucial in providing service availability for TimeControl. If a connection from the ATS to the database is interrupted (for example by rebooting the database server) then the ATS will suspend service.
  • TCP Ports used for database connectivity and Application Server Connectivity should remain open at all times. These ports are usually managed within the firewall.
  • Machine resource availability (processor, memory and hard drive space) should be ensured. Other processes which overload either the database server, the ATS server or the Web Server will cause TimeControl services to be interrupted.

NOTE: We recommend that a formal process be established for a requested for change in the environment and that such requests be approved and filed by a network administrator who should consider TimeControl availability or the steps to resume availability as soon as the change has been applied.Any modification to the environment, the system, the application or any other piece on the environment should be logged and made available for audit.

Linking TimeControl with other corporate systems

A question that is asked quite frequently is how to link TimeControl to external corporate systems. Some clients request links to move corporate data into TimeControl, some want to move data from TimeControl to another system.
One type of connection is a transfer of data into the TimeControl tables to create timesheets. Another example would be using a corporate HR system to feed new employee data to TimeControl’s employee table or a work order system to feed tasks and assignments to TimeControl’s charge tables.
It is very common for organizations to wish to transfer time and cost data from TimeControl to a corporate system for Payroll, HR or Financial uses. These links are beyond the connections to project management systems such as MS Project, Deltek or Primavera which are pre-configured in TimeControl.

There are two main methods to set up links to corporate systems. The preferred method depends on the specific requirements:

Batch Transfer:
TimeControl contains an Integration Wizard that allows the client to create a custom import or export batch file in order to link to their corporate systems. The definition of this transfer can include predefined or user-defined fields and data including data that might be required to link to the external application such as employee codes or work order numbers. The resulting file is in a CSV or XML format which allows for connection to a wide variety of applications. The data is exported against a selection filter providing data for a specific period, employee, project, business or other criteria. This is the most common way HMS clients link TimeControl to external systems such as payroll, finance, HR or ERP systems. It is easy to set up and to administer and Finance personnel are usually more comfortable with a transaction file of data that is at arm’s length from the corporate Finance system. This allows the Finance system administrators to use the Finance system’s business rules to check data on its way into their system. TimeControl supports multiple transfer templates to server multiple export requirements. If required, exported data may be batch tracked to avoid inadvertently exporting the same record twice.

This method allows transfer of data to be set up quickly and easily and allows for a final review of the data prior to being imported into the corporate system.

Direct Database Connection:
A more sophisticated connection but less commonly used method is to use direct connections at the data- base level with SQL scripts, stored procedures and triggers. Because the TimeControl data resides on a host client server database, direct data transfers are relatively simple to establish. This type of connection typically provides transparent, real time data synchronization. Setup using this method requires an internal SQL expert or an HMS consultant and the effort may vary from a few days to several weeks, depending on the complexity of the connection that is required.

This method provides a dynamic instant transfer of data which is not always required.

Manipulation of data with SQL Scripts

In some cases TimeControl clients have a requirement to manipulate the raw data that has been captured in TimeControl to support a specific requirement. It is possible to use SQL scripts and stored procedures within the TimeControl data structure to perform calculations, summarizations and other types of data manipulations. The results of this type of calculation are typically written to custom fields or tables within the TimeControl host database. This flexibility allows TimeControl to meet a great variety of client-specific requirements.

An example of this type of data processing would be multi-currency calculations done when there are several currencies in the rate table and where the costs must be reconciled to a single currency for reporting purposes.

Getting started with Validation Rules in TimeControl

TimeControl’s business rules engine, the Validation Rules module is one of the most powerful aspects of the timesheet system. There is almost no limit to the number of rules or the type or rules that can be created to test timesheets automatically.

Some examples of validation rules might include:

No more than 24 hours in a single day

Exactly 8 hours per day of regular time for salaried employees

Use the Acme Rates for the Acme projects

No overtime unless a) you’re eligible for overtime and, b) you did at least 40 hours of regular time this week

Each of these rules can be customized to only apply to a select group of employees or to be applicable to everyone and each rule can deliver a message saying that the rule is an error or only a warning. The result is that timesheet data that makes it into TimeControl is already of extremely high quality before anyone even looks at it for approvals! Also, the most common corrections to the timesheet data are done by the people who know the data best; the people who entered it in the first place.

When organizations first see the capabilities of the TimeControl Validation Rules module, it’s common for staff from the Human Resources or Payroll departments to get very excited. They envisage dozens or even hundreds of rules that will mean never having to look at timesheets manually again.

HMS implementers recommend caution over being too enthusiastic when starting with Validation Rules. Imagine a new system where an eager enthusiastic TimeControl Timesheet Administrator creates hundreds of rules for every possible timesheet error he or she can think of. The system is activated and new users try to enter their timesheets. A user receives one warning, corrects the error, then receives another error message, corrects that then gets another. In short order the user gives up on the system declaring it “too hard to use”.

It’s important to remember that one of the most challenging aspects of deploying an enterprise system like a timesheet is compliance and for that reason, we recommend starting with a tiny number of rules. Think about starting with a half dozen or perhaps 10 rules to get started and, after the system has been accepted by the users, gradually add new rules for the most common of repeated errors. The system will gradually become more managed naturally over time and users won’t notice the volume of rules when they’re added gradually as they’ll have learned in previous weeks to avoid the Validation Rules that have already been made a part of the system.

Validation Rules are one of the most powerful aspects of the TimeControl timesheet system and, like anything powerful, must be treated with care and respect.

Managing Multiple Currencies in TimeControl

We’ve got all kinds of PowerPoint presentations that have been used for technical purposes. Here’s one on how to manage multiple currencies in TimeControl. TimeControl has always allowed the rate codes to be identified by Currency or any other coding. But, what if you wanted to store TimeControl costs in a common currency that was converted at the time the work was done? Check out this presentation on managing multiple currencies in TimeControl.

Managing pay periods which fall in mid-week when using TimeControl

Most organizations expect to have their office staff use a weekly timesheet and indeed, this is why TimeControl is designed with a weekly timesheet structure. Once data is entered into TimeControl and approved, it is saved in a ‘Posted’ format where the structure of the data changes from a 7-day period into a day-by-day format. This allows the data to be used in a much more flexible way for reporting and exporting into various systems.

When the data is posted, it becomes very simple to request a range of dates which exactly match the needs of payroll, billing or Finance for financial reporting. Thiss works well in most cases when the data is accepted into these systems following the close of the business week and the completion of any timesheets which are included in the period.

TimeControl’s “Missing Timesheet Report” and “Missing Timesheet Email Notification” functions are important here to ensure that all timesheets have completed the approval process and are represented in the exported or reported data.

There are, however, occasions when data is so time-critical that the client wishes to report on it right up to the end of the day before even if that occurs in the middle of the week. There are organizations whose payroll requirements oblige them to pay for time up to and including yesterday’s efforts. There are other organizations that have billing that is so time sensitive that it must be sent immediately and include any hours up to and including the day before. For these organizations, TimeControl has created the Posted/Unposted report. It is specifically designed for those situations where data must be pulled from TimeControl in the middle of the week for use in a reporting situation.

The report requests a date range and then provides all the hours within that range of both posted timesheet data and unposted timesheet data from the middle of the current week. The data is listed into a single format so that it can be used in either a report or exported into Excel and then sent to other systems. If, for example a data range were to go from the 1st of September 2008 (a Monday) until the 30th of September 2008 (a Tuesday) and the requirement was to have reports completed for September billing no later than the end of business on October 1st (a Wednesday) then the Posted/Unposted report would take posted data for the weeks of September 1st, 8th, 15th and 22nd. This data would have already been collected, approved and posted. The report would also add the unposted data from Monday September 28th and Tuesday September 29th.

Since the data may be taken from a current timesheet which has not been released and therefore has not been subjected to any business rules created in the TimeControl Validation Rule module, it is important to set up a process to ensure that the data is used properly.

If your organization has one of the situations where you will require immediate mid-week access to timesheet data, there are several considerations to put into your process:

Completeness
Since the Missing Timesheet report looks at completed timesheets, it will not be useful to determine if all timesheets have data which is entered into them by the middle of the week. In our example above, the timesheets of September 28th will all be in progress. A report should be included in your process which is run by the TimeControl Administrator of “unposted data” for that date range (in our example, it would be for September 28-29) which lists all pertinent users and the time against that week. If there are missing timesheets, those users will have to be contact to ensure they enter data for this partial period.

Data Integrity
Since time is being reported at mid-week, many of the usual TimeControl tests for data integrity such as Validation Rules have not been applied to the timesheet data yet. This means that there may be errors in the partial timesheet data that is reported that may be caught by a business rule at the end of the week and will need to be corrected. Since the purpose of taking the data mid-week is to send it to another system or use it for external purposes such as payroll or billing or financial reporting, it is important to check for any adjustments after the fact.

This can be done by keeping a copy of the Posted/Unposted report which is used for the export and comparing it to the same report done following the posting process. When the report is run for the same date range after the end of the week, it will obviously be taking data A simple comparison can be done between the two reports to check for any discrepancies (Typically they would be quite rare).

Posted/Unposted process
The following would be the typical steps in a process where the Posted/Unposted process would be required:

  1. Use unposted report to check what users have not entered data for the unposted period this week
  2. Contact those users who have not entered data for the partial week and ensure they have completed any timesheet entries which must be included in this report
  3. Run the Posted/Unposted report for the complete period required
  4. Send the report to the system required (e.g. Payroll, Billing, Finance). Save a copy for reference
  5. Following the completion of this week’s timesheet approval process, run the Posted/Unposted report again for the same period and compare for any discrepancies between reports
  6. Report any discrepancies to the systems required

Did you know… about IE8 (Internet Explorer 8)?

If it’s springtime it must be a new release of Microsoft’s Internet Explorer and, as each version is released, the developers at HMS must scramble to make sure the browser is fully supported by TimeControl.

TimeControl’s version 4 and 5 families have depended on Internet Explorer as our only supported browser. This will change in the near future in response to many requests by long time clients and prospective clients alike but for now, making sure that IE works properly with TimeControl is critical.

With the release of IE8 you may experience a phenomenom of new windows like message or alert windows appearing behind the regular window of TimeControl. This is clearly very annoying. However, if you have already got IE8, you do not have to roll back to make TimeControl work properly. TimeControl version 5.1.1 fully supports IE8 and will put the rights windows in their proper place. To get access to the latest TimeControl you must have a current support and maintenance contract.

Go to http://www.timecontrol.com/ for more information or contact info@hmssoftware.ca with any questions.

Did you know… about using TimeControl without Scheduling Software?

A couple of years ago, we did a customer survey of all our TimeControl clients. The results were fascinating and we wanted to share them with you as it might give you, our TimeControl dealers, a different perspective on how you view the TimeControl timesheet business. Just over 1/3 of TimeControl clients responded to the survey giving us a very significant statistical confidence in the numbers that we looked at.

When we first created a timesheet system , it was a customized project for one of our clients. The year was 1983 and the client was Philips. There were far fewer options on the market then of EPM products but we picked a scheduler and then wrote a timesheet which would be used by Finance for managing payroll and HR and by Project Management for variance analysis. What we learned in the design of that timesheet can still be found in TimeControl today.

Given our origins, it is perhaps no surprise then that our thinking of TimeControl was as part of the critical path scheduling process. Our vision was that:
Project managers would do their planning in one of the popular project management tools

They would then assign work to individuals

Those individuals would then do the work and report how much time it took on the TimeControl timesheet

The hours and costs would be transferred back to the schedule which would then be updated and the cycle repeated

You can imagine our surprise then to find out in our survey that 52% of TimeControl clients were not systematically linking TimeControl to any project scheduling tool. Some of those 52% were using a scheduler to populate the TimeControl charge table but not all. For many companies, they viewed TimeControl as their project management tool. For scheduling purists like ourselves, we were shocked. But, when you think about the challenges of the integrated scenario we’d envisioned, the results of the survey started to make sense.

TimeControl is typically deployed to all staff members. That includes those who are purely project personnel, those who have both project and non-project duties and those who have no project duties at all. Project scheduling systems typically look only at the work which is part of a defined schedule. Just to get that project work centralized into one project management tool as part of one centralized project management process is a hurdle many companies never get over.
Yet TimeControl can be providing information to management over where time is being spent regardless of how centralized the project management tools are.

Going back to our survey, 87% of clients were linking TimeControl to some internal corporate system such as Finance, Payroll or Human Resources. The link of TimeControl data to those legacy systems seemed to be a higher priority to our clients than the link to the project scheduling system.

Of the 48% of clients who linked TimeControl to a project scheduling tool, those linking to a project tool, 65% were linking to Microsoft Project, 40% were linking to Primavera, 20% were linking to Deltek and 5% were linking to Project Server. (In the intervening 2 years, we think the Project Server number may have risen somewhat.) And 10% were linking to “other” project management tools. If you’re counting, you can see that adds up to 140%. That’s because some organizations were linking to more than one tool at one time.

Here at HMS these numbers changed our thinking on how we perceive TimeControl. No longer do we just think of TimeControl as an accessory to a project scheduling tool. We tend to think of TimeControl as a tool on its own and this thinking is reflected in some of the comments of our clients. Several clients reported that the selection of project management tools had been influenced by having TimeControl already deployed. “We’re looking for a scheduling tool that will integrate with TimeControl,” reported one. This means, of course, that TimeControl was deployed before the client made a choice over a centralized project management tool and this too makes sense. The deployment time for TimeControl is typically measured in weeks. The deployment time for a centralized enterprise project management system in a mid-sized organization can easily be measured in months. Sometimes it’s easier to start with centralized tracking than with centralized planning.

What does this mean for you, if you’re using TimeControl?

I think a couple of things:

If you’re currently using a project management scheduling tool, you can think of TimeControl as an extension to it or just on its own

You can think of using TimeControl for project personnel or for both project and non-project personnel.

You can think of starting a TimeControl timesheet deployment within an organization before the deployment of a complete EPM system. The deployment of TimeControl is almost always faster than the EPM and can provide a quick win with the client while they work through the much more complex project management processes that must be aligned to make a centralized EPM system work. When the time is right, you can merge the TimeControl deployment and the EPM deployment to provide the completed vision of an integrated EPM.

Let us know at HMS if you have any questions about how TimeControl can be considered beyond the link to an EPM System.

Did you know… about assignments?

For those who may have a lot of experience with project-status timesheets like those found in Microsoft Project Server and Primavera, you might expect that the only hours you can add to your timesheet are to assignments you’ve already been given.

That’s not necessarily true with TimeControl.

By default, TimeControl allows any employee to charge time any project or any task. If you want the system to be more restrictive you can do so by using the Employee Table Project and Charge filters. You can even make a filter that says ‘only show tasks to which I’ve been assigned’ (Ask HMS technical support to provide you this filter if you need it.)
We created TimeControl this way because of the incredibly common occurrence of someone doing time during the week on a task to which they weren’t assigned on Monday morning. Oh, you might want to make things a bit more restrictive. Not showing closed projects or unstarted projects or closed tasks for example, but otherwise, it’s very common for TimeControl systems to allow time to be charged on tasks to which you’re not assigned.

But what happens when the timesheet data goes back to the project management tool?
That’s a very good question. TimeControl allows for this too but it might work differently with each project management tool. When data is sent back to the scheduling system, TimeControl gives the user an option to decide what to do when a task is found but an assignment is not. If the user elects to make an assignment during the transfer, then TimeControl will do so. In Microsoft Project, the assignment’s “Work” field will have the same number of hours as the “Actual Work” that we’re transferring. That is something you may want to check and possibly adjust. In Open Plan and Primavera, the assignment’s assigned hours can be equal to the hours transferred or to zero. Having no value in the expected assignment would be the more accurate answer as the person really didn’t have that assignment to start with. The results of the TimeControl transfer are always displayed in the Link log which can be saved and reviewed later.

This may require implementing a project management process of checking for any new assignments in the project for tasks that are complete and clearing the original assignments of the people who will now not be required to do the work.

The great news about this is that the assignments can be created by TimeControl automatically as part of the transfer process.

The official blogsite of TimeControl