Articles in this section

Sync modified Shopify orders to NetSuite sales orders

In Shopify for an order, you can add items, remove items, and adjust the item quantities. These Shopify edited orders can now be synced to NetSuite using the “Shopify Order to NetSuite Order/CashSale Add” flow. 

The flow syncs the order edit adjustments data to NetSuite, only if:

  • The fulfillment process is not initiated for the order or a particular line item. (Note: Make sure that none of the items in the fulfillment is fulfilled or partially fulfilled. A change in the status of even just one line item will cause an error to appear.)
  • The order is not in the closed status in NetSuite.
  • A particular order edit line (positively or negatively) adjusted is not closed in NetSuite.
Notes
  • The real-time flows do not support this feature.
  • The auto-billing flow does not support this feature.
  • This feature is not supported for the orders originated from NetSuite.

To understand more about the order edit adjustments and limitations in Shopify, refer here.

Prerequisite: In the line of "Shopify Order to NetSuite Sales Order/Cash Sale”, click the gear-like icon to show the flow settings window where you can set:

  • In the Filter orders by* setting, select Last updated time.
  • Check the Sync Shopify edited order data to NetSuite box.

When you enable the Sync Shopify edited order data to NetSuite setting and run the “Shopify Order to NetSuite Order/CashSale Add” flow, the flow syncs all the edited orders from the last run. The sales order in NetSuite is updated to reflect the latest order edits. The updated sales order in NetSuite helps the warehouse team plan inventory appropriately so that the removed items are not fulfilled.

Important
  • If the sales order is not found in NetSuite, a new sales order record is created with the updated details.
  • When you perform order edit adjustments and run the Shopify Order to NetSuite Order/CashSale Add flow, the flow updates the orders with the latest advanced settings.
  • All the order components (such as taxes, discounts, etc) are recalculated.
  • If the existing order items have discounts and you perform an order edit by adding another item without a discount, ensure that you add the mapping as shown in the following screenshot. If you do not add the mapping, the sequence of items with discounts will appear incorrectly after the sales orders are synced to NetSuite. To add the mapping, navigate to the Shopify Order to NetSuite order (cash sale or sales order) flow > click on Post Orders to NetSuite mapping and add the Persist New Line Insertion Order field mapping as "true".
  • The order flow in the integration app does not support setting different default tax codes based on country. However, you can hardcode the HST or PST tax values to zero and club
    them under GST for collective reporting.

Order edit adjustments

The “Shopify Order to NetSuite Order/CashSale Add” flow performs the followings with below order edit adjustments:

Positive adjustments

  • This includes positive adjustments to the existing items or the addition of new items. 
  • The NetSuite sales order gets updated with the positive adjustments made to the existing items or the addition of new items. 
  • After positive adjustments, if the “Shopify Order Transaction to NetSuite Add '' flow is enabled, for the additional amount received, the transaction flow creates a custom transaction record in NetSuite.
  • If the “Shopify Transaction to NetSuite Customer Deposit Add” flow is enabled, for additional payments made, a customer deposit record is created and linked to the corresponding sales order. 
  • All the order components (such as taxes, discounts, etc) are recalculated with the latest advanced settings.

Negative adjustments

  • This includes negative adjustments to the existing item or deletion of existing items.
  • The NetSuite sales order gets updated with the negative adjustments to the existing item or deletion of existing items.
  • When you run the “Shopify Refund to NetSuite Refund Add” flow, you can expect two refunds records in NetSuite:
    • One customer refund record is created against the customer deposit for the refunded amount. 
    • Another refund record is an auto-generated refund that is created with a $0 amount to restock the inventory. 
  • All the order components (such as taxes, discounts, etc) are recalculated with the latest advanced settings.

Order editing scenarios

Scenario 1

When you sync the Shopify order in the Captured payment status and if the billing happens before fulfillment:

No_Color_Scenario1.png

  • For positive adjustments:
    • The sales order is updated with the order edit adjustments.
    • Note: Update the cash sale record manually.
  • For negative adjustments:
    • The sales order is updated with the order edit adjustments.
    • The cash sale is not updated. 
    • In this scenario, as the order is already billed, two refund records are created:
      • An auto-generated cash refund record with a $0 amount is created for restocking the inventory. 
      • Another cash refund record is created with the actual refund amount for the negative adjustments made to the order.

 Scenario 2

When you sync a Shopify order with Capture status and billing is after fulfillment:

No_Color_Scenario2.png

  • For positive adjustments:
    • The sales order is updated with the order edit adjustments.
    • An additional customer deposit record is created for the positive adjustments made to the order.
  • For negative adjustments:
    • The sales order is updated with the order edit adjustments.
    • In this scenario, as the order is adjusted before billing, restocking the inventory is not required. Only one customer refund record is created for the refunded amount.

Scenario 3

When you sync the Shopify order in the Authorize payment status:

No_Color_Scenario3.png

  • For positive adjustments, the sales order is updated with the order edit adjustments.
  • For negative adjustments:
    • The sales order is updated with the order edit adjustments.
    • As the order is not billed and the payment is not captured, refund records are not created in this scenario. Also, the $0 refund record that is used to restock the inventory should be ignored. To achieve this, it is recommended to add the below mapping in the “Shopify Refund to NetSuite Refund Add” flow for the “NetSuite Refund Order Import Adaptor”, below the “Import Mappings”. If the mapping is set to “true”, the flow ignores to create the $0 refund record.

      Export Field (REST API

      Import Field (NetSuite)

      “true”

      ignoreOrderEditRefunds

Are the Shopify Payouts impacted with the order editing feature?

Previously, a corresponding record for payout transactions in NetSuite was tracked using the “order ID.” For a +ve payout transaction, we use to match the corresponding cash sale or customer deposit with the order ID. If there are multiple matches found, we used to consider the amount match.

With the order editing feature, there might be more records for each order (be it +ve transactions or -ve transactions). So, instead of simply depending on the order ID, we’re introducing a transaction ID for all the records (cash sale, customer deposit, cash refund, or customer refund). We are modifying the saved search to do it via the “transaction ID”. 

  • There is no impact on the customer deposit flow, as there will be a different transaction record in NetSuite for each Shopify transaction.
  • For the cash sales flow, it is expected that you maintain a single record in NetSuite. For two transactions in Shopify, there is only one record in NetSuite because of which Payouts will not behave as expected.
Example: If an order has 10$, and 20$ transactions in Shopify, and in NetSuite if it is recorded as 30$ value. So, we’ll be marking 30$ as a deposit, and two variance transactions will be created:
  • Amount mismatch of 20$ for the first one
  • Missing transaction for -20$ for the second one.

In this scenario, the payout total will match with the deposit total but there will be variance transactions.

Was this article helpful?
1 out of 1 found this helpful

Comments

13 comments
Date Votes
  • Scenario 3 does not work and is not supported. After going through support, it was told to me that there is a non modifiable filter on the "Shopify Order to NetSuite Order/CashSale Add" flow that says only "paid" orders will flow through. If you edit an order that is only authorized, it will not flow to NetSuite.

    0
  • Hi Mel Haynes, Jr.,

    Sorry for the delay on this - I missed this comment coming through. Thank you so much for letting us know; we'll get this article updated asap.

    0
  • Are edits to Shopify order Ship-To addresses sync'd over to NetSuite when the flow runs?

     

    0
  • Hello Kyle Kennedy,

    Currently, Shopify order Ship-To addresses edits/updates are supported only when there is an actual edit/change on the order line items.
    If there is only a shipping address update, then this will not be updated via flow.
    We have an enhancement request internally to implement this in future releases.

    Thankyou.

    0
  • Hi Celigo team,

    In addition to address updates, is there anyway that other standard Shopify fields can be sync'ed to NetSuite, if they are changed?

    We use Item Tags to assist with order management - it would be great if when order tags were added/removed in Shopify the update was sync'ed to NetSuite.

    0
  • Hi Mel,

    If there is only a tag update , currently our flow doesn't support syncing these changes to NetSuite. This can be achieved via a custom flow, you can reach out to your CSM/AE if you wish to proceed with a custom flow. Can you please let us know how the item tags are assisting you in order management? 

    Thank you.

    0
  • Are edits to Shopify order Ship-To addresses sync'd over to NetSuite when the flow runs? Courtney Jordan Gogula R Bhavana

    0
  • Hi Idriss,

    Currently our flow doesn't support syncing edits to Shopify order Ship-To addresses to NetSuite. This can be achieved via a custom flow, you can reach out to your CSM/AE if you wish to proceed with a custom flow. 

    Thank you.

    1
  • Sree Vani Amarak Thank you 🙏

    0
  • Hi Celigo Team,
    When we import the Pending Payment orders to NetSuite and create it in the "Pending Approval" status in NetSuite. When the order is "Paid" in Shopify we want to update the NetSuite order status with "Pending Fulfillment" status and also create customer Deposit. Is this possible?
    Currently, I've updated the sync edited data checkbox but the flow is ignoring the order since it already exists but unable to sync the status and Customer Deposit. We want below to happen. Please advise.
    Pending Payment -> Pending Approval (without CD)
    Paid  -> Pending Fulfillment (with CD)

    0
  • Hi, the edited Shopify orders aren't syncing to NetSuite, even after trying the solution you mentioned in the article, such as syncing the modified Shopify sales orders. It still didn't work. However, when I manually ran the flow for that specific order, it worked, but we can't keep doing this manually every time.

    0
  • Hi Balendra,

    I am assuming that you are trying to sync the edited Shopify Order via the flow “Shopify order to NetSuite order (cash sale or sales order)” which is already scheduled from your end. 
    Please use the suggested setting : Filter orders by* setting, select Last updated time.
    You can find the setting beside the flow as shown below. In case you are still facing issue please raise a support ticket so that we can analyze the order further.

    Regards
    Nilesh

    0
  • Hi Nilesh.,

    Thank you.., i think i missed to select the Last update time.

    Next time will do that..,

    Thank you

    0

Please sign in to leave a comment.