The Definitive Guide to Integrating E-Commerce and ERP Systems

Size: px
Start display at page:

Download "The Definitive Guide to Integrating E-Commerce and ERP Systems"

Transcription

1 The Definitive Guide to Integrating E-Commerce and ERP Systems INTRODUCTION This paper provides technical guidance and considerations for integrating an e-commerce platform with an ERP system. Although we ll be using specific examples of integrating Magento with Epicor, many scenarios and procedures explained in this paper can be applied generically to most ERP and e-commerce systems integrations. BENEFITS OF INTEGRATING YOUR ERP AND E-COMMERCE SYSTEMS Integrating your e-commerce with your ERP system brings greater efficiency to the order process whether you are a manufacturer or retailer. BENEFITS INCLUDE: Automation Businesses benefit greatly from automating order flow. Automation helps bring an order quickly from one system to the next so the company can meet the customer expectations of fast order fulfillment. In addition, automation increases the accuracy of the order by removing the error-prone human element, which means customers get what they expect and there are fewer returns and customer service issues. Ideally, organizations would automate everything from checkout to final delivery.

2 SUCCESS STORY 2 Customer Experience By integrating your e-commerce system with other systems, you can deliver a more seamless customer experience. To deliver the best customer experience, you should consolidate your customer information so you can have a comprehensive view of the customer and one source of truth for your customer data. If customer data is managed separately in multiple locations, you may not be able to provide good service or market/sell to them effectively, and your data management processes will always be error prone. By integrating your e-commerce system with your ERP system, you can ensure that order, shipment, product, and billing information is available to sales or service representatives to help them serve your customers. SALES AND MARKETING EFFECTIVENESS Although this is outside the main topic of this paper, you should also consider integrating your e-commerce system with additional front-office systems such as your CRM system because it can give you greater ability to gather insights from past and even potential customer transactions. Improved business intelligence should lead to higher marketing ROI and faster sales processes. For example: you can record the contents of an abandoned shopping cart and use that information in future marketing communications with that customer or prospect. You can also use this intelligence to answer common internal questions: Did a technology problem cause them to abandon the cart? Did the customer not understand the checkout process? COMMON INTEGRATION SCENARIOS When integrating your e-commerce system to your ERP system, the information typically synchronized between the two systems are: ORDERS Typically a bi-directional integration where new order information is transferred to your fulfillment system and order status can be transferred back to your e-commerce system. Order information doesn t need to be transferred in real time, so this is typically configured to synchronize information every five minutes. This includes order status and payment data as well. PRODUCT INFORMATION Typically a one-directional flow from the ERP out to your e-commerce system. This information consists of product specifications, such as the components that make up larger assemblies or bundles, or product details, such as weight, dimensions, and product descriptions. Product descriptions may change, for instance, if the marketing team adjusts the description to optimize it for search engine placement (SEP). This information does not change frequently, however, so information is usually set to synchronize every 24 hours. INVENTORY It is almost always a requirement that the integration relay inventory status in near real-time (< five seconds) from the ERP to the e-commerce system. This reduces the risk that you provide a false inventory on your website, which can happen if you have multiple buyers trying to order products simultaneously or you have multiple channels (online, phone, and brick and mortar) pulling from inventory.

3 SUCCESS STORY 3 CUSTOMER DATA This could exist in either the ERP or the e-commerce system, depending on the nature of your business. See Determining the System of Record to decide in which direction the data should flow. PRICE LISTS A one-way sync from the ERP system to the e-commerce system. When beginning your integration project, you may often hear requests from business stakeholders to make all data synchronizations work in real time. However, true real-time data syncing is a challenging, costly process that is usually unnecessary. Most businesses accept once-a-day updates for the majority of static data, such as product information. Some data, such as inventory and stock information, is much more dynamic and time-sensitive. For these scenarios we recommend a five-minute sync interval. This is typically sufficient for the business requirements and will not present a burden to the integration infrastructure and development. If there are considerable business consequences for not having up-to-thesecond information synchronized, we recommend you use a true real-time sync. This will require you to invest more time and development resources to complete your integration project. PLANNING YOUR INTEGRATION PROJECT Below is a recommended process for approaching your integration project and some considerations that will help you smoothly complete the project. REQUIREMENTS FROM STAKEHOLDERS To ensure the success of your project, you need to have representatives from IT, Finance, Fulfillment, E-commerce, Marketing, and Sales work together to define the exact information you need to synchronize. Remember this is a team sport; you may likely have to work together with other system admins and developers to address some issues you uncover. One of the major areas where you will have to get agreement from stakeholders is a clear definition of how the business operates today and how it wishes to operate after this project. This will determine the data flows that you must build. Consider dimensions that could affect your integration, such as whether the business has a standard e-commerce process where a single individual can place an order through the e-commerce system and it will be executed immediately. This is a common workflow in B2C e-commerce scenarios. But, if your business is a B2B provider, you may want a purchase process with distinct stages. For instance, you may only want the e-commerce system to help the customer build a quote so that you can send that quote in a later stage through another review/ approval and purchase system. This desired flow would affect the final integration design and the coordination required between your systems. As you outline these desired workflows, you should understand whether the e-commerce platform supports your needs and whether you can use your integration platform to build your desired workflow.

4 SUCCESS STORY 4 REQUIRED SKILL LEVEL In this project you will likely need the assistance of a developer. For example, if you are integrating the Magento e-commerce platform, you should get a Magento developer. If this resource isn t available within your organization, we strongly recommend using a third party, such as a systems integrator, who has these skills. If you have outsourced your Magento hosting, it s possible they also could offer development services. POSSIBLE PLATFORM ISSUES If you are planning to use an integration platform with a pre-built connector for your e-commerce system, e.g., the Magento connector for the TIBCO Cloud Integration platform, you should first assess whether the connector applies to your specific configuration of the e-commerce platform. There are several potential configuration issues (i.e., operating system config, MySQL, PHP, OAuth) that you may have to address before you can take advantage of the connector. This is particularly true if using an open source e-commerce platform, such as Magento, because anything is possible. If you uncover a configuration issue, you will have to evaluate whether you can make a change to your e-commerce system to take advantage of the connector. If this is the case, you should consider leveraging the skills of the system administrator who built this system and/or maintains it. DATA EVALUATION In many integration projects you may want to improve the quality of your data before starting your development. Generally, when it comes to integrating e-commerce systems, however, pre-checking data quality is not worth the time and effort. But a thorough discussion about data quality at the beginning of your project will help determine certain areas to explore (accounts, contacts, and opportunities). This will help you understand how the systems need to behave. If there is a lurking problem with the data, it will be uncovered in either the Execution or Testing stages. SYSTEM ACCESS Before starting your integration, you will have to provide your integration developer with the appropriate level of access for each system. This is established from the data flows and workflows you will document during your requirements gathering phase. The integration developer must have administrative access to both the ERP and e-commerce systems. Create a dedicated user account on each system. These should be treated as service accounts. In Magento, the permissions should be granted super admin access. Note: When using the TIBCO Cloud Integration platform, you must also configure both the ERP and e-commerce systems to provide TIBCO s e-commerce application connectors (e.g., the Magento connector) administrative access as well. SANDBOX When working with important systems like ERP and e-commerce systems, it s vital you not disrupt their production instances. All your development and testing for this integration should occur in a true sandbox. Everything from the production instance should be duplicated and separated. There are very serious risks in even a small integration project if you choose to develop directly in your production environment. Even a small error could cause major disruption. This integration affects mission critical systems and, therefore, should follow established best practices for the entire lifecycle of any production software development and deployment.

5 SUCCESS STORY 5 PROJECT TIMELINE Most e-commerce-to-erp integrations take three to six months. By utilizing the TIBCO Cloud integration platform, the duration could be as short as one to two weeks (assuming no custom entities). If your e-commerce and ERP systems are highly customized (e.g., you are not using the standard structure for orders that it provides) expect the project to take longer. DETERMINING THE SYSTEM OF RECORD It s important to decide where your most accurate and current information exists for the key elements of this integration: customer, inventory, and product information. This is called the system of record, or source of truth, for that information. Your system of record may vary based on business needs and the specific information in question. There are two likely options for determining your system of record. In either scenario, it s possible this data may sync to the other system in a one-way fashion only. In a B2B scenario Customer, inventory, and product data are typically stored in the ERP system. The ERP is usually the system of record because fundamental information, such as billing information, is generally stored there and well-guarded to ensure accuracy. In addition, the customer list in B2B scenarios may not change that frequently, making it feasible for back-office teams to care for that data. In a B2C scenario Customer data is typically stored in the e-commerce system. New customer information is likely being updated very regularly, making it less feasible for back-office teams to care for that data. Note: When we use the term customer data, we re typically referring to demographic, personally identifiable, and financial information. In your case, you may think about your data differently. For example, you may store your financial data separately. Always understand where your most accurate data exists, and replicate that in a one-way fashion to other destinations at a frequency that supports operational needs. SPECIAL CONSIDERATIONS FOR YOUR INTEGRATION PROJECT Any custom requirements, such as custom endpoints and custom entities, that go beyond the standard API of your e-commerce or ERP system will be rather time consuming and require an extended project timeline. While it s worth exploring a marketplace, such as the Magento Marketplace, for pre-built solutions, often a viable option doesn t exist and will require custom development. Orders and price books, in particular, are often customized, and therefore usually require significant time and effort during an e-commerce-to-erp integration project and warrant more planning time up front. Here s why: ORDERS This item takes a lot of planning and understanding. Early on you need to decide if you re using the default features of your e-commerce system, or going a custom route. For either choice there is a significant implication that needs to be well understood. The order process is really broken into two parts: you accept the order and then you secure the money to pay for the order. In most cases, these steps follow each other immediately, meaning that upon an order submission, the payment is instantly synced from e-commerce to ERP. In other cases, the process may be two very distinct steps. You first accept the order and then at a later time you process the payment. For example, you may not want to bill the customer until the item is shipped.

6 SUCCESS STORY 6 In certain e-commerce systems, such as Magento, the order object is very difficult to deal with. It is almost always the case that some customization needs to be created for a smooth integration. For example: Magento can t actually modify the Order Record. Instead, it automatically creates a new record. To work around this behavior, you can use a custom order object. With this approach, you lose the ability to work with default order processing behavior from the core platform and marketplace extensions. You can also opt to create a custom endpoint and alter default behavior to suit your needs. PRICE LISTS This is another challenging item. Every ERP handles price lists differently. They could be based on clients, companies, or individuals. Some have custom rules. For example, it s rare that the out-of-the-box configuration of Magento will match your ERP s functionality. You should expect to perform some customizations to the price list before you start your integration project. Because of the variety of ways that orders and price lists are deployed, integrating these elements requires extra planning and customization. It s very common to underestimate your project complexity. Everyone thinks it s easy, but once you get into the detail, you may need custom integration logic. If you are building your integration by writing custom code to the APIs of the e-commerce and ERP systems, you will require a significant amount of time and labor from a developer to create these data flows. Even if you are using the TIBCO Cloud Integration platform, extra time is required to build out custom endpoints exposing price list functionality to your TIBCO maps. PLANNING Once you have a solid understanding of the customizations you need to deal with and the general flow of data between the various data objects, you need to dig deeper into the integration requirements. In this phase, you should build out the technical solution plans to implement the integration that satisfies the business needs. Your solution plan should include the details of the exact fields, triggers, and customizations that are needed for the platforms (e-commerce, ERP, and integration) and business rules you will need to implement in each system. EXECUTION Now that your detailed plan is complete, you are ready to build the workflows and data flows that you have specified. Before you start, you should pause one last time to evaluate the integration requirements and plans developed in the planning phase. One area where people sometimes need to make adjustments is in the API endpoints. Magento s out-of-the-box API endpoints expose basic functionality, but occasionally you need to extend the API to deliver a more tailored integration solution. The custom endpoint in Magento will be built by a PHP developer who is writing custom modules on the Magento system or extending the Magento platform. After you have created any required custom endpoints, you are ready to build the integration logic and field mappings. A basic organizational tool such as Excel can be used to document your integration logic. If you are using the TIBCO Cloud integration platform for your project, we recommend building your custom field mappings directly within TIBCO s graphical mapping interface. Execution will be your longest phase, not only due to your development effort, but also because of the significant amount of time you re dedicating to initial testing.

7 SUCCESS STORY 7 TESTING After your integration logic is built, you are ready to synchronize data between the e-commerce and ERP systems and validate your logic. First you should thoroughly test all the detailed scenarios that were identified during the Planning phase. After the logic of all scenarios has been verified, you can then perform your initial sync. You should run the initial data sync in the sandbox. This will allow you to begin testing with real data, although you re still in a dedicated test environment. Also perform stress testing in this phase. Attempt to recreate any possible production scenario to verify your design. CONSIDERATIONS FOR TESTING It s best practice to always have a validation team perform the testing here. This way you can be assured no subconscious biases cause you to overlook an issue, one you may have accidently created in the development. You ll benefit greatly from finding errors here, versus in production. CONSIDERATIONS FOR INITIAL SYSTEM SYNC Note that if you are using the TIBCO Cloud Integration platform for your integration, the initial data sync will take longer to complete than subsequent syncs because TIBCO s platform syncs only changed records after the initial sync. DEPLOYMENT INTO PRODUCTION After you have validated the design of your data flows with real data, you are ready to move your integration to run on the production instances of your e-commerce and ERP systems. Everything prior to this was done in a sandbox. Most items can be replicated or copied from your development environment into your production environment in TIBCO as well as on each participating platform. ONGOING MAINTENANCE AND SUPPORT After the integration is complete, you should expect that you will receive ongoing change requests. These could incorporate different product catalogs, new fields, or other minor changes. Plan to retain your sandbox environments as these will continue to be critical components that will help your ongoing support and maintenance efforts. When you address these changes, make certain to develop and test in your sandbox first, which will allow you to always follow your full testing protocol and then replicate those changes into production. UPGRADE CONSIDERATIONS If one or both of your e-commerce and ERP systems are cloud-based, you should expect that these software systems will be updated several times per year. Most releases are minor in nature and can be applied without any problems. For example, ongoing security hotfixes (in Magento these are known as SUPEEs) are usually no issue for your integration and can be applied without any problems. Some updates will be significant, however, and can cause you to have to greatly change or even replace your integration. New releases of Magento, for example, are typically considered major revisions/upgrades. In fact, Magento 2 was based on a completely different paradigm than Magento 1. If you are upgrading from Magento 1 to Magento 2, you should treat this as an entirely new integration development effort and repeat all steps in a sandbox first.

8 SUCCESS STORY 8 ABOUT DATIX Datix has been designing enterprise software solutions for over 20 years. As we evolved we began consulting with manufacturing and distribution businesses in the mid-market to assist in building out their enterprise software systems. That s been our M.O. for more than 15 years. We ve built partnerships with some of the most popular software utilized by these industries, and have created a powerful reputation as an expert who understands how all these systems should work together. FINAL THOUGHTS Developing an integration between your e-commerce and ERP systems is not a trivial task. Because both systems are so vital to most organizations, the integration takes careful planning and, as described in this document, a wellthought-out development, test, production, and maintenance process. Securing the right technical resources, whether internal or external, and using a proven integration platform will not only accelerate your process, but increase your satisfaction with the final result. Global Headquarters 3307 Hillview Avenue Palo Alto, CA TEL FAX TIBCO fuels digital business by enabling better decisions and faster, smarter actions through the TIBCO Connected Intelligence Cloud. From APIs and systems to devices and people, we interconnect everything, capture data in real time wherever it is, and augment the intelligence of your business through analytical insights. Thousands of customers around the globe rely on us to build compelling experiences, energize operations, and propel innovation. Learn how TIBCO makes digital smarter at , TIBCO Software Inc. All rights reserved. TIBCO and the TIBCO logo, and TIBCO Cloud are trademarks or registered trademarks of TIBCO Software Inc. or its subsidiaries in the United States and/or other countries. All other product and company names and marks in this document are the property of their respective owners and mentioned for identification purposes only. 11/29/18