Multichannel inventory management software with one stock count
Crossmart is open-source multichannel inventory management software that keeps one stock count for every store you sell on, starting with Shopify and eBay. An order on any store holds its units and lowers the quantity everywhere else, a check every 15 minutes corrects what drifted, and your AI agent can adjust stock with your approval.
7-day free trial
What is multichannel inventory management software?
Multichannel inventory management software keeps one stock count for each product across every store and marketplace you sell on, and updates all of them when something sells or changes. Without it, each store keeps its own count, and the last unit can sell in two places.
Crossmart tracks three numbers per variant: on hand (the units you have), held (units reserved by open orders that have not shipped) and available (on hand minus held, which is what your stores can sell). Shopify uses the same idea and calls held units committed inventory: units in an unfulfilled order that are set aside and cannot be sold. Every change is recorded with its reason, who made it and when, so a variant's history shows how it got to its count (stock sync guide).
How do open orders hold stock across Shopify and eBay?
When an order arrives from any connected store, its units move from available to held at once, and every store that lists the variant gets the lower quantity. When the order ships, the held units leave your stock on hand, and when it is cancelled, they go back on sale.
Shopify sends new orders as they happen, and Crossmart also reads Shopify and eBay orders every 2 minutes, so a missed notification does not leave stock wrong for long. Each store can still limit what it shows: hold back a few units from one store, or cap how many it lists, and no store ever shows less than zero. The Shopify to eBay guide walks through connecting both stores.
What happens when two stores sell the last unit?
Crossmart applies the two orders one after the other, and the second one takes the available count below zero. It records that order as Oversold in Activity, with how many units were sold twice, so you can restock or cancel it.
No multichannel tool can rule this out completely, because Shopify and eBay take payment without asking Crossmart first. What you can control is how often it happens: hold back the last one or two units from every store but one, and those units can only sell in one place.
Why does multichannel inventory sync need a 15-minute reconciliation?
Because the stores change quantities themselves: a marketplace lowers a listing when it sells, and anyone with access can edit stock directly on Shopify or eBay. Every 15 minutes Crossmart reads what each store shows and sends the right count again wherever it differs.
Crossmart's count is the one that counts, so change stock in Crossmart rather than on the channel, and the next check brings every store back in line. Reading before writing also matters on eBay, where an active listing can be revised at most 250 times per calendar day whichever API makes the change. A quantity eBay already shows is not sent again, so it does not use up a revision.
Can my AI agent manage inventory for me?
Yes. Your AI agent can list stock, find what is low or out and adjust it with a reason, and every connected store gets the new quantity.
Inside Crossmart, Agent Worker looks things up at once and stops before any change: each stock adjustment waits on a card that shows the units on hand now and after, for you to approve. An outside assistant such as Claude or ChatGPT connects through the Model Context Protocol, an open-source standard for connecting AI applications to external systems, with only the access you grant. Give it read-only access and it can look at stock without changing it. You can ask things like:
- "Which products are low on stock?"
- "Add 20 units of the M size, stock received."
- "Which variants are out of stock?"
- "Hold back 2 units of the linen shirt from eBay."
What should multichannel inventory control software do?
It should hold one count per variant that every store reads from, reserve stock the moment an order arrives, and tell you clearly when a unit sold twice. It should also check the stores on a schedule, because their quantities drift.
Use this checklist when you compare tools:
| What to check | Why it matters | Crossmart |
|---|---|---|
| One stock count | Separate counts per store are how the last unit sells twice | One ledger per variant, shared by every store |
| Orders hold stock | An unshipped order still needs its units | Held at once, released if the order is cancelled |
| Oversold orders | A double sale you find late is an unhappy buyer | Logged as Oversold in Activity, with the units sold twice |
| Reconciliation | Stores change their own quantities | Every 15 minutes, only the listings that drifted |
| Per-store limits | Your busiest store may need a safety margin | Hold back units or cap what one store shows |
| Stock history | You need to know why a count changed | Every change with its reason, author and time |
| AI agent access | Restocking and checks are repetitive work | MCP tools for stock; Crossmart Agent asks before every change |
What did we learn building stock sync for Shopify and eBay?
The hard part is not sending a number to a store, it is making sure each order moves stock exactly once. Shopify can tell us about the same order through a notification and again through the 2-minute check, and eBay orders arrive only by polling, so the same order often arrives more than once.
So every order is stored under a lock on that order: each line remembers how many units it already holds and has shipped, a new copy of the order moves only the difference, and an older copy never replaces a newer one. Stock rows are locked in the same order by everything that writes them, so two stores selling the last unit at the same moment are applied one after the other, and the second is the one logged as Oversold. eBay taught us the other lesson. An eBay sale lowers our count, which queues a stock update for every store, eBay included, but eBay has already lowered that listing itself. Because each write is a listing revision, we read what the eBay listing shows first and skip it when it already matches. From the Crossmart team.
How much does multichannel inventory management software cost?
Crossmart Cloud is priced by active listings, from $29 a month for 1,000 listings on the Starter plan, with a 7-day free trial on every plan. There is no free Cloud plan, but Crossmart is open source and free to self-host.
Stock sync, reconciliation, the MCP server and the API are included in every plan, and Crossmart never takes a percentage of your sales. The full plan list is in the pricing section.
How do I start?
Create an account, start the 7-day trial and connect your Shopify store or eBay account. Import your products with their stock, list them on your other store, and from then on change stock in Crossmart.
To list products as well as sync them, see multichannel listing software.
Start now