EZ Fulfill Documentation

Knowledge Base

Quick Start Video

Getting Started

EZ Fulfill supports fulfilling your orders via manual file upload or automatically via an FTP/SFTP feed.

The following formats are supports: CSV, TXT, TSV

CSV files must contain a header row as that will be used for the data mapping.

The only fields required are:

  • the default location field
  • the order number field (you can map by Shopify's order ID or by the Order name/number).

Manual File Upload

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

Step 1 - Create a Data Feed

Create New Data Feed

Step 2 - Specify the Field Mappings

Here you can map your fields from your CSV file and set up your configuration and defaults.

Create Data Mapping

Click the Tracking tab to map your tracking numbers. By default the Allow blank tracking number option is enabled which means you don't have to add your tracking details. We highly recommend proving the tracking number, company and tracking URL

Map Tracking Data

Lastly, you can fulfill your orders by the product SKU and quantity. This allows you to partially fulfill your orders and create multiple fulfillments on your order. To do this click the Product tab. From here you can map the columns in your file to the product SKU and product quantity fields. If you do not want to fulfill your orders by the Product SKU, just leave CSV Column Header Name fields blank.

Map Product Data

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

Manually Upload and Fulfill

Step 4 - Upload your Fulfillment File and Start the Sync

Start Fulfillment Process


Many suppliers use an FTP or SFTP server to provide access to their fulfillment 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.

FTP/SFTP Configuration

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:

/fulfillments/my_fulfillment_feed_{{ YYYY }}{{ MM }}{{ DD }}.csv

or like this:

/fulfillments/feeds/{{ YYYY }}/{{ MM }}/{{ DD }}/daily_feed.csv

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


You can also setup post processing for your file once it's been processed. You may select the Do Nothing to File option which will leave your file intact. You can do this if you want to override your file before the next scheduled run. If you do select the Do Nothing to File post process option the file will be picked up at the next run even if you do not override it.

If you want have your file moved or renamed after the file is processed you can do so by selecting the Rename Processed File post process option.

Rename Processed File

This will call the FTP Rename command after your file has been processed.

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

/fulfillments/processed_feed_{{ YYYY }}{{ MM }}{{ DD }}.csv

or you can use a timestamp like this:

/fulfillments/processed_feed_{{ TIMESTAMP }}.csv

You can also reference the file name if you want. Do note that the FILENAME variable will keep the extension as well:

/fulfillments/processed_{{ FILENAME }}_{{ TIMESTAMP }}.csv

In addition to scheduling the fulfillment 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.

Manually Run Feed

Automation and Scheduling

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

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).

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 Fulfill will automatically detect the delimiter being used by the CSV file so you don't need to specify this option anywhere.