Run Stock Counts Directly in Shopify POS: What Merchants and Developers Need to Know

Shopify POS now lets staff perform cycle and full stock counts on the sales floor, while admins retain review and approval controls in Shopify Admin. Learn how the new workflow works, who it impacts, and the steps you should take to adopt it today.

Run Stock Counts Directly in Shopify POS: What Merchants and Developers Need to Know
8 sections

Shopify’s latest merchant‑focused update brings inventory counting straight to the point of sale. Store staff can now run cycle or full stock counts in the Shopify POS app, while the existing review‑and‑approval process stays safely in Shopify Admin. This post breaks down what changed, who is affected, and the concrete actions you should take to get the most out of the new workflow.

Why This Update Matters

Inventory accuracy is a perennial pain point for retailers. Before this release, staff had to tally items on the floor, then manually enter counts in the Admin interface—a process that was time‑consuming and error‑prone. By moving the counting step into POS, Shopify reduces friction, speeds up cycle counts, and creates an audit trail that ties each adjustment to a specific employee and timestamp.

How the New POS Stock Count Flow Works

  • Create a Stock Count in Admin – Users with the “Manage inventory” permission navigate to Products → Stock counts, click “Create count,” select a location, choose a count type (cycle or full), and optionally filter which products to include.
  • Count Appears in POS – As soon as the count is saved, it shows up under the “Stock counts” tab in the POS app for the selected location.
  • Staff Record Quantities – Employees with the “Inventory” permission open the count in POS, scan barcodes or type quantities, and submit the count.
  • Review & Approve in Admin – Submissions do not immediately adjust inventory. Admin users review the count, compare it against system quantities, resolve discrepancies, and then approve the adjustment.
  • Audit Trail – Shopify logs who performed the count, when it was completed, and the before/after values, giving you a reliable compliance record.
  • Who Needs to Take Action?

    Merchants / Store Managers – Ensure the right staff have the new inventory permission in POS and the “Manage inventory” permission in Admin. Set up stock‑count schedules that align with your physical audit cycles.

    Developers – If you build custom integrations that touch inventory (e.g., third‑party ERP syncs, webhook listeners, or custom POS extensions), you’ll want to be aware of two things:

  • Permission scopes – The POS inventory permission maps to the existing write_inventory scope for API calls. Verify that any private apps or custom storefronts request this scope.
  • Webhooks & Events – The count submission triggers the inventory_counts/create webhook, but the actual inventory adjustment fires only after approval, emitting the standard inventory_levels/update webhook. Update your listeners accordingly to avoid premature stock updates.
  • Step‑by‑Step Setup for Merchants

  • Check Permissions – In Shopify Admin, go to Settings → Users and permissions. For each staff member who will count inventory, enable:
  • “Manage inventory” (admin side)
  • “Inventory” (POS side)
  • Create a Count – Products → Stock counts → Create count. Choose:
  • Location – The POS store where counting will happen.
  • Count type – Cycle (selected SKUs) or Full (entire catalog).
  • Products – Use filters or manually select items.
  • Schedule – Immediate or future date/time.
  • Run the Count in POS – Open the POS app, tap the “More” menu, select “Stock counts,” choose the pending count, and start scanning. You can adjust quantities on the fly.
  • Submit for Review – When finished, hit “Submit.” The count now appears in Admin under Products → Stock counts with a “Pending review” status.
  • Review & Approve – Admin users review each line item, resolve discrepancies (e.g., note damaged goods), and click “Approve.” Inventory levels update automatically.
  • Quick Developer Reference: API & Webhook Details

    Below is a minimal GraphQL mutation you can use to programmatically create a stock count – handy for automation or bulk scheduling.

    graphql

    mutation createStockCount($input: StockCountCreateInput!) {

    stockCountCreate(input: $input) {

    stockCount {

    id

    name

    status

    location {

    id

    name

    }

    }

    userErrors {

    field

    message

    }

    }

    }

    Variables example:

    {

    "input": {

    "name": "Weekly Cycle – Store 101",

    "locationId": "gid://shopify/Location/123456789",

    "type": "CYCLE",

    "productIds": ["gid://shopify/Product/111", "gid://shopify/Product/222"]

    }

    }

    Webhook subscription (REST):

    bash

    POST https://yourapp.com/webhooks

    Content-Type: application/json

    {

    "webhook": {

    "topic": "inventory_counts/create",

    "address": "https://yourapp.com/webhooks/inventory_counts",

    "format": "json"

    }

    }

    Remember: the count’s status will be PENDING_REVIEW until an admin approves it, at which point you’ll receive an inventory_levels/update webhook with the final quantity changes.

    Best Practices & Common Pitfalls

  • Don’t rely on immediate inventory changes – Submissions are only provisional. Build any downstream logic (e.g., reorder alerts) to listen for the final inventory_levels/update webhook.
  • Audit trail is intentional – Use the “History” tab on a stock count in Admin to troubleshoot mismatches. This is especially useful when multiple staff members count the same location.
  • Barcode accuracy – Ensure your POS devices have up‑to‑date barcode data. Missing SKUs will fall back to manual entry, which can slow the process.
  • Permissions hygiene – Grant inventory permission only to staff who need it. Over‑permissioning can lead to accidental count submissions.
  • What’s Next for Inventory Management?

    Shopify’s move to embed counting in POS is the first step toward a fully unified inventory workflow. Expect future enhancements such as automatic discrepancy alerts, AI‑driven demand forecasts, and deeper integration with third‑party fulfillment networks. Keeping your permissions, webhooks, and automation scripts up to date now will make those upcoming features easier to adopt.

    Conclusion & Call to Action

    Running stock counts directly from Shopify POS streamlines the audit process, reduces manual data entry, and gives you a clear, searchable audit trail. Merchants should update staff permissions and schedule their first POS count today. Developers, double‑check your inventory scopes and webhook listeners so your integrations stay in sync with the new approval flow. Need help configuring permissions or building a custom inventory webhook? Reach out to our Shopify Solutions team or drop a comment below—we’re happy to assist!

    Tags
    Sources

    Related Articles

    Filter Catalog Search Results by Media Type: Unlock Video and 3D Models

    Filter Catalog Search Results by Media Type: Unlock Video and 3D Models

    Shopify's Catalog API now returns video and 3D model media and lets you filter search results by media type. Learn what changed, who’s impacted, and how to add the new filter to your apps.

    September 30, 20263 min
    Resilient Token Exchanges: Recover Offline Token Migrations Without Merchant Interaction

    Resilient Token Exchanges: Recover Offline Token Migrations Without Merchant Interaction

    Shopify now lets apps retry token migrations for up to seven days, returning the same access‑ and refresh‑token pair even without a user session. Learn who needs to act, what changed, and how to implement the new flow.

    September 29, 20263 min
    Unlock Smarter Shipping: Manage Packed Product Dimensions via Admin GraphQL API

    Unlock Smarter Shipping: Manage Packed Product Dimensions via Admin GraphQL API

    Learn how the 2027‑01 Admin GraphQL API lets apps read and write packed product dimensions, enabling automatic package selection for multi‑item orders. Step‑by‑step guidance for developers and actionable tips for merchants.

    September 29, 20264 min
    Custom Return Windows: Override Return Periods by Market, Collection, and Product

    Custom Return Windows: Override Return Periods by Market, Collection, and Product

    Shopify merchants can now set return window overrides per market, collection, product, or variant, letting you tailor return policies for seasonal or high‑value items. Learn how to configure the new feature and what developers need to know.

    September 29, 20262 min