Importing Products from CSV
Easy Digital Downloads has the ability to import products from an export file in a CSV format. If you are importing products from another store, see our export guide here.
Payment importing is done under Downloads → Tools → Import/Export. On this page you'll find a box labelled Import Download Products.
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.
Click Choose File and browse to your file. Then click Import CSV.
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.
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:
Multiple prices are separated with a vertical bar like |, and can look like this:
|Product SKU|| This field accepts any plain text string. An example is:
|Product Slug|| This field accepts a tests tring formatted like a WordPress slug. Example:
|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:
|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
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.