With any integration there are more than just 1 system to look at. In this case we have to make sure that Sage 300 is "ready" to integrate with CRM. We can do this by going through various steps to see if the integration on Sage 300 system is set up and ready to go.
Here are some of the main steps in order to look for:
- Check compatibility chart to make sure that your 300 version and CRM version is compatible - https://support.na.sage.com/selfservice/viewContent.do?externalId=88873&sliceId=1. Patches and Product Updates are very important to make sure the integration works correctly.
- Make sure you have the correct integration version to install for CRM
- Make sure the Sage CRM module is selected during the Sage 300 install and that it is subsequently activated in the data activation of Sage 300. This will create the Sage CRM module in the left hand list of Sage 300 and can be configured there. Activating this allows Sage 300 to communicate with Sage 300 via the Sage CRM Webservices WSDL.
- Make sure the portal database is done on the Sage 300 Database Setup. Run the portal so that the database gets populated. If this fails the first time, you can manually create the portal database in your SQL server and then run the setup again for the portal database.
- Run the Setup Sage CRM icon on Sage 300 under the Sage CRM module. This sets up your connection with Sage 300 to CRM. Make sure all the detail for CRM is correct. Sage 300 uses 1 user to push all changes to Sage CRM. Admin is the default user used here. These details are you Sage CRM details.
- Install the Synchronization component, by running Workstation Setup. Click on workstation setup in Sage 300 and when asked to install the Synchronization component, click yes to install. Sometimes you will be prompted to install .NET Framework, go ahead and do this. On occasion this will not work and then you cannot continue. You can then manually install the Synchronization component by navigating to the Sage 300 install directory and finding the EW folder. This folder can be found in [install path]\Sage300\EW[version number]A\COMPONENT and then run the AccpacCRMWS.msi as ADMINISTRATOR, this will install the sync service. The version number is the version of Sage 300 in the old versioning style. 2019 -> 6.6, 2020 -> 6.7, 2021 -> 6.8. Now log back in Sage 300 and click on Workstation setup to confirm it was installed correctly and press the test button to see if the sync works.
- Check the WebAPI to make sure CRM can communicate with Sage 300. You can do this by using Sage 300 Swagger UI. This can be reached by going to your browser and typing in the WEBAPI address. http://[server name for Sage 300]/sage300webapi. Then click on the blue OPEN SWAGGER UI button to open the swagger user interface. Now we can test using AP Vendor Groups, by selecting it from the list, clicking on GET, changing the company to the company you want to test and hitting "Try it out". You will then be presented with a authentication screen. You need to enter your Username and Password for Sage 300 in here and then await your result. Some things to remember when doing this.
- Should you be using the admin user, the admin user does not by default have access to WebAPI and needs to be given access via the config files. See this article here and this question here
- The username and password HAS TO BE IN ALL CAPITALS for this to work, even when not using capitals to log into Sage 300. Remember ALL CAPITALS.
- If you are not using admin, please make sure to set all user rights and groups for WebAPI in the Sage 300 user groups and security section. See examples in the comments here
- WebAPI reference can be found here
- If it does not work using Swagger, then it WILL NOT WORK in CRM.
- Check Web Screens by logging into web screens for Sage 300 and processing a quote or order with the user you are planning to use in Sage CRM for the setup later.
By following all these steps you should be ready to start CRM setup for the integration. If one or all of these steps do not work, you will not be able to integrate into CRM correctly and will get errors later on in the article.