Catalog: Building a B2B Platform for SMBs with Medusa
Mar 06, 2024 by
Nicklas Gellner
Oscar Tyrberg
Nicklas Gellner and Oscar Tyrberg
Using Medusa enabled Catalog to shorten its implementation timeline from years to months and focus on differentiating features like multi-channel sales and automated ERP workflows.
Catalog, a French-based venture-backed startup founded in 2022, developed a B2B sales platform using Medusa's commerce modules. Offered as a SaaS solution for SMBs, the platform allows companies to set up digital B2B channels that integrate directly with their ERP. The platform provides features like a self-serve shop, sales rep platform, email-to-order automation, multiple customer roles, and AI-driven sales recommendations.
Using Medusa's commerce modules, Catalog reduced its implementation timeline from years to months. Today, the platform is live and in production, serving multiple B2B businesses, some with over 60,000 customer organizations and catalogs with up to 50,000 products. In 2024, Catalog raised €3M in VC funding.
“We wanted to focus on the differentiating ecommerce parts, which to us was developing tailored B2B-specific functionalities. Medusa allowed us to do that from the beginning.Julien Bellemare
//
Co-founder & CEO at Catalog
From years to months of implementation
From early discovery calls with SMBs, Catalog realized that building a competitive B2B sales platform would require:
- Core ecommerce logic: The platform must handle common digital commerce processes related to carts, customers, product logic, order handling, and more.
- Differentiating B2B features: Features specific to B2B customers, such as email ordering, custom price lists, different types of customer profiles, etc.
- Seamless ERP integration: Most B2B customers use an ERP system to handle order and product data across channels, which makes seamless and reliable integration critical.
Following initial scoping, the Catalog team estimated that building a solution from scratch to meet all requirements would take over four years. For a young startup, this was too long to wait. Consequently, they decided to look for solutions that would help them shorten the timeline.
As the leading ecommerce solution in the Node.js and JavaScript space, Medusa was a natural choice for the team. They found it particularly appealing that it both provided a robust set of commerce primitives to start with as well as a powerful framework for building their own customizations. This significantly accelerated the development process, reducing their time-to-market from years to 10 months.
“I did all the specifications for building this ourselves and realized it would take 1,500 days to build just the basic backend infrastructure. […] We instead searched for outside solutions and got excited about Medusa's modern tech stack and modular architecture.Maxime Poitevineau-Millin
//
Co-founder & CTO at Catalog
Multi-channel sales approach
A critical point for Catalog was to build more efficient sales flows for their SMB customers with the aim of enhancing customer activation while saving time for their sales reps. Using Medusa's Sales Channel Module, the team was able to easily set up three different types of sales channels catered to B2B customers:
- A self-serve shop that allows customers to place orders themselves while showcasing active discounts and promotions to upsell.
- A platform for sales reps to place orders on behalf of customers, directly edit product data, and view advanced sales dashboards.
- AI-enabled email-to-order intake to automate the process of transforming email purchase requests into system orders.
The new sales channels enhance the customer experience by significantly reducing the time-to-order through less manual processing. For sales reps, the channels lessen the administrative burden, while the sales rep platform provides a more convenient interface to make orders and curate product catalogs than the ERP.
Differentiating backend customizations
While Catalog created customized solutions for their sales channels, they utilized much of Medusa's existing commerce functionality, like Cart, Orders, and Sales Channels, to manage their commerce operations. For some domains, the team extended Medusa's functionality to differentiate the offering in a B2B context:
- Assortment and pricing: Medusa's price list feature is used by vendors to set the available assortment and pricing for each customer. Some vendors maintain over 40,000 price lists to accommodate their customers' unique assortment and pricing arrangements.
- Customer organization: Catalog introduced the notion of a Customer Organization ID within the customer entity. An ID can be linked to multiple customer entities and is used to associate customers with their organization's price lists, VAT numbers, invoicing data, etc.
- Advanced sales analytics: Sales reps are equipped with AI-driven sales recommendations, which are derived from sales analytics, customer search queries, and cart usage. All analytics are powered by Medusa's order and cart data, along with Algolia's search data.
Workflow for ERP product data sync
Most B2B companies use an ERP solution to handle product information and order fulfillment. Consequently, Catalog wanted to develop a repeatable workflow for syncing product data from an ERP to Medusa, aiming to eliminate manual and error-prone data transfer processes. To do this, the team created a five-step workflow:
- Update Triggered: Depending on ERP functionality, an update of the product data can be triggered manually or through a scheduled batch job, usually running once per day.
- Data Extraction: Data is extracted from the ERP system as a CSV, XML, or JSON file.
- Data Validation: Catalog uses AWS Lambda functions to extract and validate data such as inventory levels and customer information from the file.
- Identify Discrepancies: Custom-built GoogleAI and OpenAI integrations map the file to existing data in Medusa's database to identify and flag any discrepancies.
- Data Ingestion: The data is ingested into the Medusa backend using Medusa's APIs.
Data is then queried from the Medusa backend API endpoints to the Catalog frontend, where a Medusa price list determines what is included and displayed in each customer's product catalog.