Setting up Shopify on ERPNext
Setting up Shopify on ERPNext requires the creation of a private app in
Shopify and obtaining the necessary credentials from the app, including
the Access Token and API secret key. To initiate the setup process,
navigate to the Shopify Settings within ERPNext.
Settings Steps
-
Shop URL: This is your Shopify store URL.
-
Password / Access Token: This is the Access Token that you get while creating a private app in your Shopify Store.
-
Shared secret / API Secret: This is the API Secret Key that you get while creating a private app in your Shopify Store.
-
Default Customer: If Shopify does not have a customer in the order, then while syncing the orders, the system will consider the default customer for the order.
-
Customer Group: You can either choose the customer group from the options or create a new customer group with your requirements.
-
The company, Cost Center, Cash/Bank Account: Choose from the existing options or create a new one based on your requirements.
-
Sales Order Series: Select the naming series for your sales order.
-
Import Delivery Notes from Shopify on Shipment: By enabling this option in the Order Sync Settings configuration you can get the delivery notes for your sales order.
-
Import Sales Invoice from Shopify if Payment is marked: By enabling this option in the Order Sync Settings configuration you can get the sales invoice for your sales order.
-
Add Shipping Charge as an Item in Order: By enabling this option in the Order Sync Settings configuration you can add shipping charges for your sales order.
-
Consolidate Taxes in Order: By default, tax rows are added per item, enabling this option in the Order Sync Settings configuration will consolidate them.
-
Shopify Tax Account: Prepare tax and shipping charges mapper for each tax and shipping charge you apply in Shopify, like (IGST, CGST, SGST, and Standard) Without this tax mapper, you can’t get your sales order in ERPNext from Shopify.
-
Upload new ERPNext Items to Shopify: By enabling this option in ERPNext to Shopify Sync you can upload your ERPNext item to Shopify.
-
Update Shopify Item after updating ERPNext item: By enabling this option in ERPNext to Shopify Sync you can update your ERPNext item in Shopify.
-
Sync New Items as Active: By enabling this option in ERPNext to Shopify Sync you can create your item as active status in Shopify.
-
Upload ERPNext Variants as Shopify Items: By enabling this option in ERPNext to Shopify Sync you can create your variants as items in Shopify.
-
Default warehouse: If individual warehouses are not mapped, the default warehouse is considered for transactions.
-
Update ERPNext stock levels to Shopify: By enabling this option in Inventory Sync you can update your ERPNext stock level in Shopify.
-
Inventory Sync Frequency: You can choose the frequency when will your stock level updated in Shopify. This process is done by a scheduled job.
-
Shopify Warehouse Mapping: This Inventory levels of ERPNext warehouses are mapped with Shopify locations.
-
Sync Old Orders: By enabling this option in Sync Old Orders you can get the sales order. This process will happen in the background and can take a few hours to get the orders.
-
Enable Shopify: By enabling this only the system registers webhooks and sync data between Shopify to ERPNext.
ERPNext to Shopify
When creating an Item in ERPNext, it automatically syncs and generates a corresponding Product in Shopify. Furthermore, any updates made to an Item in ERPNext will also be reflected in the associated Product in Shopify. To create a new Item, navigate to the item list page in ERPNext and complete the necessary fields that will populate the corresponding fields in Shopify.
-
Item code: This is the unique name for the item which is populated as SKU(Stock Keeping Unit) while creating an item in Shopify.
-
Item Name: This is the name for the Item which is shown for the Customer and populated as Title while creating an item in Shopify.
-
Item Group: Choose the Item group from Consumable, Products, Raw Material, Service, or All Item Groups based on your Item, which is populated as Product Type while creating an item in Shopify.
-
Opening Stock: This is the inventory status of the Item, especially in the default warehouse which you mentioned in Shopify Settings. While creating an item the opening stock can’t populate in Shopify. It populates based on the sync frequency which you mentioned in the “Shopify Settings” Inventory Sync configuration.
-
Valuation Rate: This is the cost you paid for the item which is populated as Price while creating an item in Shopify.
-
Shopify Selling Rate: This is the cost you get for that item after you sell it, which is populated as Compared at Price while creating an item in Shopify.
-
Description: This is the description of the item which is populated as Description while creating an item in Shopify. If the description field is empty in ERPNext, it takes the item name as the description by default.
-
Weight Per Unit: This is the weight of the item which is populated as Weight while creating an item in Shopify.
-
Weight UOM: This is the weight unit of the item which is populated as Weight UOM while creating an item in Shopify.
-
Image: This is the image of the item which is populated as an Image while updating an item in Shopify.
-
Has Variants: By enabling this option you can create variants for this particular item by selecting attributes. If the item has variants it won’t takes the stock level and item price.
Note: Updates to existing items (updates) from ERPNext to Shopify is based on whether you enabled the “ERPNext to Shopify Sync” configuration in the "Shopify Settings" in the ERPNext.
Shopify to ERPNext
To sync your Shopify items with ERPNext, you can click the "Import Products" button found on the "Shopify Settings" doctype. This action will take you to the Shopify Import Product page, where you will be able to view the items created in both ERPNext and Shopify. By clicking the "Sync" action, your Shopify items will be populated in ERPNext.
During the syncing process, various item details such as item code, item name, item group, stock level, valuation rate, Shopify selling rate, description, weight per unit, weight UOM, and image will be uploaded. However, it's important to note that once an item is synced with ERPNext, the data cannot be updated.
In the case of Shopify items with variants, a single item will be created in ERPNext using the base item as a template. The variant item will then have its item code, item name, item group, stock level, valuation rate, Shopify selling rate, description, weight per unit, weight UOM, and image uploaded accordingly.
Sync Sales Order
If you create orders in your Shopify store, those orders will be
automatically populated as sales orders in ERPNext. This synchronization
process is facilitated by a scheduled job, which may take a few hours
to retrieve the orders from Shopify. By enabling the "Sync Old Orders"
configuration, the integration will pull orders from Shopify and
generate corresponding sales orders in ERPNext.
Payment Status
-
Payment Pending: If the customer doesn’t pay and creates the Shopify order, the order will be in Payment Pending status, and the sales order in ERPNext will be in the To Deliver and Bill status. This order doesn’t have a Sales Invoice or Delivery Note.
-
Paid: If the customer paid and created the Shopify order, the order will be in Paid Status, and the sales order in ERPNext will be in the To Deliver status. This order will have a Sales Invoice, but not a Delivery Note.
-
Voided: If the customer cancels the Shopify order before paying, the order will be in Voided status, and the sales order in ERPNext will be in the Cancelled status. Because this order doesn’t have a Sales Invoice or a Delivery Note.
-
Refunded: If the customer cancels the Shopify order after paying, the order will be in Refunded status, and the sales order in ERPNext will be in the To Deliver status. Because this order has a Sales Invoice. If the sales order has a sales Invoice you can’t change the sales order status as Cancelled but inside the Sales Order the Shopify Order Status will be marked as Refunded.
Fulfillment Status
-
Fulfilled: If the Shopify order is in Paid and Fulfilled status, the sales order in ERPNext will be in the Completed status. This order will have both a Sales Invoice and Delivery Note.