Mark Unreceived Stock with the New CANCELED Receive Action in Shopify’s Inventory Shipments API

Shopify’s 2026-10 API adds a CANCELED receive action for inventory shipments, letting apps record units that will never arrive. Learn what changed, who it affects, and how to implement the new fields, enum, and webhook updates.

Mark Unreceived Stock with the New CANCELED Receive Action in Shopify’s Inventory Shipments API
7 sections

Shopify merchants and developers constantly juggle inventory transfers, especially when a shipment never arrives. Until now the GraphQL Admin API only let you accept or reject items, leaving a gap for “canceled” units. In the 2026-10 release candidate, Shopify closes that gap with a new CANCELED receive action for the inventory shipments API. This post breaks down the change, who it matters to, and the exact steps to start using it in your apps.

What’s New in the 2026‑10 Inventory Shipments API

The API now supports a third receive reason—CANCELED—alongside the existing ACCEPTED and REJECTED. When a merchant knows that certain units will never arrive, they can mark those line‑item quantities as canceled. The mutation, webhook payloads, and object schemas have all been updated to surface this new state.

New Fields and Enum Value

Two new scalar fields were added:

• totalCanceledQuantity on InventoryShipment – the aggregate canceled units across the whole shipment.

• canceledQuantity on InventoryShipmentLineItem – the canceled count for an individual line item.

A new enum value, CANCELED, was added to InventoryShipmentReceiveLineItemReason. Pass it to the inventoryShipmentReceive mutation (or bulkReceiveAction) to flag units as never arriving.

How It Impacts Developers vs. Merchants

Developers building apps that sync receiving data—order‑to‑inventory, WMS, 3PL integrations—now have a precise signal for stock that will never be stocked. Merchants benefit from cleaner inventory reports and fewer “ghost” items that sit in an “unreceived” limbo.

If your app targets API version 2026-10 or later (including unstable), you can start using the new fields and mutation. Apps locked to earlier versions see no change; the new enum and fields simply don’t exist for them.

Implementing the CANCELED Receive Action

mutation ReceiveShipment {

inventoryShipmentReceive(

id: "gid://shopify/InventoryShipment/123"

lineItems: [

{

shipmentLineItemId: "gid://shopify/InventoryShipmentLineItem/456"

quantity: 5

reason: CANCELED

}

]

) @idempotent(key: "b105ab7c-4680-4bfc-b350-c766e01a431f") {

inventoryShipment {

totalCanceledQuantity

lineItems(first: 10) {

nodes {

id

canceledQuantity

}

}

}

userErrors {

code

field

message

}

}

}

Replace the GIDs with your own shipment and line‑item IDs and generate a unique idempotency key for each call (required since version 2026-04). The response returns the updated totalCanceledQuantity and each line item’s canceledQuantity, so you can immediately reflect the change in your UI or downstream system.

Webhook Payload Changes

Subscriptions to the inventory_shipments/receive_items webhook on version 2026-10+ now include two extra fields on each items_received entry:

• old_canceled_quantity – the quantity before the current receive.

• new_canceled_quantity – the quantity after the current receive.

If a receive only changes canceled quantities, the webhook will fire (previous versions would suppress the delivery). For stores still on older API versions, the payload shape remains unchanged and canceled‑only receives are ignored.

Action Checklist for Your Apps

• Upgrade to API version 2026-10 (or later) in your app’s GraphQL client.

• Add totalCanceledQuantity and canceledQuantity to any inventory‑shipment queries you already run.

• Update your receive‑logic to pass reason: CANCELED when you know units won’t arrive.

• If you listen to inventory_shipments/receive_items, adjust your handler to read old_canceled_quantity and new_canceled_quantity and to handle deliveries that now include canceled‑only changes.

• Test the full flow in a development store: create a shipment, cancel a few units, verify the query results and webhook payloads, and ensure your idempotency keys are unique per request.

Conclusion & Next Steps

The CANCELED receive action gives merchants a truthful way to close out shipments that never arrive and gives developers the data they need to keep inventory systems in sync. No urgent migration is required, but adopting the new fields now future‑proofs your integration for the upcoming stable 2026-10 release. Update your API version, add the new queries, and watch your inventory accuracy improve.

Ready to ship the change? Jump into your app’s codebase, upgrade the API version, and start marking canceled units today. Need help troubleshooting? Drop a comment below or reach out to our Shopify developer community.

Tags
Sources

Related Articles

POS UI Extensions Lose session.currentSession.staffMemberId – What Developers Need to Update for 2026‑10
Platform Updates

POS UI Extensions Lose session.currentSession.staffMemberId – What Developers Need to Update for 2026‑10

The static session.currentSession.staffMemberId field is removed in API version 2026‑10. Learn how to switch to the new session.staffMember signal, update your code, and keep POS extensions running smoothly.

September 17, 20263 min
Inside Shopify’s New Pricing Audit Trail for Contextual Variant Prices
Platform Updates

Inside Shopify’s New Pricing Audit Trail for Contextual Variant Prices

Shopify’s 2026-10 API adds a pricing audit trail to product variant contextual pricing, letting apps see exactly how prices are calculated. Learn what changed, who’s affected, and how to query the new field.

September 17, 20264 min
Mastering Shopify Event Updates: New Payload Structure, Triggers, and Headers
Platform Updates

Mastering Shopify Event Updates: New Payload Structure, Triggers, and Headers

Shopify’s latest event update reshapes payloads, refines trigger syntax, and removes two delivery headers. Learn what changed, who’s affected, and how to migrate your webhook subscriptions with clear code examples.

September 16, 20264 min
All Your Payouts at a Glance: Shopify’s New Payouts Page Redesign
Platform Updates

All Your Payouts at a Glance: Shopify’s New Payouts Page Redesign

Shopify’s latest admin overhaul gives merchants a single‑screen view of all payouts, letting you compare details without navigation. Learn what changed, who it impacts, and how to prepare your store and custom apps for the new layout.

September 16, 20265 min