About the client
Our Illinois-based client is a leading manufacturer, distributor, calibration source and service provider specializing in the quality industry.
Client needs / What the client needed help with
The client needed a revamp of their site which was originally built with Magento 1. Along with the migration to Magento 2, the new site also needed to be integrated with Coupa.
In order to streamline the order management process and enable ease of ordering for their customers, the client site needed to be integrated with Coupa, a procurement management system. Moreover, with over 75% of their orders coming in through customers from Coupa, it was crucial for client to integrate with the procurement platform.
How Coupa procurement platform works
A customer logs into their Coupa platform and proceeds to the Shop Online section, where they find client listed. Upon selecting client, they are directed to client own site where they are logged in with their account credentials if they are an existing customer or a new account is automatically set up. The customer is able to browse through the latest and updated catalog of products on client site and add them to the cart. As the customer checks out, the added cart items are passed back to Coupa where the order is placed and managed.
Suppliers on their end, manage the content and prices that are specific to the customer contract already agreed upon. This way suppliers don’t need to maintain separate catalogs for each customer they deal with.
How the integration was done
On the supplier’s end, a punchout needs to be set up to recognize Coupa users who enter the supplier site from Coupa. The supplier also needs to be set up in Coupa, and have a contract with their customer. Before a supplier’s customer can get them set up on their Coupa portal, certain information needs to be available - like the punchout URL, the supplier’s logo, domain and identity of both supplier and customer and a shared password.
Once the above information is set up and provided, a customer can then set up a punchout on their Coupa portal and access the supplier’s ecommerce site for their procurement. Once that is done, whenever the customer accesses the supplier’s site from Coupa, necessary data is passed between Coupa and the supplier through cXML documents. Essentially, this is what happens:
- When a Coupa user clicks the supplier’s punchout link, Coupa sends a PunchoutSetupRequest cXML document containing the buyer’s ID (From, Sender, and SharedSecret).
- The punchout authenticates the user and returns a PunchoutSetupResponse cXML document with the landing page URL.
- When the user checks out, the punchout sends a PunchoutOrderMessage cXML document to Coupa, with the items the user added to their shopping cart.
- Coupa creates a requisition from the information contained in the order message.
While the process seems simple enough, it was technically challenging as a sandbox to test out the integration scripts was not available and the integration had to be achieved without documentation. Leveraging the expertise of the Magento team at Ameex and with constant communication with the Coupa team, client was setup and onboarded onto the Coupa portal.
Client on their portal
With this integration in place, any customer of client with the Coupa portal and a contract can now set up client on their portal.
Immediate changes to catalog
Client can now make immediate changes to catalog items based on their customers’ requests.
No need to maintain separate catalogs
There is also no need to maintain separate catalogs and pricing for different customers on their ecommerce site.