How to Sync CS-Cart with Zoho Inventory: Stock, Prices and Orders
How a CS-Cart Zoho Inventory integration works: two-way sync of stock, products, prices and orders through the Zoho Inventory REST API and webhooks, SKU matching, units and an upgrade-safe build.
If you sell through CS-Cart (sometimes written CS Cart) and manage stock in Zoho Inventory, the two systems need to agree. When they don't, the storefront sells products the warehouse no longer has, prices drift apart, and someone spends part of every day re-typing orders. This guide explains how a CS-Cart Zoho Inventory integration works: what to sync, how products are matched, how data moves between the systems, and how to keep the integration upgrade-safe. It draws on the integration we built for Rare Global Foods, a B2B meat and seafood distributor.
Why connect CS-Cart to Zoho Inventory
Zoho Inventory is where many businesses track stock, items and sales orders. CS-Cart is where customers browse and buy. Without an integration, every change has to be made twice: a stock adjustment in Zoho has to be copied to the store, and every web order has to be entered into Zoho by hand.
Manual updates rarely keep up. The two systems drift apart, and the most visible symptom is overselling: products that are already out of stock can still be ordered online. That was the problem at Rare Global Foods. Their online store was updated by hand, the store and the inventory system drifted apart, and out-of-stock products could still be ordered.
What to sync, and in which direction
A complete integration covers four data sets:
- Stock levels, so the store only sells what is available
- Products, so the catalogue in CS-Cart matches the items in Zoho
- Prices, so customers see the price the business has set
- Orders, so web orders reach Zoho without re-keying
The next decision is direction. One-way sync is simpler: one system is the source and the other follows. Two-way sync lets the team work in either system, but it has to answer a question one-way sync never faces: what happens when both sides change the same value.
For Rare Global Foods, all four data sets sync in both directions. Both systems read from and write to each other through the Zoho Inventory REST API, with webhooks covering event-driven updates. Because either side can change stock and prices, the integration handles bidirectional reconciliation for stock and pricing conflicts, so the two systems settle on one value instead of overwriting each other.
REST API and webhooks: how the data moves
The integration uses the Zoho Inventory REST API for reading and writing data, and Zoho webhooks for real-time events such as order placement. Each handles the job it suits best:
- Stock, products and prices are synced via the Zoho Inventory REST API, which the add-on uses to read from and write to Zoho.
- Orders are webhook-driven. Zoho fires on order placement events, so order data moves when an order is actually placed rather than waiting for a scheduled check.
The alternative to webhooks is polling: asking the other system on a timer whether anything has changed. Polling is easy to set up, but it always lags by up to one interval, and most checks find nothing new. Event-driven sync reacts when something happens. Combining the two, an API for reading and writing data and webhooks to signal events, gives the integration both completeness and speed.
Not every system offers an API and webhooks. Our CS-Cart to SAP integration works differently, through a middleware database, a 2-minute cron job and invoices read back from FTP. The right transport depends on what the other system exposes.
Matching products: why SKU is the key
Every sync depends on knowing which product in CS-Cart is which item in Zoho. In the Rare Global Foods integration, products are matched by SKU, which is stable across both systems. The SKU is the shared key that lets a stock change in Zoho update the right product in CS-Cart, and lets an order placed in the store reach Zoho with the right items.
That only works when SKUs are clean. Before an integration goes live, check that:
- every product in CS-Cart has a SKU, and the matching item in Zoho has the same one
- no SKU is used twice in either system
- SKUs will not be changed after go-live, since a changed SKU breaks the match
Products sold in several variations need the same care: each variation needs its own stable SKU in both systems.
Units: kilograms, cases and B2B quantities
Food distribution makes units a first-class concern. Meat and seafood are not sold as single pieces. At Rare Global Foods, each product is sold in the units defined for it, such as kilograms or cases, and both order quantities and pricing follow those units.
The integration has to carry those units through unchanged. For example, if a store sold a product by the case while its inventory system counted it in kilograms, every order and every stock figure would be wrong by a factor that nobody notices until a delivery comes up short. Agreeing the unit for each product, and keeping it the same in both systems, belongs in the data mapping before any code is written.
Building it upgrade-safe
A CS-Cart integration should be an add-on, not a set of edits to core files. The Zoho Inventory integration is built on CS-Cart's hook system with no core file modifications. In practice, an upgrade-safe integration means:
- an add-on package under
app/addons/, installed and switched on from the CS-Cart add-on manager
- PHP hooks registered with
fn_register_hooks(); hooks such as place_order and change_order_status are the usual points for reacting to store activity
- no edits to core files, so the Upgrade Center can update the store without overwriting the integration
On CS-Cart Multi-Vendor there is one more decision: whether stock and orders map for the whole marketplace or per vendor. An order with products from several vendors is split into child orders, and the integration has to send each one correctly. Our page on custom CS-Cart addons covers how we build for Multi-Vendor.
Example: Rare Global Foods
Rare Global Foods supplies meat and seafood to businesses in the Philippines. We built the store on CS-Cart, front end and back end, and integrated it with Zoho Inventory: two-way sync for stock, products, prices and orders, products matched by SKU, units handled per product, the REST API for data and Zoho webhooks for order events. The Rare Global Foods case study shows how the store and integration fit together.
Planning your integration: a checklist
- Decide which system owns each field. Stock, products, prices and orders, and whether each one syncs one way or both.
- Clean up SKUs. One stable, unique SKU per product and variation, the same in both systems.
- Agree units. Kilograms, cases or pieces for each product, for quantities and prices alike.
- Choose the transport. REST API calls for data, webhooks for events, and a rule for conflicts on anything both sides can edit.
- Test on staging. Run the integration against a staging copy of the store before it touches live orders.
We build CS-Cart integrations with inventory systems, ERPs, couriers and payment gateways as upgrade-safe add-ons, starting from $1,500, scoped per store. See our CS-Cart integration services for how a project runs. If you have a steady stream of CS-Cart work beyond one integration, you can also hire a dedicated CS-Cart developer.
Common questions
Can CS-Cart sync with Zoho Inventory in both directions?
Yes. In the integration we built for Rare Global Foods, stock, products, prices and orders sync both ways. Both systems read from and write to each other through the Zoho Inventory REST API, with webhooks covering event-driven updates.
Is the sync real-time?
Orders are event-driven: Zoho webhooks fire on order placement events. Stock, products and prices are synced through the Zoho Inventory REST API.
How are products matched between CS-Cart and Zoho Inventory?
By SKU. The SKU has to be stable and unique in both systems, so cleaning up SKUs is one of the first steps of the project.
Does the integration handle kilograms and cases?
Yes. Order quantities and pricing follow the units defined for each product, such as kilograms or cases.
Will the integration survive a CS-Cart upgrade?
It is built as an add-on on CS-Cart's hook system with no core file modifications, so upgrades do not overwrite it.
Related Articles
SysNova Technologies, H NO 152 Muradgarhi, YEIDA Development Area, Gautam Buddh Nagar, 203209
Phone: +91 9793760210
Email: sales@sysnovatech.com