This year I attended my first Acumatica Summit and was introduced to several Acumatica Developer MVPs who attended the Acumatica Hackathon. There, I quickly learned about Acumatica’s Github repository with several open source projects available for the Acumatica community to use, contribute, and extend the functionality. This created an opportunity for our Canadian clients that were looking for an Amazon integration that works for both their Canadian and American Amazon store.
The current implementation of the Amazon Integration customization package assumes one guest customer for the integration. However, our Canadian client requires separate guest customers since the Amazon stores operate in different currencies and a different GL Sales account in Acumatica. With this requirement in hand and accessibility to Acumatica’s GitHub repository, I got to work.
In the code below, you can see the SOAmazonSetup DAC, where I added the GuestCustID Field that was removed from the SOSetupAmazonExt DAC which is an extension of the SOSetup DAC. From there, the import methods in the CreateSO class were updated with this change.
Under Marketplace Configuration, I added the Customer ID, so that each integration can be set up with a different guest customer.
As you can see in the Sales Order Preferences screenshot below, the Customer ID is no longer there from the original implementation:
As you can see, with a few simple changes to code and configuration, we were able to take an existing solution and extend it for one of our Canadian customers to allow for a multi currency solution. After a few customizations to the DAC files and import logic, we had a working solution that the client could use for multiple FBA stores with different currencies. Having a great starting point, using an existing customization provided by Acumatica, we could provide our client a simple and cost effective solution.
After spending several years working with legacy ERPs, the transition to a true cloud ERP like Acumatica has been an absolute delight. As a software developer, knowing that the code was built with a modern framework and the latest database architecture, it is reassuring to know that what you are learning will be here to stay for a long time.