Product Catalog Management in OrderCloud

OrderCloud provides a robust set of features to allow you to implement a solution that meets a diverse range of business requirements. In earlier posts, I discussed high level architecture and the key entities that make up the OrderCloud data model and enable this flexibility. In this post, I'll dig deeper into features and go through the catalog and product management functionality.

Catalog Structure & Product Taxonomy

Product management is a key aspect of any ecommerce system wherein Catalogs are used to categorise and house products. In OrderCloud, you can setup multiple catalogs- they can either be separate for each buyer group or can be shared. As you can see in the diagram below, products may be assigned to one or multiple catalogs depending on which buyers should be able to purchase the product. At the same time, you can also have nested categories within each catalog to define your product hierarchy or taxonomy. Lastly, a product can also be part of multiple categories, which allows you to build out your product taxonomy as required.

Sample Catalog, Category, and Product/Variant structure

Product Setup

Products can be created with one or many variants or specifications. You can have OrderCloud auto generate variants based on the specifications provided or you can manually create the variants yourself.

Products and variants come with various commonly used attributes out of the box such as Name, Description, Dimensions, Inventory etc, and you can also extend the product definition by using a feature called Extended Properties (XP). XP is basically a property on most resources including products, that allows you to build and assign your own complex JSON object to the resource. What's great is that the extended property is also available for search, filtering and sorting automatically. This is a really powerful feature and allows easy extension of the data model based on complex business requirements.

A quick word on pricing- it is not set at the product level in OrderCloud and is set instead with price schedules. I'll go through details on this in a dedicated post on pricing and promotions, but thought it deserved a mention here.

In addition to setting up product attributes, you can also associate one or more suppliers to a product which allows for supplier based fulfillment scenarios by allowing a buyer to either choose a specific supplier for fulfillment or by building your own logic to route the order to the correct supplier.

Note that at the time of writing this, there is no bulk product import endpoint, and you will need to write your own if required.

Catalog & Product Visibility

The visibility of products is controlled by assignments to specific buyer(s). This in turn allows you to tailor which products are visible to certain users.  By setting assignments at the catalog, category, and/or product level, you can control product visibility at a high level (catalog level) or granular level (product level) depending on your requirements.  

Below are some common scenarios that are supported to control product visibility. Note that this is not be an exhaustive list- more details can be found in the documentation listed in the references section.

  • Make products visible to a specic users at the catalog, cateogry or product level
  • Allow users to see certain products but not buy them
  • Control visibility at the category level, including nested categories
  • Exclude certain categories from visible
  • Make an entire catalog visible or hidden (usefule when you want to temporarily hide all products)
  • Create a search driven catalog rather than category driven, i.e. products are visible based on search criteria

That wraps up this post on product management in OrderCloud where I've attempted to summarise the key concepts on how products are setup and managed including some powerful features around extended properties and product visibility.  Stay tuned on future posts where I'll go through pricing & promotions and order fulfillment.