Importing Products from CSV

Easy Digital Downloads has the ability to import products via a CSV format, either from a from another store or import new products in bulk. If you are importing products from another store, see our export guide here.

Product importing is done under Downloads → Tools → Import/Export. On this page you'll find a box labelled Import Download Products.

Importing New Products In Bulk

You can import new products to your store in bulk via CSV. It's recommended you test the import process with one or two products before importing a large number. Also the process is easier if you keep your file names consistent with your product name to make providing file paths as simple as possible. See the steps below to import a large number of products:
  1. Upload your Featured Images to your Wordpress site's media directory. You can skip this step if you are not using Feature Images.
  2. Upload the Downloadable files:
    1. If storing files in Wordpress, upload to the EDD directory (uploads > EDD). You'll need to upload via FTP because you won't see this folder via the WordPress media uploader.
    2. If storing on Amazon S3 or Dropbox, it's best to upload directly to Amazon or Dropbox. The file path is not the same as Amazon's S3 or Dropbox's file path, so we recommend manually creating a Download, "Upload a File" and add a file from your Amazon bucket. Use that file path as a template for Download path in the next step.
  3. Setup your CSV file with the products you want to import, see below for details. Insert the Featured Image URL and Download path to the CSV (obtained in the steps above). For an example CSV file, make sure your store contains at least one Download and download a CSV of download products from your store. See our export guide here.

CSV Format

Your CSV should be comma separated, with fields enclosed by double quotes. The order of the fields is not important, as you'll be mapping them in the next step.

Uploading

Click Choose File and browse to your file. Then click  Import CSV.

Mapping

Once your file is uploaded you'll see a list of Payment fields that need content, and a dropdown for each one, where you can map where the data is. Each dropdown will be populated with content from your CSV, so you'll be able to map accurately.

Additionally, as you choose a column, a value from the column will appear on the right, taken from the first row of data, as in the example below.

Note: If no data appears in the right column it is NOT a problem. That merely indicates that the row being used for examples doesn't contain data for that column.

Required Fields

The more fields you have the more complete your site data will be, which can be helpful when working with financial statements or customer information. That said, the really vital fields are the Product Title, Download Files, andProduct Price(s).

Importing From Non-EDD Systems

Easy Digital Downloads is looking for this information in its import:

Product Field Expected Data Type
Product Author Requires a numerical WordPress ID
Product Categories This accepts either a single plain text string for a category, or several separated by vertical bar like |, and can look like this: Ebook | Marketing
Product Creation Date Any standard date format
Product Description Any plain text string.
Product Excerpt Any plain text string.
Product Image A valid web address of an image.
Product Notes Any plain text string.
Product Price(s) This field is for prices. Input can be a number like this: 1.00 or it can be a string like this: 
Monthly: 10.00
Multiple prices are separated with a vertical bar like |, and can look like this:
Monthly: 10.00 | Yearly: 120.00
Product SKU This field accepts any plain text string. An example is: AAMAM2016
Product Slug This field accepts a tests tring formatted like a WordPress slug.  Example: my-cool-plugin. If no slug is specified, one will be auto-generated.
Product Status One of these statuses: Published, Pending Review, Draft, Future
Product Tags This accepts either a single plain text string for a category, or several separated by vertical bar like |, and can look like this: Ebook | Marketing
Product Title Any plain text string.
Download Files This field can accept a valid web address of a file, an absolute path on a filesystem, or the bucket/filename.ext on an Amazon S3 instance. Muitlple files are separated by vertical bar like |. Note that file names can not be entered separately but will be automatically generated using the file's name.
File Download Limit A number
Sale Count A number
Total Earnings A currency value like 42.00 or 900 or 782.0000000

An example screenshot with the fields mapped properly, and example data showing in the right column.

REMEMBER: it's ok if there isn't data showing in the right column, some fields are simply empty.

FAQ and Troubleshooting:

Will duplicate files be created upon import?
If the same file is used for different products, whether as the deliverable or the featured image, a new, duplicate version of that file will be imported and stored on your server. The CSV Importer will not re-use files if they already exist on the server.

Can I import product bundles? 
No, not at this time.