You can sync order fulfillment and other information (such as package numbers, tracking details, and line items in the particular fulfillment) from Shopify to NetSuite. The “Shopify fulfillment to NetSuite item fulfillment” flow gets the order fulfillment information from Shopify and creates an item fulfillment record in NetSuite for the sales order. The flow retrieves orders whose fulfillment status has been changed to “partially fulfilled” or “fulfilled” in NetSuite since the last flow run.
For each unique fulfillment ID, an item fulfillment record is created in NetSuite against the sales order that matches the Shopify order ID. As it is a scheduled flow, the flow fetches the historical transactions based on the start date.
Important
Prerequisite: If you want to fulfill Kit Items through the Shopify–NetSuite fulfillment flow, ensure that the Assembly Items feature is enabled in your NetSuite account.
Path: Setup > Company > Enable Features > Items & Inventory > Inventory tab If this feature is not enabled, NetSuite will not expose the “MemberLine” field (used to identify component/member items of an Assembly/BOM). As a result, you will run into the following error:
An nlobjSearchColumn contains an invalid column, or is not in proper syntax: memberline
Without Assemblies, NetSuite doesn’t have the concept of “members,” so the MemberLine field cannot be used in the flow. Enable the Assembly Items feature to avoid this error.
You can use this flow to sync the below orders:
-
Buy online, pick up in-store : When buyer picks-up order from POS location and so the order is marked as fulfilled in Shopify.
-
Shopify integrated with 3PL (third party logistics) app : If you are a Shopify merchant integrated with any 3PL (third party logistics) app, the flow lets you manage your fulfillment in NetSuite. The 3PL marks the order in Shopify as Fulfilled.
Important
Important :
-
This flow:
-
Is available only in the premium edition of the integration app.
-
Syncs partial and full fulfillment.
-
Ignores the fulfillment records that are created in NetSuite and synced to Shopify using the “NetSuite Fulfillment to Shopify Fulfillment Add” flow.
-
Does not support updating the existing fulfillment records.
-
-
For a single order, you can either use the “Shopify fulfillment to NetSuite item fulfillment” flow or the “NetSuite Fulfillment to Shopify Fulfillment Add” flow to sync the fulfillment.
The flow supports to sync the following NetSuite item types:
-
Inventory items
-
Matrix items
-
Item aliases
-
Serialized items
-
Lot Numbered items
Before the fulfillment is synced to NetSuite, the flow validates the following:
-
If the sales order already exists in NetSuite.
-
If a fulfillment record already exists for the sales order.
-
If the sales order has the required quantity open to fulfill the order.
Note
Note : If there are multiple fulfillment records for an order, the flow sums up the records and calculates the remaining quantity that needs to be fulfilled.
-
If a particular line item is not found on the sales order.
-
If an order is partially fulfilled in Shopify, the same reflects in NetSuite.
In the Settings > General section, if you check the Auto-assign inventory detail for NetSuite items checkbox, the fulfillment flow also auto assigns the inventory details and inventory status for the NetSuite items. The flow:
-
Assigns inventory details to details are allocated based on the:
-
Serialized numbers that are created first or
-
Lot item numbers that are nearing expiry or the ones created first if the expiry date is unavailable.
-
-
Assigns the bin numbers to inventory items for which the bin option is selected.
-
Assigns inventory status to inventory items using a sub-record .
Prerequisite: New permission “Read & write fulfillment orders” is added to the Shopify App “NetSuite SmartConnector” to get fulfillment information for the Shopify POS pro orders. The existing users have to re-authorize their Shopify connection from the integration app.
-
Login to your integrator.io account.
-
Click Shopify - NetSuite integration app.
-
Click Flows .
-
Enable the “Shopify fulfillment to NetSuite item fulfillment” flow.
-
Configure the following mapping for location and:
Export Field (HTTP)
Import Field (NetSuite)
location_id
Note
Add a 1:1 lookup mapping to assign inventory detail for the particular line item.
Items : Location (InternalId)
-
Enable and run the “Shopify fulfillment to NetSuite item fulfillment” flow.
Find your fulfillment record in NetSuite
After you run the “Shopify fulfillment to NetSuite item fulfillment” flow, an item fulfillment record is created in NetSuite.
-
In NetSuite, search for the appropriate sales order.
-
On the sales order, go to the History tab > Fulfillment & Invoices sub-tab.
-
You can find the item fulfillment record linked to the sales order
-
Item Fulfillment record is in the “Shipped” status.
-
To differentiate the fulfillment records with the already existing “NetSuite Fulfillment to Shopify Fulfillment Add” flow records, on the newly created item fulfillment record, in the eTail tab, the Etail Order Fulfillment Exported checkbox is checked.
-
In Shopify, if you order has multiple tracking numbers, they are listed as individual line items in the “Item Shipment” record (Packages tab) in NetSuite
The recommended mappings unlock Celigo’s optimized import process for fulfillments, allowing the integration app to process high volumes more efficiently during peak.
In the Shopify fulfillment to NetSuite item fulfillment flow > Post order fulfillment to NetSuite import:
-
In the Destination record field (NetSuite), paste celigo_nlobjTransformId_salesorder, for sales order.
Important
For cash sale, paste celigo_nlobjTransformId_cashSale.
-
Click Settings.
-
In the Field mapping type setting, select Lookup.
-
In the Options field, select Dynamic: NetSuite search.
-
In the Search record type field, select Sales Order. For a cash sale, select Cash Sale.
-
Click Add filter to create a lookup filter expression: ["custbody_celigo_etail_order_id","is","{{{order_id}}}"]
-
From the fields dropdown, select etail_order_id.
-
Set the operator as is.
-
From the value field dropdown, select internal id.
-
-
In the Name field, provide a lookup name as required.
-
In the Action to take if unique match not found field, select Use null as default value.
-
Click Save & close.
In short, setting up these mappings ensures your fulfillments sync more quickly, reliably, and resource-efficiently during high demand.