Import past orders from a CSV

Import past orders to give existing customers new download links. Prepare your CSV, test a small batch, and plan your customer emails.

Bring past orders into FetchApp so existing customers can keep downloading their files after you move. You will upload a CSV, a spreadsheet saved as a comma-separated text file, with each customer’s details and the products they bought.

What moves, and what does not

The import can include the order number, customer’s name and email address, order date, and product codes. FetchApp uses those codes to connect each order to your products and create download access. If the products have license keys, the import assigns available keys just as a new order would.

Customers will need new download links. Links from your previous provider are not transferred and may stop working when you close that account. Plan to send customers their FetchApp links and explain where to find their downloads.

The CSV format

Only two columns are required: sku and email. A SKU is the product code used to match an order item to a FetchApp product. The other columns help you keep order details together:

order_id,first_name,last_name,email,sku,created_at
IMPORT245,Alex,Green,[email protected],EBOOK-01,06/21/2012
IMPORT246,Sam,Lee,[email protected],EBOOK-01|EBOOK-02,06/22/2012
Column Required Notes
sku yes Match the FetchApp product code exactly. Separate multiple codes with a pipe character (|)
email yes The address the customer will use to look up the order
order_id no Use a unique order number with letters and numbers only. FetchApp creates one if you leave it out
first_name, last_name no Available for use in your delivery email template
created_at no Use MM/DD/YYYY or DD/MM/YYYY, optionally followed by HH:MM

Before uploading, check these three details:

  1. Column names have no extra spaces. Use order_id,email, rather than order_id, email. A space becomes part of the column name and causes a missing-header error.
  2. Dates use a supported format. For example, use 06/21/2012 rather than 2012/06/21. A year-first date will prevent that row from importing.
  3. Products are ready in FetchApp. Check each SKU and attach the files customers should receive. See quickstart step 5.

If one row has an error, the other valid rows can still import. Check the resulting orders before retrying, so you do not import successful rows twice.

Running the import

Open https://<handle>.fetchapp.com/admin/orders/import, upload your CSV and start the import. Replace <handle> with your account name. The work continues in the background after the confirmation appears, and orders are added as they are processed.

Start with five rows. Open an imported order, check its products and customer details, and follow the download link. Allow the import time to finish before uploading again; re-uploading the same orders can create duplicates.

Before you import the whole history

Choose expiry and download settings. Imported orders use your current account defaults. Set these to give past customers the access you intend, then test a small batch. See limits for how download counts apply to each file.

Check available license keys. Imports assign keys to orders. Make sure each product has enough unused keys for the batch, then check the remaining count after your test. The license-key guide covers adding more.

Plan delivery emails. Accounts have a daily email allowance. If your import will email a large number of customers, contact support beforehand so we can check your account and help you plan the import.

Next: check your five test orders before importing the rest. If a delivery email is missing, follow email delivery help.

Last verified 2026-08-25

Something wrong on this page?