Skip to main content

Product

A purchasable article tracked in the catalog.

type Product implements Node {
id: ID!
parentId: ID
productNumber: String!
availableStock: Int
manufacturerNumber: String
gtin: String
name: String
description: String
openSupplierOrderQuantity: Int!
lastSupplierOrderAt: DateTime
reorderPoint: Int
targetMaximumQuantity: Int
reservedStock: Int
physicalStock: Int
stockNotAvailableForSale: Int
parent: Product
children(
first: Int = 10
after: String
filter: ProductFilterInput
): ProductConnection
canonicalProduct: Product
orderLineItems(
first: Int = 10
after: String
filter: OrderLineItemFilterInput
): OrderLineItemConnection
tags(
first: Int = 10
after: String
filter: TagFilterInput
): TagConnection
warehouseConfigurations(
first: Int = 10
after: String
): ProductWarehouseConfigurationConnection
stockLocationConfigurations(
first: Int = 10
after: String
): ProductStockLocationConfigurationConnection
}

Fields

Product.id ● ID! non-null scalar

Global identifier for this entity.

Product.parentId ● ID scalar

ID of the parent product when this row is a variant.

Product.productNumber ● String! non-null scalar

Public SKU. Unique across the catalog. Used in URLs, exports and POS workflows.

Product.availableStock ● Int scalar

Stock available for sale — physical stock minus open orders that have not yet been shipped. See physicalStock / reservedStock for the breakdown.

Product.manufacturerNumber ● String scalar

Manufacturer's part number (MPN), as printed on the article or in supplier catalogs.

Product.gtin ● String scalar

Global Trade Item Number (GTIN).

Product.name ● String scalar

Display name.

Product.description ● String scalar

Long description.

Product.openSupplierOrderQuantity ● Int! non-null scalar

Units that are on open supplier orders but have not yet been received against any goods receipt. Reflects expected incoming stock.

Product.lastSupplierOrderAt ● DateTime scalar

Timestamp of the most recent supplier order containing this product (any state).

Product.reorderPoint ● Int scalar

Stock level at or below which the product is considered to need reordering. Applies across all warehouses; per-warehouse thresholds are configured separately on the product-warehouse configuration.

Product.targetMaximumQuantity ● Int scalar

Target maximum stock quantity used as the replenish-to level for the product, or null when none is set.

Product.reservedStock ● Int scalar

Units already promised to open orders or other outbound processes. Subtracted from physicalStock to derive what is still sellable.

Product.physicalStock ● Int scalar

Total units actually counted in all warehouses, regardless of allocation. Updated by goods receipts, stockings and stock corrections.

Product.stockNotAvailableForSale ● Int scalar

Units excluded from the availability calculation (e.g. stored in warehouses flagged as not selling). Always smaller than or equal to physicalStock.

Product.parent ● Product object

Product.children ● ProductConnection object

Product.children.first ● Int scalar
Product.children.after ● String scalar
Product.children.filter ● ProductFilterInput input

Product.canonicalProduct ● Product object

Product.orderLineItems ● OrderLineItemConnection object

Product.orderLineItems.first ● Int scalar
Product.orderLineItems.after ● String scalar
Product.orderLineItems.filter ● OrderLineItemFilterInput input

Product.tags ● TagConnection object

Product.tags.first ● Int scalar
Product.tags.after ● String scalar
Product.tags.filter ● TagFilterInput input

Product.warehouseConfigurations ● ProductWarehouseConfigurationConnection object

Product.warehouseConfigurations.first ● Int scalar
Product.warehouseConfigurations.after ● String scalar

Product.stockLocationConfigurations ● ProductStockLocationConfigurationConnection object

Product.stockLocationConfigurations.first ● Int scalar
Product.stockLocationConfigurations.after ● String scalar

Interfaces

Node interface

Any entity that can be loaded by its global id through the node(id: ID!) query.

Returned By

product query ● setProductReorderConfiguration mutation

Member Of

Batch object ● GoodsReceiptLineItem object ● OrderLineItem object ● Product object ● ProductEdge object ● ProductSupplierConfiguration object ● ProductWarehouseConfiguration object ● Stock object ● SupplierOrderLineItem object ● WarehouseStock object