Our client was using Unleashed to handle customer management, inventory management, quotes, orders, shipping, and even as a makeshift CRM to view sales data and statistics. However, Unleashed's capabilities for customer and CRM functions were limited, leaving the sales team struggling with inefficient tools. They sought a more robust solution to better manage their sales processes. The goal was to shift CRM activities—like customer management and quote creation—to a dedicated CRM platform like HubSpot, while ensuring seamless integration with Unleashed for inventory, shipping, and invoicing. Without a native integration between Unleashed and HubSpot, this required a custom solution to synchronize data bidirectionally and maintain operational flow.
Unleashed is a powerful inventory management and business operations platform designed for product-based companies. It helps businesses manage their stock, purchasing, sales orders, manufacturing, and fulfillment—all in real time. With features like multi-warehouse support, batch tracking, and automated reordering, Unleashed streamlines supply chain operations but falls short in advanced CRM functionalities.
The customer wanted to handle all sales team processes—such as lead generation, quoting, and converting to sales orders—in HubSpot, while keeping inventory, shipping, and invoicing in Unleashed. They also needed accurate sales statistics based on invoiced revenue from Unleashed. We proposed the following solution:
We needed to import updates from Unleashed into HubSpot for objects like products, stock, and sales invoices immediately after changes. This was challenging because Unleashed lacks webhooks for real-time communication and relies solely on REST API support. We addressed this by building a custom integration service that polls Unleashed for last-modified objects (products, stock, and sales invoices). The polling runs via cron jobs twice per hour, ensuring a maximum sync delay of 30 minutes.
Unleashed supports flexible pricing, including default sell prices, group-based pricing (e.g., for wholesalers), and fixed customer-specific pricing. HubSpot, however, only accommodates a single price per product, and the client wanted to retain their existing pricing logic. We solved this using HubSpot webhooks on line items: Whenever a line item is added, our system checks the associated sales order group, retrieves the appropriate customer or group pricing from Unleashed, and updates the line item price accordingly.
The client required sales revenue statistics based on actual invoiced amounts from Unleashed, rather than total deal values, to account for partial invoicing and more precise reporting. We implemented a cron job to periodically pull invoiced revenue data from Unleashed and create corresponding orders under the relevant HubSpot deals. Additionally, we developed a HubSpot calculated property called "Invoiced Revenue" that aggregates these values for real-time deal insights.
The integration was built on precise object mapping between HubSpot and Unleashed to ensure consistent data synchronization:
|
Unleashed |
HubSpot |
|
Customer |
Company |
|
Customer-Contact |
Associated Contact |
|
Products, Inventory |
Product |
|
Sales Order |
Deal |
|
Invoice |
Associated Order |