All Collections
Everything about Payroll
QuickBooks Integration (The Advanced Guide)
QuickBooks Integration (The Advanced Guide)

This article moves beyond the basics of setting up the QuickBooks Integration and gives advanced help for more complicated setups.

CustomerCareTeam avatar
Written by CustomerCareTeam
Updated over a week ago

We assume that you have already checked out the article, Using Our QuickBooks Integration (Desktop). If not, click the big button and come back to see us here. 

Advanced Questions About the QuickBooks Integration

One Customer, Many Locations

What if I have one customer in QB, but many locations for the customer in Chronotek?

The most common situation we have is when our client has one customer in QB, but needs to track their employees' time at multiple locations for this one QB customer. You would, of course, enter each location as a job in Chronotek. But how do we match those multiple locations to the one QB customer? Good question.

Normally the QBI would look to the job name field in Chronotek to find the matching QB customer name. Instead, we will change the mapping at Snapshot Settings, Payroll Settings, Export Settings. At Cross Referenced Data Element Identifiers, change the Customer:Job dropdown to External Code 2 and save.

Now the QBI will look to the job's external code 2 field for the QBI customer name. You still enter the job name on the Basic Setup screen, which is how it will appear on the app. If you only have one customer in QB with multiple locations and all other QB customers just have one job site in Chronotek, you still have to enter the QB customer name in the external code 2 field for ALL jobs. In QB if you track each location as a sub job, then in external code 2 in Chronotek enter it as Customer:Job or My Money Bank:5th St.

Different Pay Rates for the Same Employee

How do I handle it when an employee gets paid different hourly rates depending on the work or activity? For example, a higher hourly rate to clean windows than to do general cleaning? Or she gets a lower hourly rate for travel time?

Chronotek doesn't send over pay rates with the QBI. We send over hours to QB, but these hours can be carried over in different buckets called Pay Types. Pay Types are applied to either the job or an Activity Code. In QB, you would have a matching Payroll Item with an assigned pay rate for each employee. For example, let's say that the My Money Bank location on 5th St is only cleaned on Saturdays, and because it's a weekend job, you pay your employee a higher rate for it. We need to create a Pay Type to do the magic. Go to Snapshot Settings, Job Pay Types.

Click on "Add New Job Pay Type". In the Description field, enter "Weekend". Or anything that makes sense to you. Go ahead and save.

Now, this new Pay Type has to be applied to the job My Money Bank 5th St. Go to List Maintenance, Jobs, and click on My Money Bank 5th St. Then click the Advanced tab. From the Pay Type dropdown, select Weekend and then save.

Now, anytime an employee clocks into this job, all of the hours will go into the Weekend bucket when it is imported into QB, and in QB, you have the pay rate assigned for each employee for this Payroll Item.

Remember, you will need a matching Payroll Item in QB. To create the matching Payroll Item in QB, here we go.

Now you must apply the Weekend Pay Type to the employee's earnings profile in QB and set the rate. Pull up the employee in QB and edit. Then change tabs to "Payroll and Compensation Info".

Click into the Earnings box under Item Name and select Weekend, and set the hourly rate. Click Ok. Now all hours that the employee works with the Weekend Pay Type applied to it will go over into QB and get paid at the rate set here.

That's it, and you can do this for any reason that you need to pay a different rate based on the job or activity. Ah, activities. Let's talk about that now and why they are relevant to this discussion.

Activity Codes in Chronotek are a way to track tasks that your employees do at each job site, and you may pay the same employee a different rate based on his/her activity.

We can send Activity Codes over to QB as Service Items. They can go over as billable hours if you bill your client for the employee hours. The first step is to apply the correct settings for the Payroll Snapshot under Payroll Settings, Default Service Item.

For each Activity Code that you use and send over to QB, there must be a matching Service Item in QB.

Now, back to our discussion on the same employee and different pay rates for different activities. Let's say that at your job, My Money Bank, employees get paid more to clean windows because no one likes doing that, right? They may do other tasks at My Money Bank, like general cleaning, that get paid at the normal rate, but you want to separate the window cleaning hours because that rate is higher. It's easy to do.

Just like earlier we created a Weekend Pay Type, now we will create a Window Cleaning Pay Type. It's easy when you think of Pay Types as buckets for putting different types of hours in. Refer to the instructions above on how to create a new Pay Type.

Now we need to create the Activity Code for window cleaning. You already know how to do that, but this time we will do something a little differently. In the dropdown for Pay Type select Window Cleaning. This is a Pay Type Override for Window Cleaning.

Every job in Chronotek has a Pay Type that employee hours get applied to, which matches a corresponding payroll item in QB. Most often, it is the default Pay Type "Hourly". The "Hourly" Pay Type means that all of the hours applied to it get paid at the employee's normal rate.

The Pay Type Override that gets applied to an Activity Code means that any hours done at this activity at any job will go into this Pay Type bucket. It "overrides" the Pay Type associated with the job. In QB, you have a matching payroll item called Window Cleaning, and you set the pay rate for each employee in their Payroll and Compensation Info profile.

That's how you can track and pay employees different rates for different jobs and activities.

Tracking Subcontractors in Chronotek, But Not QB

I want to track my subcontractors, but I don't want to pay them in QB.

You should track subcontractors in Chronotek. Schedule them and get no-show alerts; capture their hours for budgeting and job costing and track their time at each job for quality control assurance. But you don't need them to be included in your scheduled payroll for QB. We have you covered.

Enter them in Chronotek as employees just like you do your W-2 employees. They will clock in and out just like your employees. But won't they pass over to QB? you ask. The hours do have to pass over.

You have 2 options.

  1. Enter each subcontractor in QB as an employee and uncheck the box for "Use time data to create paychecks" under the Payroll and Compensation Info tab. If you remember from the basic QB guide, every employee and job in Chronotek has to have a match in QB. But when you uncheck this box, the hours go over, but they will not be included in your scheduled payroll.

  2. Do you remember the One QB Customer, Many Locations section above? We used the Job external code 2 field to correlate with the customer name in QB. We will do something similar here but with employees and subcontractors. In QB, create an employee called "Subcontractors" and uncheck the box for "Use time data to create paychecks".

    Instead of having the QBI look back to the employee name field on the Basic Setup tab under List Maintenance, Employees, we will have it look to the Advanced tab, external code 2 under List Maintenance, Employees. In this field, you will enter the employees' names just as they are in QB. For all of the subcontractors in Chronotek, you will enter "Subcontractors" in external code 2.

    Then go to Snapshot Settings, Payroll Settings, Export Settings. At Cross Referenced Data Element Identifiers, change the "Employee or Vendor" dropdown to External Code 2 and save. Now, when you run the QBI, all of your subcontractors' hours in Chronotek will go to the one employee in QB called "Subcontractors," and because you unchecked the box to use time data to create paychecks, these hours won't be a part of your payroll.

Welcome To California

I'm in California, with its crazy overtime laws. Can you handle that?

California is a little tricky with its overtime rules, but don't fret; we can handle them and export the correct hours over to QB. According to California’s Department of Industrial Relations website, the following overtime rules apply to non-exempt employees:

  1. One and one-half times the employee’s regular rate of pay for all hours worked in excess of eight hours up to and including 12 hours in any workday, and for the first eight hours worked on the seventh consecutive day of work in a workweek;

  2. Double the employee’s regular rate of pay for all hours worked in excess of 12 hours in any workday and for all hours worked in excess of eight on the seventh consecutive day of work in a workweek.

That's it. Set your account to these settings, and the QBI will send over the hours correctly into QB.

Tracking Paid Time Off

I need to track Paid Time Off (PTO), but those hours are overtime-exempt.

Paid time off could be vacation days, sick days, holidays, etc., but you don't want those hours to count towards OT. No worries.

You remember how to create Job Pay Types, right?

Add a new Job Pay Type and call it PTO or whatever you already have set up in QB for this payroll item. Check the box for overtime exempt and save.

Now create a job for PTO. Or you might want to create multiple jobs if you like to distinguish between vacation days, sick days, and holidays. Then apply the PTO pay type to the job(s).

You will manually create these time cards when the occasion arises under Payroll Functions, Edit Time Cards, and apply the correct job. When the QBI does its magic, these hours go over without counting toward the weekly OT. It's a beautiful thing to see. 👀

Billable Hours For Invoicing

For some customers, I bill them for my employees' time. Can your QBI do that? 

Use Service Items to send hours over to QB for customer invoicing. Apply the Service Item to the job/customer you want to send hours over to QB for billing.

Go to Snapshot Settings, Payroll Settings, Default Service Items. Create a default Service Item. It will be applied to all jobs until you specify another Service Item for a particular job. If this default Service Item needs to pass over to QB as billable hours on the customer invoice, check the box for Billable. If not, then leave the box unchecked.

If you have some jobs for which you do need to pass over billable hours, you can create other Service Items to apply to these jobs instead of the default. We'll get to that next. We can also export Activity Codes as Service Items if you check the box to do so. We will get to that, also. This is the advanced guide, right? Be sure to save. 😊

As with everything else, you will need matching Service Items in QB. So, you have a default Service Item in Chronotek that is applied to most jobs and those hours aren't billable, but you have a few customers that you need to send the hours over as billable.

Go to Snapshot Settings, Job Service Items and click "Add New Job Service Item," and name the Service Item in the Description field and check the box for Billable Hours and save.

Now, go to the job under List Maintenance, Jobs, and click on it. Then go to the Advanced tab. Change the Service Item dropdown to the correct one. In the example below, at the job My Money Bank 5th St, we only do floor work, and I want those hours to pass over to QB and appear on my invoice to the bank. This will do it.

But what if I do other activities at the bank and charge a different rate for each? Again, we got you. 😎 You already know about Activity Codes. They are like the Swiss Army knife of the Chronotek system. Activities can go over to QB as Service Items.

The Activity Codes have a Billable box you can check, and those hours for that activity will pass over as a Service Item on your customer's invoice. And, of course, in QB, you set the billable rate for each Service Item.

Handling Time Across the Midnight Hour

  • How do you handle employees who work across the midnight hour?

  • What if my workweek starts at a time other than midnight?

We'll answer these questions together. You will handle both situations on the same screen.

At Snapshot Settings, Payroll Settings, Work Week Settings, you can set what day and time your work week starts. The day setting should be set the same as you have in QB at Edit, Preferences, Time & Expenses, Company Preferences.

Timecard Settings allows you to split employees' hours at midnight or whatever you have chosen as the starting time of your work day. Time cards that are not split hold all of the hours on the day that your employee clocks in.

This setting is important if you have employees who often work across the new day threshold. It can impact weekly and/or daily OT (California). When this setting is applied and an employee is on the clock across the new day threshold, the time card is split and two time cards are created.

For example, let's say your workweek starts on Sunday, and your workday starts at midnight, as this is most common, and you have the Timecard Settings box checked to split. Your employee Kenneth clocks in at 10 pm Saturday and out at 2 am Sunday. His timecard will look like this:

In this case, since Sunday starts a new workweek, the 2 hours from 12am-2am will get paid on the next pay period, and those 2 hours do not count towards OT on the week that ended on Saturday when he clocked in.

Do you see all of the ways that our QBI can help you run your business more efficiently? 

Take a peek at our new platform, Chronotek Pro.

Did this answer your question?