Standard Vs. Custom Integration
One of the issues I face almost daily is the salesforce.com to Quickbooks integration question. Many of our clients go with a company that does nothing except sell a pre-configured integration - essentially the same integration to all of their clients. These third party integrators do a good job with a standard integration, typically that means that the integration will connect an Account in salesforce to a Customer in QB, an Opportunity in salesforce to an Invoice in Quickbooks, and Opportunity Product Line Items in Salesforce.com to Invoice Line Items in Quickbooks Online.
This is okay for some people who are using the standard sales cloud in salesforce.com. Where clients really run into issues is the non-typical implementation. That is where custom integration comes in. The custom integration between salesforce.com and quickbooks online gives us unlimited options.
Native to Salesforce.comA custom integration is written in Apex and resides in Salesforce.com; therefore, there are no servers, no third parties, no external codes. We write the code in your instance of salesforce.com where it is executed when required and communicates via a secure channel (OAuth) directly with Quickbooks online.
Custom Integration Possibilities are EndlessLet me give some examples (these are just a few common needs I've seen, but since it's custom, we can literally do anything that a customer might require):
- Maybe you just want to keep the accounts in Salesforce integrated with the customer accounts in Quickbooks Online. Or a variation on that, maybe you want a particular Contact and its associated Account in Salesforce.com to be associated with the customer account in Quickbooks. The integration can be written to pass any and all records, or just those that pass some criteria. We can even initiate a check from salesforce against quickbooks to ensure a customer record is up to date, or check on a regular basis for new records in Quickbooks and bring those into Salesforce.com.
- After a sale is complete in Salesforce, either in an opportunity or perhaps a custom object that you use like Sales, Invoices, Jobs, etc, you'd like to have the details of that record passed from Salesforce.com to QBO as a new Invoice and its line items - easy; just tell us the objects and fields involved and we'll write the integration accordingly.
- Some clients don't enter every sale in Salesforce, they just use it to win the relationship. After that the client makes purchases that show up in Quickbooks and you just want to see their invoices and the status of those invoices against the Account record in Salesforce.com - no problem. We can run a batch on a regular basis that looks for any new invoice activity in Quickbooks and brings that into a custom object in Salesforce, possibly an Invoice object, a Sales object, or a Billing object.
Moving ForwardSo how does this get done? In a nutshell, we meet with a client online (via Gotomeeting), look at their salesforce.com instance together and determine the project requirements. If they need setup work first in Salesforce.com, such as creating custom objects and fields to support the business processes, we'll be happy to do that - then when ready for the integration with Quickbooks Online, we'll map the Salesforce.com objects and fields to the Quickbooks online database and fields.
Once the requirements are determined, our developers write the integration and install it directly into the client's salesforce.com instance. This can typically be accomplished in just a few days. After the code is installed in your salesforce.com sandbox, we'll test it together to determine if it satisfies your requirements and upon your acceptance of the code we'll deploy it to your production environment and release it to your various users.