Shopify Integration

The Shopify Connector pulls the orders from Shopify and creates a Sales Order against them in TechoERP

While creating the sales order if a Customer or Item is missing in TechoERP the system will create a new Customer/Item by pulling respective details from Shopify.

How to Setup Connector?

Shopify Connector is moved out from TechoERP and available through a Frappe App on Frappe Cloud Marketplace

Note to users of old Shopify Connector

If you have not set up Shopify Connector on your TechoERP site you can proceed to the next step.

If you are using the old Shopify integration that's provided in TechoERP then you will have to disable the connector before proceeding. After installing the app, it will migrate existing data e.g. unique product_id for items to separate doctype. Once you are done configuring new integration, you can confirm the status of migration by going to "Ecommerce Integration Log" doctype.

App Installation

  1. If you are hosting your TechoERP site on Frappe Cloud, you can quickly install the app by going to your site Dashboard. The app is available in Frappe Cloud Marketplace
  2. If your site is hosted by Frappe, please raise a support ticket to get the app installed on your site.
  3. If you are self hosting TechoERP you can install the app using Frappe bench. Refer bench documentation for installing Frappe Apps. bench get-app ecommerce_integrations --branch main

The repository for app is hosted on GitHub: http://github.com/frappe/ecommerce_integrations/

Create A Custom App in Shopify

  1. Click on Apps in menu bar Menu Section
  2. Click on Develop apps for your store to create custom app new app
  3. Create New app 
  4. Fill up the details and create app. The each app has its own API key, Password and Shared secret 
  5. Allow following permissions to the app.
  6. Draft Orders - Read and Write
  7. Orders - Read and Write
  8. Location - Read
  9. Customers - Read
  10. Assigned fulfillment orders - Read and Write
  11. Products - Read and Write
  12. Product listings - Read and Write
  13. Inventory - Read and Write
  14. your final admin scopes should look like this:
  15. Install the app on your site 

Setting Up Shopify on TechoERP:-

Once you have created a Private App on Shopify, set up App Credentials and other details in Shopify Settings in TechoERP.

To access Shopify Settings, go to: Awesome search bar > Shopify Setting

  1. Fill-up Shopify site URL, Access Token and API Secret from Shopify's Private App.  
  2. Setup Customer, Company and Inventory configurations.
  3. Shopify setting page
  4. Setup Sync Configurations. The system pulls Orders from Shopify and creates Sales Order in TechoERP. You can configure TechoERP system to capture payment and fulfilments against orders. Shopify sync config for orders
  5. Setup Tax Mapper. Prepare tax and shipping charges mapper for each tax and shipping charge you apply in Shopify. You can find name of your taxes from your Shopify Admin page. Shopify tax mapping Finding Shopify Tax names

After setting up all the configurations, enable the Shopify sync and save the settings. This will register the API's to Shopify and the system will start Order sync between Shopify and TechoERP.

Syncing Old Orders From Shopify

Once you are done with the Shopify configuration and have enabled Shopify Syncing, you also get a provision to sync your old orders from Shopify into TechoERP. This syncing will happen in background and can take few hours depending on number of orders you have.

  1. Enable "Sync Old Shopify Orders"
  2. Enter the From and To dates between which the orders need to be synced shopify sync old orders

Inventory Sync

You can update your inventory with Shopify for items that are synced from Shopify. Inventory sync is done every hour with a scheduled job. Inventory levels of items that have changed since last sync are pushed to Shopify. Inventory levels of TechoERP warehouses are mapped 1 to 1 with Shopify locations.

  1. To enable inventory sync click on the checkbox, this will show you a table to map TechoERP warehouse with Shopify Location.
  2. Select sync frequency. 30 to 60 minutes is recommended frequency.
  3. Click on "Fetch Shopify Locations" button to populate Shopify locations in the table.
  4. Link each location with TechoERP warehouse.
  5. Save the settings.

Inventory sync with shopify

Note: This connector assumes that TechoERP is main source of information about inventory levels, any changes done to Shopify inventory levels will be overwritten by TechoERP if TechoERP inventory levels change.

Note: Shopify does not support fractional quantity. If fractional quantity is found in TechoERP, the inventory level on Shopify will be set by rounding it down to nearest whole number.

Item Sync

You can enable sync of new TechoERP items to Shopify by checking "Upload new TechoERP items to Shopify".

You can also update Shopify item upon updating TechoERP item.

Following fields are uploaded / updated:

TechoERP FieldShopify Field

Item Name

Title

Item Code

SKU

Description body

Description

Item Group

Product Type

Weight per Unit

Weight

Weight UOM

Weight UOM

By default, all items are marked as Draft on Shopify and not published in any store.

The purpose of providing this functionality is to sync items with Shopify. It's not possible to map every field 1-to-1. Upon creation of an item on Shopify using this method, it's linked with TechoERP, this eliminates the possibility of duplication. You can modify items on Shopify later to add more details.

Note: This feature is not supported in data import or for variant / template items.

Cancellation of Orders

This connector handles various cancellation scenario in following manner:

  1. If Order on Shopify is cancelled and it doesn't have invoice or Delivery note linked against it then TechoERP Sales Order is cancelled.
  2. If TechoERP Sales Order does have any linked document, then status of order on Shopify is added to the respective document. Cancellation and preparation of appropriate documents has to be done by user based on this information.