> For the complete documentation index, see [llms.txt](https://helpdesk.ldtsoft.work/ldt-digital-downloads/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://helpdesk.ldtsoft.work/ldt-digital-downloads/sell-your-digital-products/how-to-migrate-data-from-other-app.md).

# How to migrate data from another app

Move your files, product attachments and past orders from another digital downloads app using the CSV import.

### 1. Upload all your digital files

Go to **LDT Digital Downloads → Files** and click **Upload files**.

<figure><img src="https://1863660695-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6iG7j4lDhziM0FqdCCU8%2Fuploads%2Fgit-blob-43c7843f5f1fe7b86b51452d5c15b5060d99276e%2Fupload-files.png?alt=media" alt="Files in the LDT Digital Downloads sidebar with the Upload files button in the app bar"><figcaption><p>Upload digital files</p></figcaption></figure>

### 2. Attach your digital files to products in bulk

#### From LDT Digital Downloads → Products, click **Attach in bulk**

<figure><img src="https://1863660695-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6iG7j4lDhziM0FqdCCU8%2Fuploads%2Fgit-blob-3740df6fc7282ef887e6fe7ed27d538bb521c166%2Fattach-in-bulk-click.png?alt=media" alt="Products in the LDT Digital Downloads sidebar with the Attach in bulk button in the app bar"><figcaption><p>Go to Attach in bulk page</p></figcaption></figure>

#### Download the CSV template and prepare your data

<figure><img src="https://1863660695-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6iG7j4lDhziM0FqdCCU8%2Fuploads%2Fgit-blob-b6de280aa804ff7182fc786ca5df38eca1ce1bb5%2Fattach-in-bulk-csv.png?alt=media" alt="Attach in bulk page reached from Products in the sidebar, with the Download CSV template link"><figcaption><p>Download csv template and prepare data</p></figcaption></figure>

The app downloads a CSV template with these ten columns. The third row of this table is what the template puts in its example row.

| Column                    | What to put in it                                                                                                                                                                                                                                       |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Product**               | The value that identifies the product — the template's example is `PRODUCT-IDENTIFER-VALUE`. Which field this is (SKU, barcode, variant id, handle, product title…) is chosen under **Product identifier field (Product column)** on the upload screen. |
| **File Name**             | The name of a file you already uploaded to the app, for example `examplefile.jpg`.                                                                                                                                                                      |
| **All variants**          | `yes` or `no`. `yes` attaches the file to every variant; `no` attaches it only to the variant the row identifies.                                                                                                                                       |
| **External URL**          | Fill this in when the file is hosted somewhere else instead of in the app.                                                                                                                                                                              |
| **Is Personalized**       | `yes` or `no`. `yes` marks the row as personali**z**ed content, so the app waits for the file you upload per order.                                                                                                                                     |
| **Limit Download Number** | How many times the file may be downloaded. Leave blank for no limit.                                                                                                                                                                                    |
| **Limit Download Days**   | How many days the download stays available. Leave blank for no limit.                                                                                                                                                                                   |
| **Sell License**          | `yes` or `no`. `yes` makes the row a license product.                                                                                                                                                                                                   |
| **License Type**          | Leave blank to let the app generate keys randomly, or use `TAGS` / `MANUAL`.                                                                                                                                                                            |
| **License Tags**          | The tag of the key batch when **License Type** is `TAGS`. Separate several tags with a comma.                                                                                                                                                           |

The importer also understands three columns the template does not ship — add them to the header yourself if you need them: **Free File** (`yes` publishes the file as free content on the product page), **Instruction URL** (the link shown next to the file in the download portal) and **Product SKUs** (attach the same file to several products, separated by commas).

#### Upload your CSV file and import the data

<figure><img src="https://1863660695-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6iG7j4lDhziM0FqdCCU8%2Fuploads%2Fgit-blob-6a6fb3235c295e58b194c94cbad8c2ac00bcd11d%2Fattach-in-bulk-upload.png?alt=media" alt="Bulk upload card with Add files and the Product identifier field options"><figcaption><p>Import csv data</p></figcaption></figure>

### 3. Import your old orders

After you have already attached digital files to your all products, you need migrate all your old orders to our system. That allow your customer access their content through new download page

#### From LDT Digital Downloads → Orders, click **Import past orders**

<figure><img src="https://1863660695-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6iG7j4lDhziM0FqdCCU8%2Fuploads%2Fgit-blob-d7d94162dd8a7e9cda2db09ba0352e3dbe09febb%2Fimport-shopify-order-click.png?alt=media" alt="Orders in the LDT Digital Downloads sidebar with the Import past orders button in the app bar"><figcaption><p>Go to Import Shopify Order page</p></figcaption></figure>

#### - Process to import your orders

* You can click Edit email template to custom your Content update email
* You can click Import specific orders to make sure everything working properly before do that on your all orders

<figure><img src="https://1863660695-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6iG7j4lDhziM0FqdCCU8%2Fuploads%2Fgit-blob-ca1e92ab7cab9d48a195dfae7ea7ee2a23a416e3%2Fimport-shopify-order-import.png?alt=media" alt="Import past orders screen with Select specific orders, Import all orders and Edit email template"><figcaption><p>Import orders</p></figcaption></figure>
