Enterprise businesses that use NetSuite products often face a challenge when it comes to integrating those solutions with their Salesforce software.
NetSuite is rightly popular with many companies for its sophisticated accounting and enterprise resource planning (ERP) tools. But while it does offer customer relationship management (CRM) software of its own, Salesforce remains the undisputed best-of-breed CRM solution. Conversely, some feel that Salesforce lacks the sophisticated ERP and accounting solutions that NetSuite delivers.
So it’s natural that companies want access to the benefits of both. But despite NetSuite’s suggestion that its software integrates easily with Salesforce out of the box, the truth is that most companies’ data-sharing needs are far too sophisticated for a simple integration.
So businesses are often left with several less-than-ideal options. Sometimes they don’t integrate the two platforms at all. That means their customer relationship data remains in a silo, so when a prospect signs a deal (or an opportunity, in Salesforce parlance), employees must manually transfer data between Salesforce and NetSuite’s accounting software. They often do this by copying text from Salesforce fields and pasting it into NetSuite (or vice versa), inevitably making data-entry errors as they go and wasting hours of time.
Other companies attempt to use out-of-the box integration tools – adapters that generally don’t work very well for businesses that have complex data-sharing requirements.
Still others rely on expensive middleware that sits between the two platforms and acts as a kind of universal translator. While that may be a reasonable solution for companies that need to integrate many different enterprise applications, for those that seek only to share data between NetSuite and Salesforce, it makes more sense to build the integration directly from one platform to the other without the need for middleware.
Direct Integration is Possible
NetSuite’s SuiteTalk SOAP API makes it possible for developers to build direct integrations with Salesforce, even for businesses with the most complex business logic requirements.
The SuiteTalk API exposes NetSuite’s web services, allowing developers to build the integration entirely on the Salesforce side. Virtually no development work is necessary on NetSuite. Instead, Salesforce simply calls on NetSuite whenever critical data is entered into Salesforce, automatically synching with NetSuite on a near-real-time basis.
It sounds simple enough. But unique data-sharing needs within companies often make such integrations highly complex. A client of ours is a good example.
Knight Capital, a lender to small and midsized businesses, needed us to customize its Salesforce software and integrate it with its NetSuite ERP tool, enabling automatic seamless movement of customer data between the two systems.
Post-integration, accounts and contacts are created in Salesforce and then automatically pushed to NetSuite. But it doesn’t stop there.
As a merchant lender, Knight’s customers submit applications for funding. For Knight, each application represents a potential deal. Therefore, the applications needed to be modeled on Salesforce’s opportunity object. So we renamed the opportunity object in Knight’s Salesforce system to “Application” object.
And while we’re continuously synching accounts and contacts between Salesforce and NetSuite, a different approach was required for those applications. Because applications are really just opportunities until they get approved for funding, a NetSuite record is created only when an application reaches that stage – and then it’s created automatically in NetSuite for further processing by the accounting department.
All three integrations – accounts, contacts, and applications – are synchronized with updates pushed to NetSuite via SOAP calls every 15 minutes. Meanwhile, remittances – payments made to Knight by its customers – are pulled from NetSuite to Salesforce regularly.
Yet simply synching data between Salesforce and NetSuite isn’t enough, for two reasons. First, Knight often works through brokers who are owed a commission when the deal is approved. So in addition to creating the standard sales order, our software also creates a separate record to advise accounting to pay the commission.
Second, the sales orders themselves needed customization, because each sales order includes line items that define particular fees associated with funding that business. So the integration software has to push the necessary data to NetSuite to create those line items on each purchase order. In all, the integration includes transferring nine unique data types, each initiated from Salesforce via SOAP calls to NetSuite.
Clearly, there is no out-of-the-box adapter capable of executing an integration as complex as this. Yet while Knight’s case was particularly intricate, I find that most midsized and larger businesses have sophisticated data-transfer needs requiring a high level of technical knowledge.
Companies that prefer these two best-of-breed solutions, but need them to work seamlessly together, will have to think carefully about how to integrate them so data is exchanged automatically, and without error.
For a conversation about best practices in integrating Salesforce with NetSuite without middleware, feel free to reach out.