ERPAG and Shopify integration

In order to enable ERPAG users to sell through Shopify services, ERPAG has enabled the connection between these two services using the API (Application Programming Interface).

By connecting ERPAG and Shopify, the user receives the following benefits:

1) Complete Inventory Management (Sales, Procurement, Stock Status, Production, Ordering, Packaging and Shipping) on the ERPAG page

2) ONLINE and POS sales from Shopify

3) Updating items in Shopify (sending from ERPAG)

4) Updating quantities (stock) in Shopify (sending from ERPAG)

5) Update items in ERPAG (download from Shopify)

6) Downloading Sales Order from Shopify in ERPAG

In the synchronization process, ERPAG relies solely on the SKU. So, if you already have items defined in Shopify, check that each product and its variation have a unique SKU number.

Preparing and setting up Shopify

The first step for successful linking is to define the API keys in Shopify. In the browser, open the page and log in using your Shopify account. Then click on the link "Manage private apps" as shown in the picture.

Enter the name of the Application (e.g. ERPAG) and enter your email address.

Scroll down to the bottom and in the Admin API section perform the settings as shown in the picture.

Note: In the case that the Admin API access settings are not set up correctly, ERPAG will check and tell you which permissions are not set correctly when connecting to your Shopify. In that case, it's enough to go back to the settings and in the Admin API section rectify the permissions.

Finally, save your changes.

When you finish saving your private application, Shopify will generate the API key and API password. Create a text file with the following information as you will need them to enter ERPAG:

1) API key

2) API password


Preparing and setting up ERPAG

In order for ERPAG to communicate with your Shopify store, the previously obtained API keys must be entered in ERPAG. Log into ERPAG using your ERPAG account and activate the "Web Shops" option from the "Sales" menu.

The next step is to open a new Web Shop.

In the following form, besides entering the Shopify API keys, you will make settings for the synchronization mode. How data synchronization will take place depends on your business process and varies from case to case. That's why we will explain each option in detail, and you will decide for yourself which model suits you the best.


The Warehouse field will only appear if more than one warehouse is defined in ERPAG. Choose the default warehouse.

Enter the name of your Shop in the Description field. This name will later be displayed through the synchronization process, and you will know which Shopify account you are synchronizing with.

In the Synchronized field, enter the starting date and time from which ERPAG will begin to download Sales Orders. Later, at each synchronization, ERPAG will correct this information on the date of the last Sales Order taken over.

In the Status field, you can turn on or temporarily turn off sync with Shopify.

In the Variable Products field, you can activate to work with the variations that are on your Shopify. Namely, if there are variations in your shop, it is desirable that this option is set to Active so that ERPAG will be able to download products with all variations. However, if you do not have variations on your shop, this option can remain Inactive. Some shops have installed plugins that, based on variations, allow you to define different prices for the same product. Since this is the case with the same product (and not the variation), this option should remain Inactive.

In the Update Qty to webshop box, select whether you want ERPAG to update the stock status in your shop.


Enter the API Key, the API Password, and the URL, and then press the VERIFY button to verify that the API data is entered correctly. When connecting to your Shopify, ERPAG will check whether you have correctly set up the permissions that you defined through the API Admin panel in Shopify (described in Preparing and Setting Shopify).


At the beginning of this blog, we said that ERPAG synchronizes with Shopify by searching products based on their SKU. When the SKUs are different, the following processes will be performed:

- In case the SKU exists in Shopify and does not exist in ERPAG, ERPAG will download and create a new Product in the Product and Services list;

- In case the SKU exists in ERPAG and does not exist in Shopify, ERPAG will create a new product in your Shopify,

Conflict resolver is essential in the situation where identical SKUs are found on both sides.

In the Product field, you can choose which side will win, or which data will be valid:

- ERPAG win - means that the product found in ERPAG will be considered valid and the product in Shopify will be overwritten with the one from ERPAG;

- Webshop win - means that the product that is in Shopify will be considered valid and the product in ERPAG will be overwritten with the one that is in Shopify.

In the Price field, you can choose which side will win as far as the selling price is concerned:

- ERPAG win - means that the selling price for the product found in ERPAG will be considered valid and the selling price for the same product in Shopify will be overwritten with the ERPAG price;

- Webshop win - means that the selling price for the product that is in Shopify will be considered valid and the selling price for the same product in ERPAG will be overwritten with the price from Shopify.

Panel – Relations between Shopify location and ERPAG warehouse

This panel will only appear when you have multi-location in your Shopify account. Then you can define a relationship between a single location in Shopify and a warehouse in ERPAG.

By defining these relations ERPAG will, when downloading Sales Order, create documents in the appropriate ERPAG warehouse, which means that all your sales from any Shopify location will be transferred to ERPAG in an exactly-defined warehouse. Also, if you have defined that ERPAG updates the amount of inventory, it will be in line with locations in Shopify.

When you have completed all the necessary settings (in the same way as the Shop specifically needs), you need to click on the SAVE button to record the changes.

Set up items for synchronization in ERPAG

ERPAG allows you to create and select the products you want to synchronize with your Shopify store. Creating products in ERPAG is already described on the following link and in this blog, we will only show details related to Shopify.

So enter the Products and Services list and activate the product you want to synchronize with your Shopify store.

From the drop-down list, select the webshop with which you want to synchronize (if you want, you can also select multiple webshops).

By choosing one or more web shops, a separate panel for each webshop will appear on the form.

In this panel, you can define all the parameters necessary for sending to Shopify. ERPAG will offer you some default values, but you can correct them at any time. The only information you can not select is SKU. This information must be identical on both sides so that the synchronization process can function at all.

Thus, the description, the product type (in ERPAG - product category), the vendor, the selling price, and the barcode may be different from that defined in ERPAG.

In the Sales channels field, you can choose whether the product will be sold only through the Online store or through the Online store and Point of Sale. Also, with the Charge taxes option, you define whether your online store will charge a tax. With the Inventory Policy option, you define whether Shopify will also keep quantity records and, finally, the Allow purchase option when it's out of stock option allows you to sell even if you do not have items in your stock.

In addition to the above-mentioned data from the webshop panel, ERPAG will also take the following data:

- Gross product weight,

- Unit of measure for the weight of product and

- The detailed description of the product

When the setting is complete, record the changes by pressing the Save button.

Product Synchronization

Once you've set up all the items you want to sync, you can synchronize the same data with your Shopify store. From the Product and Services list, click the Web Shops button and then the store with which you want to synchronize the data. Please note that ERPAG will synchronize all products that are defined for synchronization, not just those that you just entered or selected in the list.

The synchronization process takes place as follows:

1) ERPAG reads the product list you have in your webshop;

2) Comparison of items from Shopify list and ERPAG list based on SKU is performed -

a. In case that Shopify has an SKU that does not exist in ERPAG, a new article is inserted into ERPAG;

b. In case there is an SKU in ERPAG that does not exist in Shopify, a new item is added to Shopify;

c. In case there is a product with identical SKU on both sides, comparison of other data (name, price, properties, etc.) is made.

i. If data is identical, no synchronization is performed,

ii. If the data are not identical, the correction of the data is done based on the Conflict Resolver.

So in the event that ERPAG determines during data synchronization that data needs to be updated using Conflict resolver, you need to know the following:

1) If ERPAG wins - the information in Shopify will be corrected in accordance with the information defined in ERPAG,

2) If the Webshop wins - the data in ERPAG will be corrected according to the information defined in Shopify.

Also, ERPAG will adjust the price of products according to the configuration in Conflict resolver:

1) If ERPAG wins - the price at Shopify will be adjusted in accordance with the price defined in ERPAG,

2) If the Webshop wins - the price in ERPAG will be adjusted in accordance with the price defined in Shopify.

In addition to the above operations, ERPAG is also verifying the other parameters of a particular product such as Product with variations, Variant names, Variant values, Weight and Weight UOM. In case it is needed (on the Shopify page or on the ERPAG page), ERPAG will automatically create or correct the data in accordance with the Conflict resolver.

After synchronization is complete, refresh the list of products in Shopify where synchronized data will appear.

Sales Order Synchronization

Orders created in Shopify and having the status Completed can be downloaded into ERPAG while other Orders (or Order) with status Drafted are not downloadable. ERPAG will not download Orders automatically, you need to log into ERPAG, activate Sales menu and then select Sales Orders. Now from the Sales Order list, click the Synchronization button and select the web shop.

The process of synchronizing and downloading Sales Order runs as follows:

1) ERPAG downloads a list of all Shopify Orders that you created after the last synchronization date (reading the Synchronized date in the Setup Webshop);

2) Performs a check of products found in Shopify Orders and, if necessary, synchronizes products with ERPAG;

3) Performs customer check (by name) and if they do not exist, creates them in ERPAG;

4) Creates Sales Order in ERPAG and loads products with quantities and prices as they are in Shopify Orders regardless of the prices found in ERPAG.

In the case that the Orders created in Shopify do not have customer information (name, address, etc.), ERPAG will create a Sales Order where it will write Point of Sale in the name of the customer.

In the case that there are Orders in Shopify containing items that you have deleted in the meantime from the Shopify Product List, ERPAG will create a Sales Order with a Draft status because it is unable to determine the exact content of the Order. In this case, you need to activate the Sales Order and correct the content yourself, or to enter the correct products that should be in the Sales Order.

Last updated