OCI (Omnichannel Inventory) has been a part of the Salesforce B2C Commerce Cloud offering for a while. Originally it was part of the OMS (Order Management, but it was decided to split it off as a separate product to provide a flexible offering.
But why should you use it? And if you decide to use this product, what are the things to keep in mind?
Wait?!! It's included in the B2C license?
Let us first get this topic out of the way; I am sure this information will increase the interest in this product!
If you are a B2C Commerce Cloud customer, OCI is included!
I only learned about this because I took the OMS Administrator and Developer certification exam (and passed 😊).
What is OCI?
Omnichannel Inventory is an offering that provides near real-time inventory information at the location level for an omnichannel experience. But what does that mean?
The OCI exists out of multiple components:
- Omnichannel Inventory service: An API-first approach service that allows you to get and manage inventory information across all of your fulfillment channels.
- Omnichannel Inventory App: A Salesforce console app to manage your locations and inventory availability in the visual interface you know and love.
The Omnichannel Inventory provides a set of Headless APIs so any system can communicate with it to get the latest inventory information, be it your website, app, or any other system connected to the web (which can include your physical stores).
Using OCI brings the following benefits:
- Granular location visibility: Manage location-level inventory availability.
- Powerful grouping: Segment inventory by combining multiple locations. For example, merge your EU-located warehouses to one location group for a Salesforce B2C Commerce Cloud channel.
- Flexibility: Easily add or remove a location.
- Centralized visibility: View availability information across all of your channels.
- Accuracy at scale: Gain near real-time insights into availability to prevent costly underselling and overselling during flash sales or holidays! And this is important as many systems struggle to get a near real-time view, causing mispicks in the warehouse.
- Omnichannel: Easily support omnichannel experiences, such as ship from store and buy online, pick up in-store (BOPIS)
This might be a sentence you have heard before and are skeptical about. But in this case, you can lower your guard a little bit.
The Omnichannel Inventory comes natively integrated with Salesforce B2C Commerce Cloud! Once activated, a few things change how things work in the Business Manager and how developers access APIs.
In a few sentences: “Once this has been enabled by support/CSM (Customer Success Manager), your Inventory Lists are fed with data from the OCI, rather than having to manage or import them via a different channel into SFCC.”
You still have to upload that data to the OCI! It is just a different system that you integrate with to update inventory information.
But you do not have to think about getting that data to Salesforce B2C Commerce Cloud; these updates are also near real-time!
Should I use OCI?
This depends on your situation and if you need this amount of flexibility. Have a good look at your current needs and the roadmap before making this decision.
If you only have one location from which you ship, have no plans for features such as BOPIS, and do not plan to add more warehouses, you might not need OCI just yet.
Since OCI is an API First approach service, some features are only available through REST services. Keep this in mind when planning, as getting to know the ins and outs of OCI will take longer than how inventory lists work.
These features are available in the OCI Application on force.com:
- Look up available inventory for an SKU.
- View, add, edit, and delete locations.
- View, add, edit, and delete location groups.
- Assign locations to location groups.
- Remove locations from location groups.
- Commit location and location group updates.
Not as "easy" to set-up as Inventory Lists
Since we are working with REST JSON APIs rather than XML files that can be put on an SFTP or WebDAV, expect to be spending more time to set this up in both Salesforce B2C Commerce Cloud and in the OCI itself.
As with many things, with more flexibility comes more complexity. An excellent example is how to import inventory, have a look! Felt like something was missing in the documentation there? Not to worry, it was on the Summary page.
Have a good read on that summary page, it should give you a clear understanding of the complexity you need to take into account.
It adds other complexities
We are heading into “composable” territory here, which adds complexity to your architecture. And what do I mean what that:
- There is no management interface available, as mentioned in one of the previous items.
- Since it is a separate system, you need to keep track of that in your architecture (e.g., consider possible data or performance issues).
- It is a separate system for merchandizers to view and manage the inventory (to the extent possible) besides the regular Business Manager.
You can ignore this topic if you just want the standard Inventory List functionality. But development in Salesforce B2C Commerce Cloud is still required when:
- You want to do real-time inventory checks on the PDP/Checkout
- Implement BOPIS
- Want a management interface for the inventory
It can't do everything
While Omnichannel Inventory offers many vital benefits, keep in mind that it does not replace the inventory system of record, supply chain management, warehouse management, and other systems you depend on to run your retail operations.