Unify Your Stockroom: A Merchant's Guide to the Shopify Physical Inventory API
For merchants juggling both online sales and physical store inventory, keeping stock levels accurate is a constant challenge. Shopify is addressing this headon with its new Physical Inventory API feature preview, a set of tools designed to bring granular, stockroomlevel detail into your Shopify...
For merchants juggling both online sales and physical store inventory, keeping stock levels accurate is a constant challenge. Shopify is addressing this head-on with its new Physical Inventory API feature preview, a set of tools designed to bring granular, stockroom-level detail into your Shopify admin. This article demystifies these new APIs, explaining how they enable superior stock accuracy and smarter fulfillment, and provides a concrete plan to prepare your business to leverage them.
Key Takeaways for Omnichannel Merchants
- Assess if your current inventory pain points (e.g., lost stock, inefficient picking) can be solved by tracking inventory down to a specific shelf or bin.
- Start planning for technical resources now; leveraging these new APIs will require a developer familiar with GraphQL, whether in-house or from an agency.
- Create a Shopify development store immediately to enable the feature preview and begin testing without affecting your live operations.
- Physically map your stockroom by assigning logical names to every shelf, rack, or storage bin. This 'bin mapping' is the foundation for using the new system.
- Investigate whether your current inventory or warehouse management apps plan to support the new Physical Inventory APIs, as this may be easier than a custom build.
- Understand that since this is a feature preview, it's a strategic opportunity for future planning rather than an immediate solution for your live store.
Table of contents
- What Is Shopify's New Physical Inventory API?
- Who Should Pay Attention to These New Inventory APIs?
- Understanding the Core Concepts: Bins, Counts, and Purchase Orders
- Visualizing the Change: Inventory Management Before and After
- How the API Fits into Your Shopify Architecture
- A Sample Workflow: Receiving and Placing New Stock
- How to Get Started with the Physical Inventory Feature Preview
- Preparing Your Business & Operations for Integration
- Custom Integration vs. Waiting for an App: What's Right for You?
- The Future Impact on Omnichannel Fulfillment Strategy
- Conclusion and Next Steps
- Frequently asked questions
- Additional Resources
What Is Shopify's New Physical Inventory API?
It's a feature preview giving developers early access to a new set of GraphQL Admin APIs for managing granular, in-store inventory. Unlike previous APIs that only tracked inventory quantity at a location (e.g., '100 units at the Boston store'), these new tools track items in specific storage 'bins' (e.g., '5 units on Shelf A-3'). The preview includes three core components: Bins (named storage locations), Counts (the ability to set on-hand quantity in a bin), and Purchase Orders (the ability to read PO data via the API). This allows for a true-to-life digital twin of your physical stockroom, directly within the Shopify ecosystem.
For example, a retailer with a bustling physical store and an online presence can now precisely track if a sought-after handbag is on the main sales floor display, in a backstock shelf designated "Shelf B-2", or waiting in the receiving area. This level of detail was previously impossible to access programmatically.
Who Should Pay Attention to These New Inventory APIs?
This update is most critical for omnichannel merchants who sell both online and through one or more physical retail locations using Shopify POS. Businesses with large or complex stockrooms will benefit most, as it allows them to digitize their warehouse layout for more efficient picking and cycle counts. Brands that utilize their retail stores as fulfillment centers (for 'Buy Online, Pickup In Store' or 'Ship from Store') will see significant accuracy improvements. Any merchant currently using a separate, disconnected system (like spreadsheets or a non-integrated WMS) to manage backroom stock should consider this a pathway to a unified system.
Consider a boutique clothing store with a small stockroom. Before, they might have only known they had 30 t-shirts of a specific style at their location. Now, they can track that 10 are in the 'Display Rack', 15 are on 'Shelf C', and 5 are in 'Receiving Bin 1'. This level of detail could significantly speed up fetching items for online orders or for customers requesting them in-store.
Understanding the Core Concepts: Bins, Counts, and Purchase Orders
A 'Bin' is the foundational element, representing any named storage space within one of your Shopify Locations, such as 'Rack 3, Shelf B', 'Aisle 5 Pallet', or 'Backroom Receiving Area'. A 'Count' is the action of setting the on-hand quantity of a specific inventory item within a specific bin using the inventoryCountCreate mutation in the API. The 'Purchase Order' API access allows you to programmatically read data about incoming stock, including supplier details and line items, enabling more automated receiving workflows. Together, these primitives allow you to model exactly where your stock is, how much of it there is, and what's on its way.
Imagine a scenario where a new shipment of popular sneakers arrives. Using the API, a store associate could scan the box, assign it to a designated 'Receiving Bin', and then input the quantity received. This immediately updates the digital record for that bin, making the stock available for sale online and in-store, rather than waiting for a manual inventory count later.
Visualizing the Change: Inventory Management Before and After
Previously, Shopify's API could only tell you that you had 50 of a certain SKU at your 'SoHo Location', but could not specify where within the store or its stockroom those 50 units were. This led to inefficient picking for online orders, as staff had to manually search the entire location for the item. With the new API, you can know that there are '2 on the sales floor', '18 on Shelf C-2', and '30 in Receiving Bin 4', all at the 'SoHo Location'. This dramatically streamlines operations.
Before the Physical Inventory API, fulfilling an online order for a specific product might involve a store associate wandering through the stockroom, checking various shelves and bins, relying on memory or cumbersome paper logs to find the item. After enabling these new APIs, a fulfillment app or internal system can direct the associate to the exact bin (e.g., "Shelf A3, Bin 5") where the product is stored, saving significant time and reducing errors.
How the API Fits into Your Shopify Architecture
The Physical Inventory API is an extension of the existing GraphQL Admin API, operating in an 'unstable' version which signals it's in development. It acts as a bridge between your physical stockroom operations and your digital Shopify data for your online store, POS, and fulfillment logic. This is not a standalone app, but a set of developer tools that apps and custom integrations will be built upon.
Consider a scenario where a third-party inventory management app integrates with these new APIs. When an employee uses a connected barcode scanner to receive new stock, the scanner's associated app communicates with the Shopify Physical Inventory API. The API then records the item, its quantity, and the specific bin it was placed in. This information is then synchronized across Shopify's various touchpoints (online store, POS system) in near real-time.
A Sample Workflow: Receiving and Placing New Stock
This section outlines a practical, step-by-step process for a common warehouse task, illustrating how the API works in practice. Step 1: A purchase order arrives. The receiving employee can use an app (powered by the API) to pull up the PO details on a mobile device. Step 2: They scan a product's barcode from the shipment. The app identifies the product and its intended storage bin. Step 3: After placing the items on the shelf, the employee enters the quantity received. The app then executes an inventoryCountCreate API call to update the quantity for that SKU in that specific bin.
Imagine a small batch of handmade candles. A receiving clerk uses a tablet app. The app displays the incoming PO, and the clerk scans the barcode on a case of candles. The app prompts them to specify which shelf in the stockroom they are placing them on, for example, "Candle Shelf - Section B." After entering "10" as the quantity placed, the app automatically sends this data to Shopify via the Physical Inventory API, updating the quantity for that specific inventory item within the "Candle Shelf - Section B" bin.
How to Get Started with the Physical Inventory Feature Preview
First, you must have a development store; these APIs cannot be enabled on a live, active merchant store during the preview phase. Within your Shopify Partner Dashboard, navigate to the desired development store and find the 'Feature Previews' section in the store's settings. From there, you can enable the 'Physical inventory' feature, which grants that specific store access to the new API endpoints. Your developer must then configure their app or API client to make calls to the 'unstable' version of the GraphQL Admin API to access the new queries and mutations.
For instance, a business owner wanting to test this feature would first create a new development store through their Shopify Partner account. Once the store is set up, they would access its settings, find the 'Feature Previews' option, and toggle on 'Physical inventory'. Their development team could then begin experimenting by connecting to the unstable GraphQL API endpoint and writing test scripts to create bins and update inventory counts.
Preparing Your Business & Operations for Integration
The most crucial non-technical step is to create a logical map of your physical storage space, assigning a unique, consistent name to every shelf, rack, and bin you want to track. You also need to plan for the hardware and process changes, such as implementing mobile devices with barcode scanners for your stockroom staff. Begin evaluating your technical options: Do you have a developer on staff? Do you need to hire a Shopify Expert? Can you wait for your existing apps to adopt the new features? Start training your team on the concept of bin-level tracking to ensure a smooth transition once the system is implemented.
A practical example of this preparation involves a retailer physically walking through their warehouse. They might label each shelf with a sticker: "WH1-R2-S3" (Warehouse 1, Rack 2, Shelf 3). This label then becomes the logical 'name' for that bin in the API. Similarly, they would ensure their staff have access to modern mobile devices that can act as barcode scanners and are comfortable using digital interfaces for inventory tasks.
Custom Integration vs. Waiting for an App: What's Right for You?
A custom integration offers the most tailored solution, perfectly matching your unique workflows, but comes with higher upfront development and ongoing maintenance costs. Waiting for an existing Shopify App (like a WMS or inventory management app) to incorporate these new features is a lower-cost, lower-effort approach, but you are limited to their feature set and timeline. Consider a custom build if you have highly specific needs, multiple complex systems to integrate, or require a competitive advantage through operational efficiency. Opt for an app-based solution if your needs are relatively standard and you prefer a plug-and-play solution without managing a development project.
For a business with very particular operational flows, such as segregating specific product types into highly specialized storage areas, a custom integration might be necessary. This would allow developers to precisely map those unique bin structures and fulfillment rules directly into the system. Conversely, a retailer who primarily needs to improve accuracy in a standard warehouse setup might find that an improved inventory management app, once updated to support the new APIs, provides all the necessary functionality for a fraction of the cost and effort.
The Future Impact on Omnichannel Fulfillment Strategy
This granular inventory data will drastically improve the accuracy and speed of Buy Online, Pickup In Store (BOPIS) by telling staff exactly where to find an item. It will enable more intelligent fulfillment routing, allowing Shopify to prioritize shipping from a store that has the item in an easy-to-access bin versus one where it's in deep storage. This leads to faster fulfillment times, lower labor costs, and a better customer experience, directly impacting your bottom line.
Imagine a scenario where a customer orders an item online for in-store pickup. With bin-level inventory, the system can direct a store associate to "Shelf 3, Bin A" for that specific item, confirming its availability and exact location within seconds. This contrasts with the previous uncertainty where staff might have spent valuable minutes searching the entire store or stockroom for the item, potentially leading to canceled orders or delayed pickups.
Conclusion and Next Steps
The introduction of Shopify's Physical Inventory API feature preview marks a significant advancement for merchants operating across both online and physical retail spaces. By enabling granular tracking of inventory within specific storage bins, these new tools promise to elevate stock accuracy, streamline picking and packing processes, and unlock more intelligent fulfillment strategies. While in its preview phase, this technology represents a strategic opportunity for businesses to prepare for a future where their stockroom's digital twin is seamlessly integrated with their e-commerce operations.
To begin leveraging these capabilities or to prepare your business for their eventual stable release, consider the following actions:
- Set up a Shopify Development Store: Immediately create or designate a development store within your Shopify Partner account to enable the 'Physical inventory' feature preview. This allows you to explore and test its capabilities without impacting your live business operations.
- Map Your Physical Space: Begin the crucial task of physically mapping your current stockroom and any other storage locations. Document each shelf, rack, bin, or designated area with a clear, unique identifier that can serve as a 'bin name' for the API.
- Identify Technical Resources: Assess your current development capabilities. Determine if you have in-house developers familiar with GraphQL or if you will need to engage with Shopify Experts or development agencies to build custom integrations or leverage existing apps.
- Research App Compatibility: Investigate whether your current inventory management or Warehouse Management System (WMS) apps have announced plans to integrate with these new Shopify APIs. This could offer a faster, more cost-effective route to enhanced functionality.
- Train Your Team (Conceptually): Start introducing the concept of bin-level inventory management to your retail and warehouse staff. Educating them on the benefits and basic principles will prepare them for future workflows and system adoption.
Frequently asked questions
Does Shopify have a built-in inventory system?
Yes, Shopify has a robust inventory system for tracking stock across multiple locations. The new Physical Inventory API is an enhancement that adds even more granular, stockroom-level tracking capabilities.
Is the Shopify API free to use?
Access to Shopify's APIs, including this one, is free. However, the costs come from developing a custom solution (hiring a developer) or subscribing to a third-party app that uses the API.
What's the difference between the REST and the new GraphQL inventory APIs?
The existing REST Admin API and a stable version of the GraphQL API manage inventory at the 'Location' level. The new Physical Inventory features are currently only available in the 'unstable' version of the GraphQL API and are unique in their ability to manage inventory at the 'Bin' level within a location.
What does 'unstable API version' mean?
The 'unstable' version is a development preview where Shopify releases new features for developers to test. It can change at any time and is not guaranteed to be backward-compatible, which is why it should only be used in development stores, not live ones.
Can I use the Physical Inventory API for my live store today?
No. During the feature preview period, these new APIs can only be enabled and used on Shopify development stores for building and testing purposes.
Do I need to be a developer to use this API?
Yes, direct use of the API requires coding knowledge. Merchants will typically interact with these new features through a custom-built tool or a third-party Shopify App that has been developed to use the API.
How does this compare to a full Warehouse Management System (WMS)?
This API provides the foundational blocks for building WMS-like functionality directly within Shopify. While it may not replace a highly complex, enterprise-level WMS, it allows for the creation of powerful inventory solutions that are deeply integrated with the Shopify platform.
Will this new API help prevent overselling?
Yes, by providing a more accurate and near-real-time count of on-hand inventory, it significantly reduces the risk of selling an item online that is actually lost, damaged, or otherwise unavailable in the stockroom.
What is a 'bin' in the context of the Shopify API?
A 'bin' is a user-defined, named storage location within a larger Shopify Location. It can represent anything you want, such as a specific shelf, a rack, a numbered container, or a section of your sales floor.
How can I find a developer to build an integration for this?
The Shopify Experts Marketplace is the best place to find qualified agencies and freelance developers who specialize in custom Shopify app development and API integrations.
Additional Resources
Watch
- Shopify API | Lesson #28: Retrieve inventory levels for the specified inventory items and locations — In this episode, we will show you how to retrieve inventory levels for the specified inventory items and locations using Postman in Shopify API.
- Shopify API | Lesson #17: Sets the inventory level for an inventory item at a location using Postman — In this episode, we will show you how to set the inventory level for an inventory item at a location. This video is part of our Shopify ...