Articles in this section

Sync NetSuite item groups

An item group is an item type in NetSuite that is a single unit made up of several individual items (components). You can create an item group with various other item types such as inventory, matrix, and kit/package items. The item group price is always dependent on its member components. The integration flows can support item groups of any configurations such as:

  • An item group with inventory, non-inventory, and matrix child items as member components
  • A single item in NetSuite can belong to multiple item groups.
  • An item group that has different or equal quantities of member components contributing to the item group.
Item_Group_Example.jpg

Important: You can sync item group data only on the premium edition of the integration app.

The integration app supports to sync item type: item group only using the following flows:

  • “Shopify Order to NetSuite Order Add” and “Shopify Order to NetSuite Order/CashSale Add”
  • NetSuite Fulfillment to Shopify Fulfillment Add
  • NetSuite Kit and Item Group Inventory to Shopify Inventory Add/Update
    Note: Using this flow you can sync item group data only if you have a premium subscription to the integration app.

You can manage the behavior of item groups using the Manage NetSuite item groups using setting (in the integration app > Settings > General):

  • If you select the Member component, the price, quantity, and tax are equally considered on all the available components in the item group.
  • If you select the Master component, the price, quantity, and tax are considered only on the selected master component. When you select the master component, the price, taxes, and quantity is not considered on the remaining components in the group.
Prerequisites
  • The product SKU must match between Shopify and NetSuite.
  • The item ID maps should be created on the NetSuite item group.
  • The item IDs should have matching Inventory Item ID and Variant ID.

Sync item group orders

A product has a single SKU in Shopify and it does not have a concept like NetSuite item groups. After you run the “Shopify Order to NetSuite Order Add” flow (real-time and scheduled), if the product is an item group in NetSuite, it is expanded and lists the individual member components. The price from Shopify is proportionally applied to the item group components as per the NetSuite native pricing or applied completely on the master component based on the option selected in the Manage NetSuite item groups using setting. An “eTail order line ID” is generated for each component of the item group.

Important: The integration flow syncs cash sales only if the item group does not have any inventory detail (Lot Numbered and Serialized items). 

The below table outlines the behavior of each Order element wrt to the Manage NetSuite item groups using setting.

Shopify Order to NetSuite Order Add (real-time and scheduled)

Order Element

Member component set up

Master component set up

Price

  1. For all the member components, the Shopify price is calculated as per weighted averages. For more information, see the Price calculation for member components.
  2. Assign the calculated price to each member component.

The entire Shopify SKU price is synced to only the master component.


Note: In this scenario, the price on all the remaining member components is 0.

Taxes

The same tax rate is applicable for all the member components

The tax rate is applicable only to the master component. In this scenario, the remaining member components are not considered/ignored.

Line-level discounts

In the integration app > Settings > Order section > Discount tab, in the Bring Shopify line-level discounts into NetSuite as setting, if you select:

  • Adjustments to item list price: Based on the weighted average price, the discount is adjusted to the member components
  • Newline below the original line (recommended): A new line is added on the sales order with the discount amount, after the item group component lines.

In the integration app > Settings > Order section > Discount tab, in the Bring Shopify line-level discounts into NetSuite as setting, if you select:

  • Adjustments to item list price: The discount is adjusted to the master component price.
  • Newline below the original line (recommended): A new line is added on the sales order with the discount amount, after the item group component lines.

Cart-level discounts

The cart-level discount is applied to the item group. 

The cart-level discount is applied to the item group. 

Price calculation logic for a member component

The weight is calculated per member component. If an item group “Lunch box” has three member components such as Box, Spoon, and Bag. If the price of: 

  • Box is 100
  • Bag is 50
  • Spoon is 20

The price of the item is 

Weighted average = (100 (box) x 100) / (100 + 50 + 20) 

Similarly when you calculate for all three member components, the  

  • The weight of the item Box is 58.23
  • The weight of the item Bag is 28.23
  • The weight of item Spoon is 12.54

If Shopify's price is 120 then when it comes to NetSuite price is divided to the component according to the weight. The sale price for the item Box is calculated as 

(120 * Weighted average/100)

Orders member components set up

The “Shopify Order to NetSuite Order Add” flow syncs item group data based on the option selected in the Manage NetSuite item groups using setting. If you select a member component, the price and taxes are equally considered by all the member components. An “eTail Line Order ID” is generated for each member component in the <Item group ID>_memberitem_<num> format. For more details, see the image below.

Shopify order

Shopify_order.jpg

NetSuite order with member component

IG_member_component.jpg

Order with a master component set up

The price and tax are considered from the master component and other member components are not considered and marked as 0 on the sales order. As per the below image, “CPU” is selected as the master component, and the price, quantity, and tax is calculated only for the master component.  An “eTail Line Order ID” is generated for each member component in the <Item group ID>_memberitem_<num> format. Similarly, for the master component, it is generated in the <Item group ID>_masteritem_<num> format.  For more details, see the image below.

NetSuite order with a master component

IG_Master_component.jpg

Sync item group order fulfillment

You can only fulfill the components and not the item group. The “NetSuite Fulfillment to Shopify Fulfillment Add” flow supports to sync full and partially fulfilled item group orders. The “NetSuite Fulfillment to Shopify Fulfillment Add” flow syncs the comma-separated tracking numbers only after the item group is completely fulfilled. It is recommended that you add the tracking numbers of the previous fulfillment to the final fulfillment.

Limitation: In case of partial fulfillment, the “NetSuite Fulfillment to Shopify Fulfillment Add” flow does not sync the tracking numbers of the previous fulfillment. 

Example: An item group “Lunch box” has four member components 

  • Box with quantity 3
  • Bag with quantity 2
  • Spoon with quantity 1 
  • Mini box with quantity 1

First fulfillment: Box (2), Bag (1), and Mini box(1).

Second fulfillment: Box (1), Bag (1), and Spoon (1).

The sum of two fulfillments is Box(3), Bag(2), Spoon(1), and Mini box(1).

  • In the Manage NetSuite item groups using setting, if you select Member component: After the first fulfillment, as the item group is not completely fulfilled, when you run the “NetSuite Fulfillment to Shopify Fulfillment Add” flow no information is synced to Shopify. Even if individually, the member component Mini box is fulfilled, no information is synced to Shopify. After the second fulfillment, as the entire item group with all components are fulfilled, the flow changes the Shopify order status as “Fulfilled.” As per the above example scenario, the flow syncs the comma-separated tracking numbers only in the second and final fulfillment. You can also include the previous fulfillment tracking numbers if required. 
  • In the Manage NetSuite item groups using setting, if you select Master component, as Mini box in the eTail Master component field, after the first fulfillment, the “NetSuite Fulfillment to Shopify Fulfillment Add” flow changes the Shopify order status as “Fulfilled.” In this scenario, the flow does not consider the other member component's fulfillment. The comma-separated tracking numbers are synced only for the master component (Minibox).

Note: In the Manage NetSuite item groups using setting, if you select Master component, and in the eTail Master component field if you do not select any member component, the flow does not sync fulfillment information to Shopify. 

Sync item group order inventory

The item group quantity and inventory is managed at the component level. The behavior of the item group inventory is similar to the kit inventory. 

NetSuite Kit and Item Group Inventory to Shopify Inventory Add/Update

 

Member

Master item

Quantity calculation 

The minimum quantity of among all the member components is considered and synced to Shopify.

The selected master component quantity is considered and synced to Shopify.

Many to one 

Example

  • Box, Bag, and Spoon are member components 
  • California, Texas, and Florida are different locations

In this scenario, the sum of the quantity of the item Box is calculated for all the three locations (California, Texas, and Florida). Similarly, the sum of items Bag and Spoon are also calculated. Whichever item’s sum is minimum, that is considered and synced to Shopify.

Example:

  • Box, Bag, and Spoon are member components 
  • California, Texas, and Florida are different locations
  • Bag is master component

In this scenario, the sum of item Bag is calculated for all the three locations and synced to Shopify.

One to one - NetSuite location

Example

  • Box, Bag, and Spoon are member components 
  • California, Texas, and Florida are different locations

In this scenario, the minimum of the three items that is either Box, Bag, and Spoon are calculated for the California location and are synced to Shopify.


Similar calculation is performed for Texas and Florida locations.

Example

  • Box, Bag, and Spoon are member components 
  • California, Texas, and Florida are different locations
  • The bag is a master component

In this scenario, the item Bag quantity is synced to the locations California, Texas, and Florida.

Configure your NetSuite saved search

Prerequisite: Before you run the “NetSuite Kit and Item Group Inventory to Shopify Inventory Add/Update” flow, configure the NetSuite saved search.

  1. Login to your NetSuite account.
  2. In the global search bar, enter Celigo Shopify kit inventory and item group export.
  3. From the search results, select the appropriate saved search.
  4. On the “Celigo Shopify kit inventory and item group export [<account name>]” page, click Edit this Search.
  5. Go to Criteria > Standard
    1. Click on the Type row.
    2. Next to the Type drop-down list, click Expand.
    3. On the “Saved Item Search” window, select Item Group and Kit/Package.
    4. Click Set.

      Filter

      Description

      Type

      Is any of Item Group, Kit/Package

  6. Go to Results > Columns.
  7. Add the following records:
    1. For “Member item : Internal ID”
      1. Click to add a new row.
      2. Enter Member Item Fields…
      3. On the “Saved Search Item” window, from the “Member Item Field” drop-down list, select Internal ID.
      4. In the Custom label column, enter member_item_id.
    2. For “eTail master component : Internal ID”
      1. Repeat steps i to v from the previous section.

        Field

        Custom label

        Member item : Internal ID

        member_item_id

        eTail master component : Internal ID


        Note: In this field, select “eTail master component” only if you select Master component the Manage NetSuite item groups using integration app setting. If you select the Member component in the integration app setting, do not select any value in this NetSuite field.

        master_component_id

  8. Click Save.
Limitations
  • The item group does not support the lot numbered, and serialized as member components. 
  • You cannot have item groups with a combination of member and master component setup. In the Manage NetSuite item groups using setting, you cannot select the member component option while and in NetSuite, in the eTail Master component field, you cannot select the master component at the same time.
  • On a few specific item prices, as we are unable to sync the exact item price, due to internal calculations, you might see 0.01 or 0.02 variance on the item price.
Was this article helpful?
0 out of 0 found this helpful

Comments

2 comments
Date Votes

Please sign in to leave a comment.