Updated: December 10, 2018
QuickBooks Desktop continues to be a dominant accounting software for small to mid-sized business. It’s also an application that accountants know well, which is one of the barriers to SMBs switching off of QuickBooks.
On our landing pages, visitors from SMBs often populate the field labeled Your #1 CRM Challenge? with “Quickbooks integration” or some variant thereof. Often, the version of QuickBooks in question is QuickBooks Desktop.
However, if you were able to poll a number of CRM implementation companies that have integrated or attempted to integrate a cloud CRM system with QuickBooks Desktop, you’d be hard pressed to find anyone who said, “it works like a charm” or “it’s a thing of beauty”.
Even though there are undoubtedly companies for which a form of QuickBooks to CRM integration works to their satisfaction, you’d be more likely to hear from customers that the integration is deficient in a number of ways.
QuickBooks, which was first launched in 1994, has a proprietary database structure. This can make accessing data or writing to the database from the outside a challenge. There are also inherent issues with “cloud to ground” integrations, including the fact that the ground application — in this case QuickBooks desktop — is usually behind a firewall.
In fact, in 2014, Intuit announced that it was discontinuing the QuickBooks Desktop REST API because they “reached an inflection point where [they] now have more new users choosing QuickBooks Online than QuickBooks Desktop.”
If integrating a new cloud-based CRM system with QuickBooks is critical to transforming the way you do business, then maybe your business transformation requires implementing a new accounting system with contemporary APIs or even implementing an accounting system that runs natively within your CRM system.
What Are APIs Anyway?
API is an acronym for Application Programming Interface. Through this interface, accounting information can be requested by a CRM system and/or updated by a CRM system.
The best way to explain what APIs do is to look at a simple example.
Let’s say that a requirement is that CRM system displays a list of all invoices that have been sent to a customer and that a user can drill down and view the details of any sent invoice.
An “HTTP GET” command, which is either coded into a CRM system or into integration middleware, would conceptually look something like this:
https://api.accounting-vendor.com/Invoices?CustomerID=cd09aa49-134d-40fb-a52b-b63c6a91d712
In other words, go to the accounting vendor’s Invoices “endpoint” and request invoices where the accounting system CustomerID is equal to some number. The CRM instance would, would of course, have to first be authorized to access the accounting system instance using an authorization process such as OAuth.
In this case, the accounting vendor’s Invoices endpoint would return a structured text file with header information about the customer’s invoices. The text file, which might be in an XML format, can be parsed out and presented in a user-friendly way to the CRM user. For each invoice, the user would see information such as invoice number, date sent, PO number, total, aging and paid or unpaid.
If a user wanted to see the detail for a specific invoice, they would click a link that would fire another HTTP GET command that looked something like this:
https://api.accounting-vendor.com/InvoiceDetail?InvoiceID=ef89aa49-764e-91fb-c56d-f63a7b91d456
With well defined, centrally accessible APIs and no firewalls to worry about, it’s a lot easier to transfer information back and forth between a cloud CRM system and a cloud accounting system.
When the accounting system is effectively hundreds of thousands of islands of data scattered throughout the world, as QuickBooks Desktop generally is, this centralized endpoint scenario does not exist.
Alternatives for SMB Users of QuickBooks Desktop
QuickBooks Online
Intuit took a similar approach to many software vendors that decided to cloudify their flagship client/server or desktop application.
That is, they tried to morph the traditional product into an online product rather than reimagining the entire human/machine interaction.
Based on the current reviews, QuickBooks Online has made some headway since it first came out.
Despite the fact that QuickBooks Online does not yet measure up to QuickBooks Desktop, QuickBooks’ dominant brand has served QuickBooks Online well. According to Wikipedia (link), “As of May, 2014, QuickBooks Online was the global leader in online accounting software, with 624,000 subscribers. That’s double the number of its nearest competitor, New-Zealand based Xero, which reported 284,000 customers as of July, 2014.”
QuickBooks Online has contemporary and public APIs, which make it much easier to integrate with than QuickBooks Desktop.
Xero
Without a legacy to worry about, Xero was able to design an online accounting system using design principles that are associated with online applications.
API-driven integrations, such as the oned developed by Zapier for Xero and Zoho and by OneSaas for the same combination can be created and rolled out relatively quickly.
Sage Intacct
Sage needed to add a cloud-based accounting offering to its portfolio. The company therefore acquired Intacct in 2017.
Native Accounting Functionality Within CRM
As mentioned in a recent post, the alternative to cloud to cloud CRM to accounting integration is to use an accounting product that runs natively within a CRM platform.
So far, Salesforce is the leader in offering options for native accounting within their CRM system, since the platform is generally more evolved than that of other CRM systems. FinancialForce and Accounting Seed are two SMB accounting systems that run natively on the Salesforce platform.
If you really want to transform the way you do business, going down the path of trying to connect QuickBooks Desktop to a new CRM system may not be the best route.