Skip to main content
2025-R1Commerce

Retail Commerce: Replacement of REST API with GraphQL API for Shopify

Last updated: 31 October 2025

Retail Commerce: Replacement of REST API with GraphQL API for Shopify

Retail Commerce: Replacement of REST API with GraphQL API for Shopify

Shopify is deprecating the REST API for apps and integrations after February 1, 2025, and switching to GraphQL instead. In MYOB Acumatica 2025.1, the corresponding changes have been implemented in the ecommerce connector. The connector synchronizes the following entities by using GraphQL:

  • Stock Item
  • Non-Stock Item
  • Template Item
  • Product Availability

Stock Item and Non-Stock Item Entities

The following table shows how the ecommerce connector maps MYOB Acumatica fields to Shopify fields when it synchronizes stock items and non-stock items with Shopify by using the GraphQL API.

Tip: For details about the mapping for the Shopify user interface, see Stock Item Entity and Non-Stock Item Entity.

Table 1. Stock Item and Non-Stock Item Import/Export Mapping

Fields in MYOB Acumatica

Fields in Shopify

Field Name

Form Object

Field Name for Query

Object

Type

The Stock Items (IN202500) form if the exported item is a stock item or the Non-Stock Items (IN202000) form if the exported item is a non-stock item

Description

Summary area

title

ProductCreateInput / ProductUpdateInput

String

Item Class

General tab, Item Defaults section

productType

ProductCreateInput / ProductUpdateInput

String

Description

Description tab

descriptionHtml

ProductCreateInput / ProductUpdateInput

HTML

Vendor ID

Vendors tab

vendor

ProductCreateInput / ProductUpdateInput

String

Search Keywords

eCommerce tab

tags

ProductCreateInput / ProductUpdateInput

String

Category ID

Attributes tab, Sales Categories table

tags

ProductCreateInput / ProductUpdateInput

String

Visibility: Visible

eCommerce tab

status: ACTIVE

ProductCreateInput / ProductUpdateInput

String

Visibility: Featured

eCommerce tab

status: ARCHIVED

ProductCreateInput / ProductUpdateInput

String

Visibility: Invisible

eCommerce tab

status: DRAFT

ProductCreateInput / ProductUpdateInput

String

Inventory ID

Summary area

sku

ProductVariantsBulkInput / ProductVariantsBulkUpdate

String

Weight

Packaging tab, Dimensions section

inventoryItem.measurement.weight.value

ProductVariantsBulkInput.inventoryItem > InventoryItemInput.measurement > InventoryItemMeasurementInput.weight

Decimal

Weight UOM

Packaging tab, Dimensions section

inventoryItem.measurement.weight.unit

ProductVariantsBulkInput.inventoryItem > InventoryItemInput.measurement > InventoryItemMeasurementInput.weight

String

Default Price

Price/Cost tab, Price Management section

price

ProductVariantsBulkInput / ProductVariantsBulkUpdate

Money

Tax Category

General tab, Item Defaults section

taxable

ProductVariantsBulkInput / ProductVariantsBulkUpdate

Boolean

MSRP

Price/Cost tab, Price Management section

compareAtPrice

ProductVariantsBulkInput / ProductVariantsBulkUpdate

Money

Alternate Type: GTIN/EAN/UPC/ISBN or Barcode

Cross-Reference tab

barcode

ProductVariantsBulkInput / ProductVariantsBulkUpdate

String

A stock item

requiresShipping

ProductVariantsBulkInput.inventoryItem / ProductVariantsBulkUpdate.inventoryItem

Boolean

A non-stock item, Require Shipment: Selected

General tab, Item Defaults section

Page Title

eCommerce tab

Product.seo.title

ProductCreateInput.seo / ProductUpdateInput.seo

String

Meta Description

eCommerce tab

Product.seo.description

ProductCreateInput.seo / ProductUpdateInput.seo

String

Template Item Entity

The following table shows how the ecommerce connector maps MYOB Acumatica fields to Shopify fields when it synchronizes template items with Shopify by using the GraphQL API.

Tip: For details about the mapping for the Shopify user interface, see Template Item Entity.

Table 2. Template Item Import/Export Mapping

Fields in MYOB Acumatica

Fields in Shopify

Field Name

Form Object

Field Name for Query

Object

Type

The Template Items (IN203000) form

Description

Summary area

title

ProductCreateInput / ProductUpdateInput

String

Item Class

General tab, Item Defaults section

productType

ProductCreateInput / ProductUpdateInput

String

Description

Description tab

descriptionHtml

ProductCreateInput / ProductUpdateInput

HTML

Vendor ID

Vendors tab

vendor

ProductCreateInput / ProductUpdateInput

String

Search Keywords

eCommerce tab

tags

ProductCreateInput / ProductUpdateInput

String

Category ID

Attributes tab, Sales Categories table

tags

ProductCreateInput / ProductUpdateInput

String

Visibility: Visible

eCommerce tab

status: ACTIVE

ProductCreateInput / ProductUpdateInput

String

Visibility: Featured

eCommerce tab

status: ARCHIVED

ProductCreateInput / ProductUpdateInput

String

Visibility: Invisible

eCommerce tab

status: DRAFT

ProductCreateInput / ProductUpdateInput

String

As part of the synchronization of the Template Item entity, .matrix items are exported to Shopify. The following table shows how the ecommerce connector maps MYOB Acumatica fields to Shopify fields when it synchronizes matrix items with Shopify by using the GraphQL API.

Table 3. Matrix Item Import/Export Mapping

Fields in MYOB Acumatica

Fields in Shopify

Field Name

Form Object

Field Name for Query

Object

Type

The Template Items form

Attribute

Configuration tab, Attributes section

options

ProductCreateBulkInput / ProductUpdateBulkInput

Array

Attribute Value

Item Creation tab

options values

ProductCreateBulkInput / ProductUpdateBulkInput

Array

Default Price

Price/Cost tab, Price Management section

price

ProductCreateBulkInput / ProductUpdateBulkInput

Money

Tax Category

General tab, Item Defaults section

taxable

ProductCreateBulkInput / ProductUpdateBulkInput

Boolean

MSRP

Price/Cost tab, Price Management section

compareAtPrice

ProductCreateBulkInput / ProductUpdateBulkInput

Money

Page Title

eCommerce tab

Product.seo.title

ProductCreateInput.seo / ProductUpdateInput.seo

String

Meta Description

eCommerce tab

Product.seo.description

ProductCreateInput.seo / ProductUpdateInput.seo

String

Availability: Set as Available (Track Qty.)

eCommerce tab

inventoryItem.tracked: true

ProductVariantsBulkInput.inventoryItem / ProductVariantsBulkUpdate.inventoryItem

Boolean

Availability: Set as Available (Don't Track Qty.)

eCommerce tab

inventoryItem.tracked: false

ProductVariantsBulkInput.inventoryItem / ProductVariantsBulkUpdate.inventoryItem

Boolean

Availability: Set as Pre-Order

eCommerce tab

inventoryItem.tracked: false

ProductVariantsBulkInput.inventoryItem / ProductVariantsBulkUpdate.inventoryItem

Boolean

Availability: Do Not Update

eCommerce tab

inventoryItem.tracked: No changes

ProductVariantsBulkInput.inventoryItem / ProductVariantsBulkUpdate.inventoryItem

Boolean

Availability: Set as Unavailable

eCommerce tab

inventoryItem.tracked: false

ProductVariantsBulkInput.inventoryItem / ProductVariantsBulkUpdate.inventoryItem

Boolean

When Qty. Unavailable: Do Nothing

eCommerce tab

inventoryPolicy: No changes

ProductVariantsBulkInput.inventoryPolicy / ProductVariantsBulkUpdate.inventoryPolicy

String

When Qty. Unavailable: Set as Unavailable

eCommerce tab

inventoryPolicy: DENY

ProductVariantsBulkInput.inventoryPolicy / ProductVariantsBulkUpdate.inventoryPolicy

String

When Qty. Unavailable: Set as Pre-Order/Continue Selling

eCommerce tab

inventoryPolicy: CONTINUE

ProductVariantsBulkInput.inventoryPolicy / ProductVariantsBulkUpdate.inventoryPolicy

String

The Stock Items (IN202500) form if the matrix item is a stock item or the Non-Stock Items (IN202000) form if the matrix item is a non-stock item

Inventory ID

Summary area

sku

ProductVariantsBulkInput / ProductVariantsBulkUpdate

String

Weight

Packaging tab, Dimensions section

inventoryItem.measurement.weight.value

ProductVariantsBulkInput.inventoryItem > InventoryItemInput.measurement > InventoryItemMeasurementInput.weight

Decimal

Weight UOM

Packaging tab, Dimensions section

inventoryItem.measurement.weight.unit

ProductVariantsBulkInput.inventoryItem > InventoryItemInput.measurement > InventoryItemMeasurementInput.weight

String

Alternate Type: GTIN/EAN/UPC/ISBN or Barcode

Cross-Reference tab

barcode

ProductVariantsBulkInput / ProductVariantsBulkUpdate

String

Product Availability Entity

The following table shows how the ecommerce connector maps MYOB Acumatica fields to Shopify fields when it exports the availability of stock items to Shopify by using the GraphQL API.

Tip: For details about the mapping for the Shopify user interface, see Product Availability Entity.

Table 4. Product Availability Export Mapping

Fields in MYOB Acumatica

Fields in Shopify

Field Name

Form Object

Field Name for Query

Object

Type

The Stock Items (IN202500) form

Availability: Set as Available (Track Qty.)

eCommerce tab

inventoryItem.tracked: true

ProductVariantsBulkInput.inventoryItem / ProductVariantsBulkUpdate.inventoryItem

Boolean

Availability: Set as Available (Don't Track Qty.)

eCommerce tab

inventoryItem.tracked: false

ProductVariantsBulkInput.inventoryItem / ProductVariantsBulkUpdate.inventoryItem

Boolean

Availability: Set as Pre-Order

eCommerce tab

inventoryItem.tracked: false

ProductVariantsBulkInput.inventoryItem / ProductVariantsBulkUpdate.inventoryItem

Boolean

Availability: Do Not Update

eCommerce tab

inventoryItem.tracked: No changes

ProductVariantsBulkInput.inventoryItem / ProductVariantsBulkUpdate.inventoryItem

Boolean

Availability: Set as Unavailable

eCommerce tab

inventoryItem.tracked: false

ProductVariantsBulkInput.inventoryItem / ProductVariantsBulkUpdate.inventoryItem

Boolean

The Shopify Stores (BC201010) form when When Qty. Unavailable is set to Store Default on the eCommerce tab of the Stock Items form

When Qty. Unavailable: Do Nothing

eCommerce tab

inventoryPolicy: No changes

ProductVariantsBulkInput.inventoryPolicy / ProductVariantsBulkUpdate.inventoryPolicy

String

When Qty. Unavailable: Set as Unavailable

eCommerce tab

inventoryPolicy: DENY

ProductVariantsBulkInput.inventoryPolicy / ProductVariantsBulkUpdate.inventoryPolicy

String

When Qty. Unavailable: Set as Pre-Order/Continue Selling

eCommerce tab

inventoryPolicy: CONTINUE

ProductVariantsBulkInput.inventoryPolicy / ProductVariantsBulkUpdate.inventoryPolicy

String

Fields Unavailable in GraphQL

The following table shows the Shopify fields that were available during the synchronization of the Stock Item, Non-Stock Item, and Template Item entities through the REST API but are unavailable with GraphQL.

Table 5. External Fields Unavailable Through GraphQL: Stock Item, Non-Stock Item, and Template Item

Tabs of the Entities (BC202000) form

External Object

External Field

REST API Object

REST API Field

Import Mapping, Import Filtering

Product

Published

Published

Import Mapping, Import Filtering, Export Mapping

Product

PublishedScope

PublishedScope

Import Mapping, Export Mapping

Product -> Product Variants

FulfillmentService

Product > Product Variants

fulfillment_service

PresentmentPrices

Product > Product Variants

presentment_prices

The following table shows the Shopify fields that were available during the synchronization of the Product Availability entity through the REST API but are unavailable with GraphQL.

Table 6. External Fields Unavailable Through GraphQL: Product Availability

External Field

REST API Object

REST API Field

RelocateIfNecessary

InventoryLevel

relocate_if_necessary

DisconnectIfNecessary

InventoryLevel

disconnect_if_necessary