NetSuite Integration: What You Need to Know
NetSuite offers deep and flexible functionality to meet a variety of needs. However, as new applications continue to emerge and extend business process improvement into more and more areas of a wholesale business, wholesale distributors using NetSuite may find themselves asking whether it’s possible to integrate NetSuite with specific third-party applications. In this post, we’ll discuss some of the general and technical details that you’ll need to know in order to successfully integrate your third party applications with NetSuite, as well as some of the complexities you need to be aware of as you plan your integration projects.
NetSuite bills itself as the world’s number one cloud ERP vendor, used by more than 24,000 organizations worldwide, in more than 100 countries. NetSuite offers one of the premiere cloud-based ERP application suites for mid-sized wholesale distributors. Historically, its products have been adopted primarily by companies in the small and medium business (SMB) space. However, as its products have grown in functionality and larger companies have grown more comfortable in a cloud-based environment, it has also gained a following with larger enterprise-scale businesses looking to lower costs and minimize the IT footprint required to maintain their ERP applications. NetSuite’s offerings include the NetSuite ERP, which is the world's most deployed cloud Enterprise Resource Planning solution, and NetSuite OneWorld––an integrated, cloud-based ERP application suite that supports multiple currencies, taxation rules and reporting requirements, enabling real-time insight and financial consolidation for global businesses.
NetSuite Technical Details
Unlike proprietary software developers like Microsoft and Sage, NetSuite takes more of an “open source” approach to customization and modification of its software. As a cloud-based platform, however, NetSuite owns the core code––not the client organization. However, with NetSuite, modifications or enhancements can easily be done by creating a web-based script between the core application services provided by NetSuite and the browser-based user interface. These interfaces are largely done using “RESTful” Web Services, enabled by Java. There are actually several different types of scripts that are commonly done with NetSuite, depending on the type of action that is desired, including client scripts, user events, scheduled scripts and Suitelets. Client scripts run on the client side and enable actions to be taken based on inputs to a form. User scripts run on the server side, and are triggered by actions being taken with a record (such as saving a file). Scheduled scripts allow scripts to be run on a scheduled basis, and Suitelets are server-side scripts that behave like Web apps. Since most of these scripts are done using Java, it’s not difficult for companies that have the technical ability to do modifications in-house, or at least to have modifications done for them. As is usually the case, these custom modifications may need some updates in order to continue working properly at upgrade time. Like its enterprise-grade competitor Oracle, NetSuite has also “productized” its approach to application integration and extensions. NetSuite offers SuiteFlex, a technology platform that provides the tools to allow customers, partners and developers to customize NetSuite to meet specific business needs. The SuiteFlex tools include:
- SuiteTalk: SuiteTalk is a Web Services integration tool that allows NetSuite to be integrated with legacy systems and third-party applications. SuiteTalk allows developers to use any programming language or platform that supports the SOAP standard in order to generate NetSuite business objects in that language, such as Java or Microsoft .NET. Within SuiteTalk, NetSuite offers a library of Application Programming Interfaces (API’s) for certain third party applications, which are supported and maintained by NetSuite to facilitate client upgrade processes.
Challenges of NetSuite Integration
Third party integrations are well-supported by NetSuite and can be performed by clients or development partners using common, standards based tools. However, that doesn’t necessarily mean that a specific integration will be trouble free. In order to ensure your NetSuite integration project doesn’t create more problems than it solves, there are a few things you need to be aware of. Although NetSuite offers tools to enable third party integration, mistakes can be costly if the changes you make affect important client or financial information. In addition, integrations with Software as a Service (SaaS) software applications must always be developed with future upgrades in mind. The upshot is that if your organization doesn’t have a good understanding of what you’re trying to accomplish, significant experience in business process improvement, as well as a good understanding of the ins and outs of SaaS and Java development, you could find yourself in hot water. To avoid issues, businesses that don’t have significant experience in these areas should use a supported API or work with a development partner rather than attempting to go it alone.
Determining Your Integration Path
With this understanding of NetSuite’s approach to application integration and modifications, it’s time to create an integration plan for your particular situation. To do this, you need to ask the following questions:
- What are your business needs; what should the integration allow you to do?
- Which NetSuite applications are you running?
- Is there a NetSuite supported API within SuiteTalk for the application you would like to integrate?
- Is there a NetSuite developer partner that offers a supported integration tool, or is an interface offered by the third party vendor?
- If no integration tools are available, do you have SaaS integration and Java development expertise in house?
- Has your organization modified or customized NetSuite in a way that could impact your integration plans?
As we’ve shown, application integration is well-supported by NetSuite. It can be done by either a client organization, a development partner or application vendor, or in many cases, with tools supported by NetSuite. However, most small businesses that lack experience with SaaS integration and Java development might be better served by outsourcing more complex integration development. Has your organization integrated any third party applications with NetSuite? How did it work out? We’d love to hear about it in the comments.