# Import/Migrate Registrations

Each import and migration from a previous system is unique, and custom development may be required to facilitate the process.

To assist us, please provide the registrations in a CSV file formatted according to the following sample:

{% file src="/files/-MLN-En0eMnBe\_CFEaVD" %}
Sample registration import CSV
{% endfile %}

Ensure the CSV file is correctly formatted.

Once the CSV file is properly formatted, follow these steps to import it:

1. Navigate to **App admin > Forms**.
2. Select the desired form.
3. Go to **Form Settings**.
4. Click on **Import CSV**.
5. Upload the CSV file and proceed with the import.

## CSV Format Specifications

### Required Fields

Every CSV import must include these mandatory fields:

| Field                      | Description            | Example                  |
| -------------------------- | ---------------------- | ------------------------ |
| `productName`              | Name of the product    | "iPhone 15 Pro"          |
| `customerEmail` or `email` | Customer email address | "<customer@example.com>" |

### Standard Fields

The system supports these standard fields that map directly to database columns:

#### Product Information

* `productName` - Product name (required)
* `productId` - Shopify product ID
* `sku` - Product SKU
* `variantId` - Product variant ID

#### Customer Information

* `customerEmail` or `email` - Email address (required)
* `customerName` or `name` - Full customer name
* `firstName` - Customer first name
* `lastName` or `surname` - Customer last name
* `phone` - Phone number

#### Address Information

* `address1` - Primary address line
* `address2` - Secondary address line
* `city` - City
* `state` - State/Province
* `country` - Country
* `postCode` - Postal/ZIP code

#### Registration Details

* `serialNumber` or `serialNumbers` - Product serial numbers
* `purchaseDate` - Date of purchase
* `warrantyStartDate` - Warranty start date
* `warrantyEndDate` - Warranty end date
* `lastServiceDate` - Last service date
* `status` - Registration status
* `orderId` - Shopify order ID
* `orderNumber` - Order number

### Custom Fields

Any column not in the standard field list is automatically treated as a custom field.

**⚠️ Important Field Matching Behavior:**

* **Matching Existing Fields**: If a custom field name matches an existing field name in the form's field configuration, the imported value will populate that existing field
* **New Fields**: If the field name doesn't match any existing form field, a completely new custom field will be created
* **Field Name Matching**: Uses exact name matching (case-sensitive) to determine if it's updating an existing field or creating a new one

**Custom Field Format:**

* Column names can be arbitrary (e.g., `warrantyPeriod`, `storeLocation`)
* Values are stored as strings


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.product-reg.varify.xyz/advance/import-migrate-registrations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
