Importing Payments from Easy Digital Downloads

Easy Digital Downloads has the ability to import payments other Easy Digital Downloads stores.

To learn more about exporting payments from Easy Digital Downloads read this documentation.

To read about importing payments from other systems with CSV, read this documentation.

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


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.

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 customer email, all of the product fields, and the transaction fields.

Mapping Fields From the CSV File

This chart will show which import field should map to which export column.

Product Field CSV Column
Currency Code Currency
Customer Email Email
Customer First Name First Name
Customer Last Name Last Name
Customer ID Customer ID
Discount Codes Discount Code
IP Address IP Address
Mode (Live|Test) Mode (Live|Test)
Parent Payment ID  None, not used at this time
Payment Method Payment Method
Payment Number If your export file has a field called Payment Number it should be used.

If it does not then you may use either Payment ID or leave it blank.  If left blank and sequential payments are enabled, they will be auto generated.
Purchase Date Date
Purchase Key Purchase Key
Purchased Product(s) Products (Raw)
Status Status
Subtotal None, not used at this time
Tax Tax ($)
Total Amount ($)
Transaction ID  Transaction ID
User ID  User 
Address Line 1 Address
Address Line 2 Address (Line 2)
City City
State / Province State
Zip / Postal Code Zip / Postal Code
Country Country

Full Mapped Layout

Below is an example of the mapping process immediately before submitting.  Note that some are set to ignore and some don't show data on the right.  This is expected for the file being imported here. Each import will be a little different, and that's ok.

After submitting you should see a confirmation message similar to this:

Products (Raw) format

It is very important that the Products (Raw) Column be named this, as the importer will only take advanced product customization into account if the column is named this. To format the Products (Raw) you can use the following format: Download Name|Price{tax}{price_id} // Example

// Product with Variable Pricing, costing 199.99, 19.90 in tax, and price option 1
Download Name|199.00{19.90}{1}

// Product without Variable Pricing or tax
Download Name|199.00{0}{0}

// Multiple products on a single purchase record, no tax, all different price IDs
A Music Album|1{0}{0} / One More Sample Product|30{0}{0} / Another Sample Product|20{0}{1}