One of the things we recently rolled out is a sync between TimeTracker data in Salesforce and QuickBooks Desktop (QBD). Our sync mechansim brings data into QBD’s TimeCards, Customers, Invoices and Receipts. It is available as a paid add-on to TimeTracker. This article is about setting up the TimeTracker QuickBooks Desktop Connector.
OverviewIntuit has an interesting approach to integrating other software with QBD – “Don’t call us, we’ll call you”. No, really, we’ve rarely seen that kind of model before. Given that QBD is a desktop system, this is the way their integration works:
- On the same system as (or on the same network as) your QBD installation, you install a a component called the QuickBooks Web Connector (QWC). That’s a piece of software that connects to QuickBooks on one side and to an external web service on the other.
- Periodically, QWC wakes and connects to the web service, asking for data in its qbXML format. The data can be records of invoices, receipts, timecards and so on. When it gets the data, it processes it (adds/updates in QuickBooks) and then responds to the external service with the results for each record that it got.
- The external service can respond with a “Done” kind of message or return with more data to process. Once the full set of data that the service wants to deliver has been processed, QWC ends the conversation.
- Accounts as Customers
- TT Users as Employees
- TT Invoices+InvoiceLines as Invoices+InvoiceLines
- TT Projects as Jobs
- TT Materials as Item Inventory
- TT Collections as Received Payments
- TT Details as Time Cards.
- Set up some prerequisite software
- Set up parameters in Salesforce
- Set up stuff in QuickBooks Web Connector.
PrerequisitesGetting it all to work OK needs some prep. Here’s what you need to do first:
- Install the QuickBooks Web Connector (QBWC), a free add-on from QuickBooks that is meant to help such integrations, alongside the your QBD installation. You can get QBWC from the Intuit website.
- Set up an email ID for the “integration user” in QuickBooks. This is usually the QBD Admin and they need to have a working email ID that must be set up as the user’s email ID in QuickBooks (see image alongside).
Setting it up in SalesforceOnce you’ve finished the prerequisites, head over to Salesforce to set up things. Setting it up and using it is fairly straightforward:
- Log into Salesforce
- Go to the App Key that you want to set up QBD Sync for
- Click the Config button to bring up the TimeTracker configuration tabes
- Click the Integration tab and then click the QuickBooks Desktop icon.
- Key in the location of your QBD Company File as seen by the QuickBooks Web Connector. You can figure out that location within QuickBooks Desktop as follows: Qo to File > New Company from Existing Company File. Carefully copy (^C) the value in the 1. Select a Company to copy from field, click Cancel. You will now have the location in your clipboard – you can paste that into the QBW File Path field in Salesforce.
- Key in the QBD Admin user’s email ID, as described in the Prerequiresites section above.
- Key in a password that you will later need to key into QBWC. So make sure it’s something you won’t forget immediately.
Setting up QBWCNow, you get to use the QWC file that you got from Salesforce in QuickBooks Web Connector (QBWC).
- Go to the desktop where you’ve installed QBWC. Start up QBWC. The screen will look something like the image alongside (there may be no entry in the table).
- Click the Add an Application button (bottom right). This brings up a file-selector. Navigate to the folder where you saved the QWC file from the previous step, select that file. QBWC loads that file and will show a line for the configuration that you just set up.
- You can change some of the parameters, if you’d like – for example, set it up auto-run every so often. Note that, if you set the frequence to anything less than 6 hours, the TimeTracker Connector quietly ignores intermediate calls and responds only once in 6 hours. So data can only be synced once in 6 hours.