EZ Inventory Documentation

Knowledge Base


EZ Inventory supports updating inventory via manual file upload or automatically via an FTP/SFTP/Web feed.

The following data formats are supported: CSV/TSV/TXT, Excel (XLS and XLSX), JSON, and XML.

The only fields required are:

  • the variant identifier field (such as the SKU, Barcode, or Variant ID)
  • the inventory quantity field


How do you count the number of variants for the different subscription plans?

The variant count is based on the total number of variants in your Shopify store (including those in Draft or Archived status). You can update all of them as many times as you need. So if you have 8,000 variants in your store, you'll need to select the Professional Plan and there's no limit on the number of times you can update those variants.

The inventory feed can have more items than exist in your Shopify store and we don't count them against the variant limit (though our app will only process up to 200,000 max items from the inventory feed).

How fast can you update my inventory?

Regular Shopify stores can expect roughly 5,000 total variant updates per hour.

Shopify Plus stores can expect roughly 10,000 total variant updates per hour as Plus stores have a higher API rate limit.

Note that if you have multiple Data Feeds/inventory update tasks running at the same time, this will slow down the update for all of them due to Shopify API rate limit (i.e. if you have 2 big updates running at the same time, each one will take roughly twice as long to complete vs running them one at a time).

Can you create/import new products in Shopify or update other product/variant attributes?

Our app is designed only for updating the available inventory quantity of products/variants that already exist in Shopify. It won't be able to create new products in Shopify or update other attributes.


Manual File Upload

A quick way to get started is by manually uploading a CSV file.

Step 1 - Create a Data Feed

EZ Inventory Shopify App - Create Data Feed

Step 2 - Specify the Field Mappings

EZ Inventory Shopify Inventory Management - Data Feed Field Mappings

Step 3 - Click the "Upload File & Run" Action

Step 4 - Upload your Inventory File and Start the Sync


Many suppliers use an FTP or SFTP server to provide access to their inventory feeds. If your supplier provides you an option to use either FTP or SFTP, we recommend that you choose the SFTP option as it provides more security.

Just as shown in the Manual File Upload section above, simply create a new Data Feed and specify the field mappings.

Then under the Source File section, select either FTP or SFTP in the dropdown and you'll be provided with additional options to enter the server's information and login credentials.

EZ Inventory - Source File Options

By default, the port number that will be used for FTP connections is port 21 and port 22 for SFTP connections. These are the standard ports for these services/protocols. In case the FTP/SFTP server uses a non-standard port, you can simply append a colon with the port number to the host address like this:


You can also use an IP address like this:

For the file path, you can use date variables which is based on the current date like this:

/feeds/stock_{{ YYYY }}{{ MM }}{{ DD }}.csv

or like this:

/feed/stock/{{ YYYY }}/{{ MM }}/{{ DD }}/stock.csv

When selecting FTP or SFTP, you will also see an option to schedule the inventory updates. You can choose from Every 1 Hour, Every 2 Hours, Every 3 Hours, Every 4 Hours, Every 6 Hours, or Daily.

In addition to scheduling the inventory sync to run automatically, you can also run it on demand at any time by clicking the "Run" button in the main Data Feeds page.


You can also pull your inventory data feeds from a web server. Simply copy and paste the URL and our app will take care of the rest. If the website uses basic authentication, you can specify the username and password also (please note that we don't support logins via a web form).

EZ Inventory Shopify App - Web Data Feeds

It's also possible to use third-party services such as Dropbox, Google Drive, or Amazon S3 by sharing the file and copying and pasting the shared link in the Website URL field.

You can also use date variables in the URL which will dynamically be converted based on the current date. For example, something like:

https://mysite.com/inventory/feeds/stock_{{ YYYY }}{{ MM }}{{ DD}}.csv

will be converted to:


Automation and Scheduling

If your supplier uses an FTP or SFTP server, EZ Inventory can be configured to automatically pull the inventory file from their server and update your Shopify inventory.

We currently support the following schedules:

  • Every 1 Hour
  • Every 2 Hours
  • Every 3 Hours
  • Every 4 Hours
  • Every 6 Hours
  • Daily (you specify the time)

Note that due to Shopify API limits, we can only update roughly 1-2 variants per second. Our system will automatically stop the sync process if it's running for more than a certain amount of time (e.g. if the schedule is set to run "Every 1 Hour," the maximum run time for that task is 1 hour).

Filtering the Feed Data

EZ Inventory supports filtering the feed data using a set of different conditions. You can specify whether all of the conditions should match or just any of the conditions.

You can use date variables like {{ YYYY }}-{{ MM }}-{{ DD }} as well which would be converted to the current date.

EZ Inventory Shopify App - Inventory Sync - Data Feed Filters

CSV File Format

The CSV file must contain a header row and the file extension can be anything (e.g. .csv, .txt, .tsv, .123, .abc) or no file extension at all.

We support the following data separators/delimiters:

  • comma (",")
  • tab ("____")
  • semicolon (";")
  • pipe or vertical bar ("|")
  • caret ("^")

EZ Inventory will automatically detect the delimiter being used by the CSV file so you don't need to specify this option anywhere.

Excel File Format

Our app can read both old Excel XLS format and the newer XLSX format. The only requirement is the first row in the Excel file must be the header row.

You'll need to specify the Excel Sheet Name to use as well, which we default to "Sheet1" as this is the common default in many spreadsheet applications.

XML File Format

Our app can read XML data and it can either be an actual file or a website URL that displays the live inventory feed.

When using XML, you'll need to specify the "Product Element," which is the element in the XML that contains the product data. Click here for more info.

JSON File Format

Our app can read JSON data and it can either be an actual file or a website URL that displays the live inventory feed.

When using JSON, you'll need to specify the "Product List Key," which is the attribute/key that contains the list/array of product data. Click here for more info.