Products

Object

BarcodePromotionPrice

Fields Type Description

outlet

Outlet!

The outlet for the promotional price

price

Float

The price for the barcode

Object

FutureCost

Fields Type Description

id

ID!

The ID of the cost change

cost

Float!

The cost including tax

effectiveTime

DateTime!

The time the cost will become active

outlet

Outlet

The outlet the cost will apply to (if null, it's the global cost)

user

User

The user who set the cost

item

HasPriceClassificationUnion!

The item this cost is for

Object

FuturePrice

Implements

List of interfaces this object implements

Fields Type Description

id

ID!

The ID of the price change

quantity

Float!

The quantity for the price

price

Float

The price including tax, if null, the price will be removed

priceEx

Float

The price excluding tax, if null, the price will be removed

priceSet

PriceSet

The price set this price belongs to

user

User

The user who set the price

effectiveTime

DateTime!

The time the price will become active

item

HasPriceClassificationUnion!

The item this price is for

Object

ProductAlternateName

Fields Type Description

hostConnection

HostConnection!

The host connection that is created the alternate name

quantity

Float

The quantity associated to the alternate name

name

String

The alternate name

Object

ProductBackorder

Fields Type Description

id

ID!

The ID of the backorder

outlet

Outlet!

The Outlet the backorder is for

customer

Customer!

The Customer who has requested the product

product

Product!

The Product which is on backorder

quantity

Float!

The quantity of the product the customer would like

recurringPeriod

TimePeriod

The recurring period this product should be reordered on

nextDueDate

DateTime

The next time this product is due for ordering

onOrder

Order

The order this backorder is currently on

notes

String!

The notes regarding this backorder

createdAt

DateTime!

The time this backorder was created

updatedAt

DateTime!

The last time this backorder was updated

Object

ProductBarcode

Fields Type Description

product

Product!

The product associated to this barcode

quantity

Float!

The quantity for this barcode

code

String!

The barcode

template

BarcodeTemplate

The barcode template (if applicable)

lastSoldAt

DateTime

The timestamp of the last time this barcode was used in a sale

lastStocktakedAt

DateTime

The timestamp of the last time this barcode was used in a stocktake

hostDeletedAt

DateTime

The timestamp of when the host file deleted this barcode

promotionPrice

Float

The approximate promotional price of this barcode quantity, this is not necessarily what will be used when scanned in the POS and may be higher than the everyday price. It only uses "simple" promotions (single criteria or mix criteria, exact quantity, price override) and is an expensive calculation so use sparingly. This field does not send in Webhooks except for approved applications

outletPromotionPrices

[BarcodePromotionPrice!]!

The approximate promotional price per outlet, uses the same rules as above but is designed for each Outlet. This field does not send in Webhooks except for approved applications

Object

ProductCompetitorPrice

Fields Type Description

competitor

String!

The name of the competitor for the competition pricing

price

Float!

The name of the price for the competition pricing

quantity

Float!

The name of the quantity for the competition pricing

updatedAt

DateTime!

The last time the competition price was updated

Object

ProductCost

Fields Type Description

outlet

Outlet!

The outlet this cost is for

lastCost

Float!

The last case cost for this outlet

averageCost

Float!

The average case cost for this outlet

cost

Float!

The current case cost for the outlet (affected by Vendor settings)

Object

ProductHostDeletion

Fields Type Description

hostConnection

HostConnection!

The host that has deleted this product

deletedAt

DateTime!

The timestamp for when the host deleted the product

Object

ProductInclude

Fields Type Description

product

Product!

The product that is included

quantity

Float!

The quantity of the product that is included

addPrice

Float

The price to add additional quantity of this product (only set if the parent's type is "PACKAGE")

removePrice

Float

The price to remove quantity of this product (only set if the parent's type is "PACKAGE")

Object

ProductInventory

Fields Type Description

outlet

Outlet!

The outlet this inventory is for

quantity

Float!

The number of items this product has in stock (made from singleLevel + caseLevel * caseQuantity)

singleLevel

Float!

The amount of singles this product has in stock

caseLevel

Float!

The amount of cases this product has in stock

reorderLevel

Float!

The number of items to trigger reorder for this product (made from reorderLevelSingles + reorderLevelCases * caseQuantity)

reorderLevelSingles

Float!

The number of singles to trigger reorder for this product

reorderLevelCases

Float!

The number of cases to trigger reorder for this product

reorderAmount

Float!

The amount of items to reorder when reorder level is triggered (made from reorderAmountSingles + reorderAmountCases * caseQuantity)

reorderAmountSingles

Float!

The amount of singles to reorder when reorder level is triggered

reorderAmountCases

Float!

The amount of cases to reorder when reorder level is triggered

reorderLimit

Float

The maximum amount of items to reorder at any point (note, this is a soft limit) (made from reorderLimitSingles + reorderLimitCases * caseQuantity)

reorderLimitSingles

Float

The maximum number of singles to reorder at any point

reorderLimitCases

Float

The maximum number of cases to reorder at any point

reorderRounding

InventoryReorderRoundingTypeEnum!

The way the items should be rounded when dynamically reordering

maxQuantity

Float

The maximum quantity to have on hand at any one time (not just within one order) (made from maxQuantitySingles + maxQuantityCases * caseQuantity)

maxQuantitySingles

Float

The maximum number of singles to have on hand at any one time

maxQuantityCases

Float

The maximum number of cases to have on hand at any one time

onOrder

Float!

The number of items that are currently on order (this is not sent for webhooks)

Object

ProductItemsSold

Fields Type Description

outlet

Outlet!

The outlet these sales belong to

quantity

Float!

The total number of items that were sold

singles

Float!

The number of single items that were sold (the total quantity without any cases)

cases

Float!

The number of cases that were sold

periodFrom

DateTime!

The time this query was run from (typically the provided period, however may be later if the product or outlet was created later)

periodTo

DateTime!

The time this query was run to (typically the provided period)

Object

ProductLoyalty

Fields Type Description

outlet

Outlet!

The outlet this loyalty is for

quantity

Float!

The quantity to trigger this loyalty level

loyaltyValue

Float

The earn rate per dollar at this level

redeemValue

Float

The redeem rate per dollar at this level

Object

ProductPrice

Fields Type Description

quantity

Float!

The quantity for the price

price

Float!

The price including tax

priceEx

Float!

The price excluding tax

decimalPlaceLength

Int!

The amount of decimal places to show (when including tax)

priceSet

PriceSet

The price set this price belongs to

Object

ProductRecommendedPrice

Fields Type Description

quantity

Float!

The quantity for the price

price

Float!

The price including tax

priceEx

Float!

The price excluding tax

isMaximum

Boolean!

Whether this price has been marked as a maximum price (sell price should not go above this)

connection

HostConnection!

The host connection that has specified this price

Object

ProductSupplierCost

Fields Type Description

outlet

Outlet!

The outlet that the supplier cost relates to

cost

Float

The cost for the supplier cost. If null, the replacement cost should be inherited from either global cost or last cost depending on settings

Object

ProductSupplier

Fields Type Description

supplier

Supplier!

The supplier for the product

code

String!

The supplier's code for this product

costs

[ProductSupplierCost!]!

The costs that are associated with the supplier

minimumOrderQuantity

Int!

The supplier's minimum order quantity for this product

Object

Product

Implements

List of interfaces this object implements

Fields Type Description

id

ID!

The ID of the product

name

String!

The name of the product

mdbId

Int

The ID of the product this is mapped to in the master database or null if not connected

type

ProductTypeEnum!

The type of product this is

active
Deprecated

Boolean!

Whether the product is active or not
Use status instead as this is no longer a simple boolean

status

ProductStatusEnum!

The current status of the product

useScales

Boolean!

Whether the product should attempt to read weight from the configured scales.

useBarcodeTemplates

Boolean!

Whether this product can have barcodes with barcode templates

usePriceLabel
Deprecated

Boolean

usePriceLabels has been superseded by useBarcodeTemplates (this will now always return false)
usePriceLabels has been superseded by useBarcodeTemplates (this will now always return false)

requestQuantity

Boolean!

Whether the product should ask to specify quantity when added to a sale.

requestPrice

Boolean!

Whether this product should request a price rather than using predefined points.

description

String

A long HTML description for the product.

category

Category

The category of the product

brand

Brand

The brand of the product

family

Family

The family of the product

tags

[Tag]!

The tags of the product

suppliers

[ProductSupplier]!

The suppliers of the product

coreSupplier

Supplier

The "main" supplier that this item is purchased from.

lastSupplier

Supplier

The last supplier that this item was purchased from.

minimumOrderQuantity

Int!

The minimum order quantity for the product, if supplier is not supplied the value will be zero (or attempt to resolve the supplier from the query, such as from within orders)

orderNotes

String

Notes to display when ordering this product

invoiceNotes

String

Notes to display when receiving this product on an order

taxRate

TaxRate

The tax rate that applies to this product, null means No Tax (0%)

costTaxRate

TaxRate

The tax rate that applied to this product's costs, null means No Tax (0%)

inheritingCostTaxRate

Boolean!

Whether the cost tax rate is inheriting the tax rate

lastCost

Float!

The last "local" cost (as controlled by the Vendor settings), if outlet is specified it uses that outlet's cost, otherwise it uses the global cost (or attempts to resolve the last cost from the query, such as from within orders)

averageCost

Float!

The average "local" cost (as controlled by the Vendor settings), if outlet is specified it uses that outlet's cost, otherwise it uses the global cost

globalLastCost

Float!

The global last cost

globalAverageCost

Float!

The global average cost

cost

Float!

The current "local" case cost (as controlled by the Vendor settings), if outlet is specified it uses that outlet's cost, otherwise it uses the global cost

globalCost

Float!

The current global case cost (affected by Vendor settings)

costs

[ProductCost]!

A list of case costs for every outlet

replacementCost

Float

The replacement cost for the product, if either of the arguments are not supplied the value will be null (or attempts to resolve the supplier and outlet from the query, such as from within orders)

costPercentage

Boolean!

Whether the cost is a percentage of the sell price, if so, the percentage uses the "cost" field

caseQuantity

Float!

The number of products that come in a case

trackInventory

Boolean!

Whether inventory should be tracked for this product or not

inventory

[ProductInventory]

Each Outlet's stock holdings for the product

inventoryLog

ProductInventoryLogConnection

Inventory Log Connection

ticketInformation
Deprecated

JSON

Customisable additional information to include on each product (deprecated)
We've changed the way this data is stored, this is here purely for backwards compatibility purposes. The additionalFields field should be used instead.

additionalFields

[AdditionalValue]

Customisable additional information to include on each product

image

String

The main image for the product

alternateImages

[String]!

A list of additional images for the product

tempProduct

Boolean!

Whether this product has been created temporarily due to external invoices - these are typically short lived products

createdAt

DateTime!

The time this product was created

updatedAt

DateTime!

The time this product was last updated

prices

[ProductPrice]

The prices for the product, this is null if requestPrice is true

recommendedPrices

[ProductRecommendedPrice!]!

The recommended prices for the product from the connected host files

barcodes

[ProductBarcode]

A list of barcodes for the product

preventManualDiscounts

Boolean!

Whether this product can have a manual discount applied

ignorePriceHostChanges

Boolean

Whether this product can receive price changes from a host file.

ignoreBarcodeHostChanges

Boolean

Whether this product can receive barcode changes from a host file.

loyalty

[ProductLoyalty]

The loyalty associated with this product (does not show classification loyalty levels)

revisions

ProductRevisionConnection

The revisions for the product

lastOrderedDate

Date

The date this product was last ordered

lastSentDate

DateTime

The date this product was last sent on an order

lastReceivedDate

Date

The date this product was last received

lastReceivedBaseCost

Float

The base cost this product was last received. If the outlet argument is specified, it is for that outlet, otherwise it will return it for all outlets (or attempts to resolve the last cost from the query, such as from within orders)

contains

[ProductInclude]

The products that are included in the product when added to the sell screen

parents

[ID]

A list of UUIDs of parent products

metcashMSC

String

The Metcash classification for the product

itemsSoldForPeriod

[ProductItemsSold!]!

The number of items sold for the provided period (periodStart defaults to one week ago, can specify null to get sales for all time). It uses a complex calculation so use sparingly. You may be better to use the Reporting API to get the information you require. This field does not send in webhooks. We suggest using the same arguments for all products otherwise this may result in extra sales being retrieved when less where expected.

buyingPeriods

[BuyingPeriod!]!

Retrieve the current and future buy periods for this product

competitorPrices

[ProductCompetitorPrice!]!

A list of competition prices for the product

alternateNames

[ProductAlternateName!]!

The list of alternate names provided by host connections

hostDeletions

[ProductHostDeletion]!

List of host connections that have marked the product as deleted

deletedAt

DateTime

The time this product was deleted (or null if not deleted)

ProductInventoryLogConnection

Object — ConnectionType of InventoryLog

Sortable Fields

Fields from InventoryLog that can be used to sort the connection items

  • timestamp
Arguments Type Description

type

[InventoryLogChangeTypeEnum]

The type of change that occurred to look for

users

[ID]

A list of users that made modifications to filter by

outlet

ID

An outlet to filter the results by

start

DateTime

Get any log that occurred after this parameter (inclusive)

end

DateTime

Get any log that occurred before this parameter (inclusive)

ProductRevisionConnection

Object — ConnectionType of Revision

Sortable Fields

Fields from Revision that can be used to sort the connection items

  • timestamp