Category Archives: Accounting

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. QuickBooks users might like the reference to the “IIF Overview” article on the QuickBooks site.This tool can take files created by TimeControl and move them into the QuickBooks architecture as transaction files.

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.

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