Integration and synchronization

Integration and initial sync

Shopify integration with EasyERP is pretty simple and fast process. We`ve already covered this issue in Settings/Integrations, and it is strongly recommended to acknowledge yourself with that guide for seamless integration. Nevertheless here you`ll get further and way more complete informational coverage.

First you need to add private app in your Shopify back office to get API key and API password that are required when you add new channel into EasyERP.


  1. Log in to your Shopify Store;
  2. Navigate to Apps by clicking appropriate link in the left bottom corner of the page;
  3. Click Private apps button on the right top corner;
  4. Click Create private app button on the right top corner;
  5. Enter title for your private App;
  6. Select Read and write access for all items to work properly during synchronization;
  7. Click Save button.

And that’s all, it wasn`t hard, right? After saving the Shopify private app you will get API key, Password, Shared secret, URL format and Example URL. First two of them are required when you add Shopify channel on EasyERP.


Afterwards for connecting your shop with our platform you need to enter channel name, Base URL of your online store, API key and API password to your app from backoffice, select warehouse that will be used for imported data from Shopify, select location from that selected warehouse and finally choose what price list you will use for this shop. Then it checks if the URL is not in use already and if the connection is successful. And that’s all. Your Shopify store is ready for the synchronization. Do not worry if you have never before used any shopify integrations. This Shopify introduction will help you to get things done.

new shopify

Note: you can not add two channels for one and the same online Shopify store.

Shopify synchronization updates the information every 15 minutes on both sides, on Shopify store and on EasyERP. In case you would like to synchronize your store with EasyERP immediately then you just need to click Sync button and we will do all work for you. During this process the information transfers from EasyERP to Shopify first and then back to our platform. It uses the API from both platforms - Shopify store and EasyERP system. As was mentioned above EasyERP has higher priority and so it has upper hand when you start synchronization. The good practice is to prepare backup before each integration and data synchronization. And our recommendation is: do it always - every time when you start Shopify synchronization with EasyERP.

As you may have noticed we don’t have any Shopify app to install on Shopify App store, all Shopify integration and synchronization functionality is built into EasyERP system. You only need to perform some configurations on Shopify side by adding private app there. Everything is meant to minimize your manual work and increase automatization. In the next steps of this Shopify overview you will get more information about data exchange between Shopify and EasyERP because Shopify synchronization is powerful tool in EasyERP.

Below you can see what we do and do not support during integration and synchronization:

What we support

  • Multiple Shopify channels;
  • Order taxes;
  • Order discounts;
  • Creating records for guest checkout;
  • Order shipment status;
  • Publishing and unpublishing products on EasyERP;
  • Product updates from EasyERP;
  • Creating products on Shopify;
  • Two-way synchronization for products between EasyERP and Shopify.
  • Shipment types, it`s cost and import inot EasyERP;

What we do not support

  • Shopify webhooks (handling events that happen on a shop, for example, customer adds product to a cart or administrator creates new product in admin panel);
  • Uploading orders, customers from EasyERP to Shopify;
  • Order notes;
  • Taxes.

One more important thing that should be mentioned is the order of synchronization. It is next:

  1. Products from EasyERP to Shopify store;
  2. Inventory from EasyERP to Shopify store;
  3. Products from Shopify store to EasyERP;
  4. Customers from Shopify store to EasyERP;
  5. Orders from Shopify store to EasyERP.

As you may know Shopify ecommerce platform doesn’t support categories for products and invoices. All products are stored in one big category and payment is connected only with order and its paid status.

If there is undergoing synchronization at the moment when you click on Sync button then this synchronization which you`d want to start will be added to the queue.


You have 5 channels in your EasyERP - 5 different Shopify stores. A minute ago synchronization started and now channels from 3 to 5 are being synchronized. If you click Sync button your process will be added to the queue. When synchronization will be finished system will check if there are any other actions in the queue and will initiate synchronization that you`ve started manually. If synchronization for these 5 channels (stores) took 3 minutes, then in 3 minutes synchronization caused by clicking on Sync button will begin. If there was no process added to the queue then system will wait for another synchronization cycle to begin. Shopify synchronization starts automatically every 15 minutes.

You can try it yourself by registering trial account on Shopify and using our demo account on EasyERP. Before adding Shopify channel don’t forget to create private app in your Shopify store.

Let’s continue our Shopify integration overview. Now it is time to explain something about products “behaviour” during synchronization with Shopify.


Our ecommerce solution allows you have double-sided synchronization: from EasyERP to Shopify and backwards. If you create new products on Shopify then you can easily synchronize them with EasyERP, our automatic scheduler will do it in maximum 15 minutes. But we recommend to create products on EasyERP side first because it has higher priority.

As retailer you can manage multiple stores, buy products from different suppliers, store them in several warehouses on diverse locations and have different product types and products from any brands you`d like. All your products can be distributed geographically. The goal of this Shopify introduction is to help you with basics of Shopify integration and synchronization with EasyERP where you can manage all your products in one place. So you can forget about headache with handling huge amounts of information in different places.

When you create product on Shopify to avoid errors during synchronization you need to enter SKU. Our recommendation is to give good product names, SKU, descriptions and fill in other product properties when you initially create them on Shopify. It can save you time later during synchronization.

EasyERP has upper hand in synchronization process with Shopify. It means that at first all products with their data will be imported from EasyERP to Shopify store, and only then all data will be imported back from Shopify to EasyERP. That’s why managing all your data on our EasyERP platform is more preferable. When you have all product information up-to-date in one place it is easier to publish them on many channels.

Note: all your products data on Shopify will be rewritten during synchronization.

As we mentioned earlier in this Shopify introduction & overview don’t forget to prepare backup of your Shopify data before integration and synchronization with EasyERP. You don’t want to lose information about all products, right? So just follow this simple rule.

We have two-way Shopify synchronization for products with higher priority of EasyERP. This process consist of 2 steps. First step is uploading data from EasyERP to Shopify. It means that we update products data on Shopify from our EasyERP platform if they have the same product name or SKU. Let’s have a look at the next example.


We have one product T-Shirt on EasyERP and Shopify. It was edited on both sides. Before editing product attributes were identical on both platforms, as you can see it on Before editing table.

Before editing:

Product attribute Data on EasyERP Data on Shopify Are attributes similar?
Product title T-shirt T-shirt Yes
Product type T-shirt T-shirt Yes
Price $20 $20 Yes
Material Yes
Weight, g Yes

During editing process on EasyERP these changes were made: product title “T-Shirt” changed to “T-Shirt Longsleeve”, price from $20 to $18, SKU from “NKTS” to “NKTL” and ISBN field was filled with this number “1-56619-909-3”.

On Shopify store side following changes were made: entered material attribute as “Textile” and weight attribute was set to 200 grams.

How information was presented before synchronization you can see below in “Before synchronization” table:

Before synchronization:

Product attribute Data on EasyERP Data on Shopify Were attributes similar?
Product title T-Shirt Longsleeve T-Shirt No
Product type T-Shirt T-Shirt Yes
Price $18 $20 No
ISBN 1-56619-909-3 No
Material Textile No
Weight, g 200 No

At the first step of synchronizing all product data is transferred from EasyERP to Shopify store, as EasyERP has the upper hand. So product title on Shopify will be changed from “T-Shirt” to “T-Shirt Longsleeve”, price - from $20 will be changed to $18, SKU - from “NKTS” to “NKTL”, ISBN attribute will be recorded as “1-56619-909”, accordingly. Material and Weight attributes will not be touched, their values will be kept the same and not overwritten by empty string. In the table below you can see how all data after the first step of synchronizing with Shopify will be presented.

Synchronization, step 1, import data from EasyERP to Shopify

Product attribute Data on EasyERP   EasyERP →  Shopify Data on Shopify Are attributes similar?
Product title T-Shirt Longsleeve T-Shirt Longsleeve Yes
Product type T-Shirt T-Shirt Yes
Price $18 $18 Yes
ISBN 1-56619-909-3 1-56619-909-3 Yes
Material Textile No
Weight, g 200 No

In the second and the last step of synchronizing product data is transferred from Shopify store to EasyERP. Attributes that have same value on Shopify and EasyERP will not be touched. So only Material attributes as “Textile” and “Weight” will be recorded into EasyERP. In the table below you can see results after the second step of synchronization:

Synchronization, step 2, import data from Shopify to EasyERP

Product attribute Data on EasyERP EasyERP ← Shopify Data on Shopify Is the attribute the same?
Product title T-Shirt Longsleeve T-Shirt Longsleeve Yes
Product type T-Shirt T-Shirt Yes
Price $18 $18 Yes
ISBN 1-56619-909-3 1-56619-909-3 Yes
Material Textil Textil Yes
Weight, g 200 200 Yes

Now after these two steps of Shopify synchronization with EasyERP our product attributes will look as shown in the following table:

After synchronization

Product attribute Data on EasyERP Data on Shopify Is the attribute the same?
Product title T-Shirt Longsleeve T-Shirt Longsleeve Yes
Product type T-Shirt T-Shirt Yes
Price $18 $18 Yes
ISBN 1-56619-909-3 1-56619-909-3 Yes
Material Textil Textil Yes
Weight, g 200 200 Yes

Publishing and Unpublishing

What is the purpose of publishing products? The goal of publishing is to make products from one channel available on another one. For example, you want to have products available for purchase on one extra shop to make the variety of products more wide. Or you have one Shopify store and you want all products available as well on new Magento store that you have launched recently. Or, maybe, you want to move from one ecommerce platform to another one. There can be a lot of reasons for using product publishing.

When you publish product from EasyERP on Shopify it becomes available on your Shopify store immediately. The same happens when you unpublish product from channel - it will be removed from Shopify store instantly. To publish product into Shopify store you need to select channel and price list that will be used for this product.

Note: When you publish product from EasyERP to Shopify only product is exported, inventory will not be exported from EasyERP to Shopify during publishing. Inventory will be dispatched during the closest synchronization that can be initialized maximum in 15 minutes, or you can manually initialize it by clicking on Sync button.

There is not much to explain about publishing and unpublishing. The one thing you have to remember about this functionality, in Shopify case, is that it serves for the next goal - adding new products from EasyERP to Shopify and removing existing ones from Shopify using EasyERP ecommerce solution.

Unlinked status

During publishing and unpublishing products situation when your products or orders become unlinked or conflicted can happen. It may happen because of such reasons.

  1. Product has no SKU (unlinked product);
  2. Product from order was removed from Shopify and is not existing on EasyERP (unlinked order);
  3. Product has same name or SKU on both sides (conflicted product).

1. If you have created product on Shopify store side without SKU because it is not mandatory field there then order with this non-SKU product will be marked as “unlinked”. To handle this situation you just need to navigate to Integration section in Settings on EasyERP where you can see detailed information about every product with unlinked status and solve it manually. To solve this possible issues you just need manually add product title or SKU on EasyERP side and save it. Second case is possible if user have purchased the order on Shopify storefront, then product was removed from Shopify store and this product does not exist in EasyERP. To solve this issue we need to create product in EasyERP, because during first step of synchronization we can’t export not existing product to Shopify and then import deleted product to EasyERP. There’s no product data to do so. Product information is in order only. To solve this it is required to create non existing product in EasyERP. No need to worry if you faced unlinked products and orders during synchronization. The aim of Shopify overview is to assist you with the issues that you can meet while working with Shopify and EasyERP.

Note: to avoid errors during synchronization please add SKU on Shopify store when you create new products there. The best practice is to add products first on EasyERP side with setting SKU attribute.

Inventory syncing

Inventory is imported right after the products during synchronization. So all your stock levels will be updated too. As was mentioned above synchronization starts from EasyERP side and goes to Shopify store overwriting the product data there. So if you have all data up-to-date on EasyERP side then you will have it after synchronization on Shopify store. But if you will update the data on Shopify store then all this information will be replaced with data from EasyERP because it has higher priority. It makes no sense to fill the information about your products on Shopify because it will be overwritten every 15 minutes or even faster when starts automatic synchronization.

Good practise is to manage inventory on EasyERP side, as it ensures that all your data will be properly kept and correctly dispersed between all connected platforms. It also simplifies managing your products, orders, customers, invoices etc., because it is much more pleasant to deal with all this amount of information from one place, than have it shuttered all over other shops and platforms, isnt`s it?

Customers syncing

After importing products to EasyERP from Shopify we import the customers from Shopify and store them on EasyERP platform in CRM/Persons or Companies. All your customers will be imported to EasyERP: old, new and guest customers. If customer has registered on Shopify store without proceeding checkout then he will be imported too. So there’s no difference between customers with or without orders, everyone will be stored on EasyERP. It is only one-direction process - from Shopify store to EasyERP system. There’s no possibility to import customers from EasyERP to Shopify store if you have created them manually on EasyERP. Keep it in mind though because it is theoretically possible.

Customers can create their account only on your Shopify storefront. The unique field for customers is email. Having two John Smiths on Shopify with different emails means both of them will be stored on EasyERP side. So if you see two records with the same full names don’t become frustrated please check the emails.

Orders and taxes syncing

After synchronizing products and importing customers into EasyERP begins the import of orders from Shopify. All orders purchased on your Shopify store will be recorded in EasyERP. We don’t create invoices and payments automatically when order is paid on Shopify. During synchronization we import only taxes that are included into order.

Note: if you have tax list that is used among different order types or if you have online Shopify stores in different countries then this tax list will not be imported. You need add taxes manually in EasyERP.

Automatic creation of payment will be implemented in the future version of EasyERP.


All product images are synchronized from Shopify to EasyERP and backwards. You can add different images as variants, for example, packed product, left and right side, bottom and top, rear and front and so on. If your store has clothes then you can publish images where models are wearing it and pictures are made from different places. When you add images you can crop it with square shape, there’s no ability to zoom in or zoom out it when you upload. We recommend to use pictures with square shape initially so you are sure that whole images will be stored on EasyERP side and some part will not be cropped.