If you searched for “Salesforce Commerce Cloud inventory management” and landed here, there’s a naming update worth knowing about first: Salesforce Commerce Cloud is now called Agentforce Commerce. Salesforce announced the rebrand at Dreamforce 2025, and it isn’t just a fresh coat of paint on the logo, the platform now ships with AI agents built into the core commerce workflow, including a Merchant Agent that handles storefront setup, product descriptions, and listing SEO. The underlying B2C Commerce, B2B Commerce, and Order Management products you already know are still there, just operating under one unified brand.
That context matters for inventory, because stock accuracy is the thing that quietly decides whether every other part of the storefront, search ranking, checkout, and fulfillment promises, actually works. An out-of-stock item that still shows as available doesn’t just frustrate one shopper; it erodes trust in the whole catalog. This guide walks through how inventory tracking actually works in Agentforce Commerce today, what’s changed from the older XML-file-and-Business-Manager model, and where most retail teams get tripped up.
Two Ways to Track Inventory in Agentforce Commerce
There are two models available, and picking the wrong one for your business size is the single biggest inventory mistake we see in implementation reviews.
1. Native Inventory Lists (the original B2C Commerce model)
This is the model the platform launched with, and it’s still fully supported for smaller catalogs or single-warehouse operations. An inventory list is a defined set of inventory records tied to one or more storefronts, though a given storefront can only draw from one list at a time. Each record within that list describes a single SKU’s stock position, using a handful of core attributes:
- Allocation — how many units are in stock as of the reset date
- Reset Date — when that allocation was last set or refreshed
- Perpetual — a flag marking an item as always orderable, regardless of counted stock
- Pre-order/Back-order Handling and Allocation — governs what happens once physical stock hits zero
- In-Stock Date — the expected date a currently unavailable item becomes orderable again
Records can be created one at a time in Business Manager or bulk-imported using the platform’s inventory XML schema, and you can extend the ProductInventoryRecord object with custom attributes if your business needs to track something beyond the defaults.
2. Omnichannel Inventory (the model Salesforce is actively pushing)
Omnichannel Inventory, or OCI, is Salesforce’s separate but natively-integrated inventory engine, and it’s where most new implementations and larger retailers now land. Instead of one storefront tied to one static list, OCI works off a “location graph”, a collection of individual locations (a specific warehouse, a physical store) and location groups you define based on how you actually fulfill orders. B2C Commerce exposes this data by mapping an inventory list to each location or location group you want the storefront to see directly, with the list’s ID matching that location’s external reference value.
A location doesn’t need its own inventory list if it only ever fulfills orders as part of a group.
The practical difference shows up fast once OCI is switched on. Instead of uploading inventory files in XML format the way classic B2C Commerce does, stock data flows into OCI through REST APIs, pulled from whatever back-office systems already hold the real numbers: WMS, ERP, POS. The Omnichannel Inventory service is essentially a set of APIs for two jobs: getting availability data and managing reservations across every fulfillment channel you operate, and it’s built to work across B2C, B2B, and D2C storefronts alongside Salesforce Order Management, not just one channel in isolation.
One trade-off worth flagging before you commit to OCI: merchandisers lose direct write access. Business Manager becomes a read-only view of stock levels once OCI is managing the data; any correction has to happen in OCI itself, not the storefront admin tool.
How Reservations Actually Work
Once OCI is in charge of inventory, B2C Commerce no longer creates or edits inventory records directly; the only lever the storefront has over stock levels is reserving inventory for a basket or an order. Everything else- corrections, recounts, transfers between warehouses- happens on the OCI side and syncs back down.
There’s a timing nuance that catches teams off guard during QA: visible availability is eventually consistent, meaning an update can take a few seconds to show up in the UI or API, so a reservation that just succeeded won’t necessarily be reflected instantly if you refresh the page. Salesforce also added dedicated reservation tracking on top of this: every reservation gets a unique ID that follows it from the moment it’s placed in a cart through fulfillment or cancellation, which OCI, Order Management, and any third-party system can use to monitor changes and reconcile orders. That ID is genuinely useful when you’re debugging a mismatch between what the storefront promised and what the warehouse shipped.
Order Management sits downstream of all this. Integrating OCI with Order Management lets you pull availability data by SKU, location, and location group, transfer reservations between locations, release them on cancellation, and fulfill them, giving your routing logic accurate stock data instead of a static snapshot.
One limitation worth planning around: OCI doesn’t natively support marking an individual record as “always in stock” the way classic perpetual availability does. Teams that rely on that pattern typically either turn on a storefront’s Default In-Stock inventory list setting, or set the location’s available quantity to an artificially high number and handle fulfillment logic separately; both workable, but neither is a native toggle, so budget implementation time for it.
Which Model Fits Your Business?
| Native Inventory Lists | Omnichannel Inventory | |
|---|---|---|
| Best for | Single-channel, single-warehouse retailers | Multi-location, multi-channel (in-store, online, marketplaces) |
| Data ownership | Managed directly in Business Manager | Managed in OCI; Business Manager becomes view-only |
| Import method | XML file upload | REST APIs from WMS/ERP/POS |
| Fulfillment visibility | Per-list, per-site | Per-location and location group, near real time |
| Works with B2B/D2C natively | Limited | Yes |
If you’re running BOPIS, curbside pickup, or ship-from-store, OCI is effectively the only option that gives fulfillment logic the location-level accuracy it needs. If you’re a single-warehouse B2C brand with a straightforward catalog, native inventory lists still do the job without the added integration overhead.
Building an Inventory Workflow That Doesn’t Break at Scale
Before any of this gets configured, a few decisions need to be made on paper first:
- Ownership — who updates stock counts, who approves back-order settings, and who’s accountable when a reservation fails.
- Data cadence — how often your WMS or ERP pushes updates to OCI, and what “near real time” actually needs to mean for your peak traffic.
- Availability rules — which SKUs get perpetual-style handling, which allow back-orders, and what the customer-facing messaging looks like for each.
- Fulfillment routing — how reservations move from a location group down to a specific store or warehouse when multiple locations could fill the same order.
- Deadlines around go-live — inventory cutover is one of the riskier parts of a Commerce Cloud migration, since a mismatch here shows up as a broken checkout, not a quiet backend error.
Cloud Odyssey’s Take
We’ve walked retailers through this exact decision more times than we can count, and the pattern is consistent: teams that stay on native inventory lists past the point their fulfillment network gets complicated end up bolting on workarounds that OCI already solves natively. The rebrand to Agentforce Commerce doesn’t change that calculus; if anything, the platform’s push toward AI-driven merchandising and agent-assisted shopping makes clean, real-time stock data more valuable, not less, because a Merchant Agent or Shopper Agent is only as reliable as the inventory feed underneath it. Get the location graph and reservation logic right first, and the AI layer on top actually has something accurate to work with. Our Salesforce Commerce Cloud implementation and Retail Cloud teams handle this migration regularly, and the projects that go smoothly are the ones where inventory architecture gets scoped before storefront design, not after.
If your current setup is still running on the old XML import model and you’re feeling the limits, it’s worth a proper Salesforce CRM health check before deciding between a straight OCI migration and a full replatform.
Frequently Asked Questions
Yes. Salesforce renamed Commerce Cloud to Agentforce Commerce as part of a broader shift moving its “Cloud” product line under the Agentforce brand. The B2C Commerce, B2B Commerce, and Order Management functionality is unchanged, the platform is now positioned around built-in AI agents for merchandising and shopping.
Omnichannel Inventory (OCI) gives businesses near real-time stock visibility across every fulfillment channel, physical stores, warehouses, and online by organizing inventory around a location graph rather than a single static list. It also manages reservation processing so the same unit of stock isn’t sold twice across channels.
It depends on which model you’re using. With native inventory lists, yes, Business Manager is the primary editing tool. Once Omnichannel Inventory is connected, Business Manager becomes read-only for stock data, and all edits have to happen through OCI or the back-office system feeding it.
Native B2C Commerce inventory records support pre-order and back-order handling directly as record attributes. Omnichannel Inventory doesn’t support the same perpetual-availability flag natively, but comparable behavior can be configured through inventory list settings or by adjusting available quantity at the location level.
For Omnichannel Inventory, sync happens through REST APIs that pull updates from your WMS, ERP, or POS system, rather than periodic file uploads. Availability data is eventually consistent, meaning a small delay of a few seconds between an inventory change and it showing up on the storefront is expected behavior, not a bug.

