Note: StockEntry, StockRemoval, and StockTransfer are aliases of StockAdjustment filtered by type. They return the same
StockAdjustmenttype with different permissions.
StockAdjustment — Returns a single stock adjustment by id
StockAdjustment — Returns a single stock adjustment by idquery GetStockAdjustment($id: ID!) {
StockAdjustment(id: $id) {
id
label
notes
status
dated_at
total_units
total_cost
line_items {
id
variant { id label }
quantity
price
}
to_location { id label }
}
}StockAdjustments — Returns a list of stock adjustments with sorting and filters
StockAdjustments — Returns a list of stock adjustments with sorting and filtersquery StockAdjustments(
$where: QueryStockAdjustmentsWhereWhereConditions,
$orderBy: [QueryStockAdjustmentsOrderByOrderByClause!],
$search: String,
$first: Int,
$page: Int
) {
StockAdjustments(
where: $where,
orderBy: $orderBy,
search: $search,
first: $first,
page: $page
) {
paginatorInfo {
total
currentPage
}
data {
id
label
status
dated_at
total_units
}
}
}StockEntry — Returns stock entries (incoming stock)
StockEntry — Returns stock entries (incoming stock)StockEntry is an alias of StockAdjustment filtered to incoming stock movements. Requires
stock_entries.viewpermission.
StockEntry(id) — Returns a single stock entry by id
StockEntry(id) — Returns a single stock entry by idquery GetStockEntry($id: ID!) {
StockEntry(id: $id) {
id
label
notes
status
dated_at
total_units
total_cost
line_items {
id
variant { id label }
quantity
price
}
}
}StockEntries — Returns a paginated list of stock entries
StockEntries — Returns a paginated list of stock entriesquery StockEntries(
$where: QueryStockEntriesWhereWhereConditions,
$orderBy: [QueryStockEntriesOrderByOrderByClause!],
$search: String,
$first: Int,
$page: Int
) {
StockEntries(
where: $where,
orderBy: $orderBy,
search: $search,
first: $first,
page: $page
) {
paginatorInfo {
total
currentPage
}
data {
id
label
status
dated_at
total_units
}
}
}StockRemoval — Returns stock removals (outgoing stock)
StockRemoval — Returns stock removals (outgoing stock)StockRemoval is an alias of StockAdjustment filtered to outgoing stock movements. Requires
stock_removals.viewpermission.
StockRemoval(id) — Returns a single stock removal by id
StockRemoval(id) — Returns a single stock removal by idquery GetStockRemoval($id: ID!) {
StockRemoval(id: $id) {
id
label
notes
status
dated_at
total_units
total_cost
line_items {
id
variant { id label }
quantity
price
}
}
}StockRemovals — Returns a paginated list of stock removals
StockRemovals — Returns a paginated list of stock removalsquery StockRemovals(
$where: QueryStockRemovalsWhereWhereConditions,
$orderBy: [QueryStockRemovalsOrderByOrderByClause!],
$search: String,
$first: Int,
$page: Int
) {
StockRemovals(
where: $where,
orderBy: $orderBy,
search: $search,
first: $first,
page: $page
) {
paginatorInfo {
total
currentPage
}
data {
id
label
status
dated_at
total_units
}
}
}StockTransfer — Returns stock transfers (between locations)
StockTransfer — Returns stock transfers (between locations)StockTransfer is an alias of StockAdjustment filtered to transfer movements between locations. Requires
stock_transfers.viewpermission.
StockTransfer(id) — Returns a single stock transfer by id
StockTransfer(id) — Returns a single stock transfer by idquery GetStockTransfer($id: ID!) {
StockTransfer(id: $id) {
id
label
notes
status
dated_at
total_units
total_cost
line_items {
id
variant { id label }
quantity
price
}
to_location { id label }
}
}StockTransfers — Returns a paginated list of stock transfers
StockTransfers — Returns a paginated list of stock transfersquery StockTransfers(
$where: QueryStockTransfersWhereWhereConditions,
$orderBy: [QueryStockTransfersOrderByOrderByClause!],
$search: String,
$first: Int,
$page: Int
) {
StockTransfers(
where: $where,
orderBy: $orderBy,
search: $search,
first: $first,
page: $page
) {
paginatorInfo {
total
currentPage
}
data {
id
label
status
dated_at
total_units
to_location { id label }
}
}
}Available fields
| Field | Type | Description |
|---|---|---|
id | Int | Unique identifier. |
label | String | Stock adjustment number. |
notes | String | Private notes. |
status | StockAdjustmentStatus | Current status. |
dated_at | Date | Document date. |
total_units | Float | Total quantity adjusted. |
total_cost | Float | Total cost value of the adjustment. |
line_items | [LineItemStockAdjustment] | List of items. |
location_label | String | Source warehouse label. |
to_location | Location | Destination location (for transfers). |
to_location_label | String | Destination warehouse label. |
manufacturing_order | ManufacturingOrder | Linked manufacturing order. |
manufacturing_order_batch | ManufacturingOrderBatch | Linked manufacturing batch. |
orders_count | Int | Number of linked sales orders. |
orders | [Order] | Linked sales orders. |
has_batch_numbers | Boolean | True if items have batch tracking. |
tracking_completed | Boolean | True if all tracking info is entered. |
created_at | DateTime | Creation time. |
updated_at | DateTime | Last update time. |
custom_fields | [EntityCustomField] | Custom fields for this entity. |
Filters
The following fields can be used in the where parameter:
id, label, total_units, status, dated_at, created_at, updated_at, to_location_id, variant_id, variant_label, variant_sku, location_id, batch_number_id, has_batch_numbers, tracking_completed.
Example Filters:
| Field | Example |
|---|---|
id | { "column": "ID", "operator": "EQ", "value": 200050 } |
label | { "column": "LABEL", "operator": "LIKE", "value": "%ADJ-2025%" } |
status | { "column": "STATUS", "operator": "EQ", "value": "completed" } |
variant_id | { "column": "VARIANT_ID", "operator": "EXISTS", "value": 200050 } |
variant_sku | { "column": "VARIANT_SKU", "operator": "EQ", "value": "SKU-RED" } |
location_id | { "column": "LOCATION_ID", "operator": "EXISTS", "value": 100 } |
to_location_id | { "column": "TO_LOCATION_ID", "operator": "EQ", "value": 101 } |
dated_at | { "column": "DATED_AT", "operator": "GTE", "value": "2025-01-01" } |
Sorting
You can sort results using the orderBy parameter:
idlabelnotestotal_unitsstatusdated_atcreated_atto_location_idlocation_labelto_location_label
Grouping Options
You can group results using the groupBy parameter for reports:
| Field | Description |
|---|---|
id | Group by internal ID. |
year | Group by year of dated_at. |
month | Group by month of dated_at. |
day | Group by day of dated_at. |
Enums
StockAdjustmentStatus
StockAdjustmentStatus| Value | Description |
|---|---|
unpublished | Draft status (no stock impact). |
active | Published and evolving. |
completed | Adjustment finalized and confirmed. |
cancelled | Document voided. |
