Products

Scan a product barcode or detail to search and add them to the order.

Supported code values

When creating a product QR or barcode, you can use a variety of values. We recommend using the Shopify variant or product ID where possible, as this will produce the fastest and most reliable results while scanning.

You can use the products existing barcode value by ensuring that value is added somewhere to the product on Shopify such as the description, barcode, sku or tags.

tip

A specific variant is required when adding products to the cart. To make scanning as fast as possible, it's recommended to use variant values in your codes. Using a product value will require staff to select the variant as an extra step during scanning.

Type

Example

Product Global ID

8923676705055

Product Global ID String

gid://shopify/Product/8914148524319

Variant Global ID

47612949332255

Variant Global ID String

gid://shopify/ProductVariant/47612949332255

Search Phrase

my-barcode-number

Search

If the scanned code is not an ID, we will use the native point of sale search to try and find the product. This will return any products that have the scanned value in their:

  • Title
  • Description
  • Tags
  • Barcode
  • Sku

Finding ID's

There are a number of ways that you can find the product or variant ID.

Via the admin URL

You can find product and variant ID's quickly in the admin. When navigating to a variant in the admin the product and variant ID are visible in the URL address:

https://admin.shopify.com/store/my-store-name/products/{product_id}/variants/{variant_id}

You can use the barcode or SKU fields as these will be picked up when searching for the scan code.

Via .json in Admin

Add .json to a product or variant url in the Shopify admin to see details about the product:

This will provide the raw data about your variant or product. The global string ID can be found under "admin_graphql_api_id".

Via CSV Export

For getting a list of ID's, exporting the products from Shopify will likely be the fastest option.

Order of scanning

Since there is a chance that certain values may be used on multiple items we attempt to find the right variant following a certain order.

The basic order is:

  • If the code contains a GID string such as gid://shopify/Product/8914148524319 we use that to determine if it is a product or variant.
  • If the code is only a number, we search for variants with that ID
  • If we get no results, we search for products with that ID
  • If still no results, we use the native search to search for the code

If we can only return a product and not a variant, then we also show a list of the product variants to select from. If searching by phrase we will only show the variants that match the search results to ensure only the relevant product variant is added to the cart.

This is illustrated below:

Yes

No

No

No

Success

Fail

Found with one variant

Found with multiple variants

Not found

Yes

Yes

Success

Found with one variant

Found with multiple variants

Not found

Found products

Yes

No

Not found

Start

Code is numeric?

Try to fetch as variant ID

Code includes variant GID string?

Code includes product GID string?

Try to find via search

Set variant

Try to fetch as product ID

Set variant

Show variant selector

Try to find via product query search

Try to fetch variant with GID

Try to fetch product with GID

Show product list

Product selected has multiple variants?

Set variant

Product not found

Troubleshooting

Ensure product is published in Shopify

Products must be published and available on Shopify for them to be visible in point of sale.

Ensure product is available on point of sale channel

Make sure the product is published and available on point of sale.

Product syncing

Shopify point of sale may have a cached or local copy of your products so that it can continue to operate reliably. If the code you are scanning contains information that has recently been updated such as a SKU or Barcode number, then Shopify POS may still be syncing.

To fix, you can visit the product in question in Shopify POS which will trigger a refresh.

Otherwise, syncing is normally updated within minutes.