Skip to content
DipanshuTechBuilding Digital. Driving Growth.
Ecommerce

Inventory Software for US E-commerce Brands: Shopify Integrations That Matter

Inventory management for Shopify brands: when native stock tracking stops being enough, which system should own the numbers, and how to sync without overselling.

DipanshuTech TeamEngineering & Strategy
Published
Updated
Reading time
6 min

Shopify tracks stock per variant at each location, and for one warehouse and one sales channel that is often all you need. Once you add a 3PL, a second warehouse, Amazon or wholesale orders, bundles, or purchase orders, one system has to own the stock numbers and push them to Shopify through the Admin API. From then on, the sync design matters more than any feature list.

What Shopify's own inventory gives you

Shopify keeps quantities per inventory item at each location and splits them into states. Its developer documentation lists available, on hand, committed, incoming, reserved, damaged, safety stock and quality control, with on hand equal to the sum of available, committed, reserved, damaged, safety stock and quality control. Apps change those numbers with GraphQL mutations that set, adjust or move quantities between states.

That model is richer than many merchants realize. Before you buy anything, check whether you use it fully: separate locations for each warehouse and retail store, damaged and quality-control states for returns, and safety stock to stop the last few units from overselling.

Signs you have outgrown native inventory

  • Overselling across channels. Stock sells on Shopify and Amazon at the same moment, and you refund the second order.
  • Bundles and kits. A gift box made of three SKUs needs its availability calculated from the components.
  • More than one fulfillment partner. A 3PL and your own warehouse need orders routed by stock and region.
  • Wholesale orders. B2B orders with net terms and case quantities draw from the same stock as direct-to-consumer sales.
  • Purchase orders and landed cost. You need to know what is incoming, when, and what each unit really cost.
  • Lots and expiry. Supplements, cosmetics and food need lot tracking for recalls.
  • Forecasting. Reorder decisions based on sales velocity and supplier lead times, not gut feel.

Decide which system owns the number

Every multi-system setup needs one source of truth for each stock figure. Pick it deliberately.

  • Shopify as master. Simplest. Works when Shopify drives most sales and other channels read from it.
  • An inventory or order management system as master. The IMS receives orders from every channel, allocates stock and pushes available quantities to each one. Typical for brands selling on several channels.
  • ERP as master. Brands running NetSuite or a similar ERP often keep inventory there and treat Shopify as a sales channel. The ERP connector then becomes critical infrastructure.

Whichever you choose, write down which system may change each number. Two systems both adjusting available stock will drift apart, usually during your busiest week.

The integration details that matter

Use the GraphQL Admin API

Shopify made its REST Admin API legacy on 1 October 2024, and since 1 April 2025 all new public apps must be built exclusively with the GraphQL Admin API, according to Shopify's REST reference. Existing custom integrations on REST still work, but any new inventory integration should start on GraphQL.

Design for rate limits

The GraphQL Admin API limits apps by calculated query cost, not request count. Per Shopify's rate-limit documentation, standard stores get 100 points per second, Advanced Shopify 200 and Shopify Plus 1,000, and a single query cannot exceed 1,000 points. A catalog of 20,000 variants across four locations needs batched updates, bulk operations for full syncs, and a queue that backs off when it hits the limit.

Webhooks plus reconciliation

Webhooks for orders and inventory level changes keep systems close to real time, but webhooks can arrive late, twice or out of order. A reliable integration:

  • Processes each event idempotently, so a duplicate does no harm.
  • Stores the last-applied timestamp per item and location, and ignores older events.
  • Runs a scheduled full reconciliation, nightly or hourly for fast movers, and alerts on differences above a threshold.
  • Logs every adjustment with its source, so someone can answer "why did this number change?"

Buffers and reservations

Push slightly less than you have for high-velocity SKUs, using safety stock, so the delay between a sale on one channel and an update on another does not oversell. Reserve stock when an order is created, not when it ships.

Other integrations to plan

  • 3PL. Order export, shipment confirmation with tracking, and stock snapshots back from the warehouse.
  • Marketplaces. Amazon and other channels need their own listings, fees and fulfillment rules.
  • Accounting. Inventory value and cost of goods sold flowing into QuickBooks, Xero or NetSuite.
  • Returns. Returned units go to a quality-control state first, then back to available or to damaged.

What a custom integration project looks like

If you do build, the work is mostly plumbing and testing rather than screens. A realistic plan for a mid-size brand:

  • Discovery: 2–3 weeks. Map every system that touches stock, the owner of each number, order volumes by hour and your peak days.
  • Build: 6–10 weeks. Connectors for Shopify, the 3PL and accounting, a queue for rate-limited updates, and an admin screen that shows sync status and failed events.
  • Shadow run: 2 weeks. The new sync runs read-only and reports what it would have changed, so you can compare it with reality before it writes anything.
  • Cutover outside peak. Avoid switching in the weeks before Black Friday and Cyber Monday, when order volume and the cost of a sync error are both at their highest.

Then budget for upkeep. Shopify releases a new API version every three months, and each stable version is supported for a minimum of 12 months, per its versioning policy. An integration needs a version upgrade at least once a year, plus a test run against the new version before each upgrade goes live.

Buy an app or build a custom integration

The Shopify App Store has inventory and order management apps for most common setups, and ERP vendors offer Shopify connectors. Start there. A custom integration makes sense when your rules are specific: bundles assembled to order, allocation by customer tier, multi-supplier drop shipping, or an ERP with no maintained connector.

We built MultiVendorOS, an embedded Shopify app that splits each order across the suppliers who ship it, works out commissions and tracks what the merchant owes each supplier. It has been live since 29 July 2026, was tested end to end on a Shopify development store, and is now sold as SupplyRoute. Order splitting raises the same questions as multi-location inventory: who owns each number, what happens when an event arrives twice, and how to reconcile.

Whoever builds your integration, ask for a written map of every system that touches stock, and which one owns each number, before any code is written. Our ecommerce development and system integration scopes are written that way and come with a fixed quote.

FAQs

Can Shopify handle multiple warehouses on its own?

Yes, up to a point. Shopify tracks inventory per location and can route orders between locations. It gets harder with 3PL-specific rules, bundles, purchase planning and channels outside Shopify, which is where an IMS or ERP usually comes in.

Should inventory live in Shopify or in our ERP?

If Shopify drives most sales and the ERP mostly handles accounting, Shopify can stay master. If the ERP runs purchasing, warehousing and wholesale, make it master and treat Shopify as a channel.

How often should stock sync between systems?

Event-driven updates within seconds to minutes for sales and adjustments, plus a scheduled full reconciliation. The reconciliation catches what events miss.

Do new Shopify integrations have to use GraphQL?

New public apps have had to use the GraphQL Admin API exclusively since 1 April 2025. Custom apps can still call REST, but Shopify treats it as legacy, so new work should start on GraphQL.

Next step

If overselling, manual stock updates or a 3PL sync are costing you time, book a scoping call. We'll map your systems, recommend whether an app, a connector or a custom integration fits, and send a written scope and a fixed quote.

Key takeaways

  • Shopify already tracks eight inventory states per location; use them fully before buying another tool.
  • Once you add a 3PL, Amazon, wholesale or bundles, pick one system to own each stock number and write that rule down.
  • New public Shopify apps must use the GraphQL Admin API, and rate limits are cost-based, so design batched, queued updates.
  • Webhooks alone drift; pair idempotent event handling with scheduled reconciliation and alerts.

Ready to put this into practice?

Let’s build the solution that gets you there.

Talk to Our Experts