---
title: Importing Inventory
description: Learn how to u se the contacts import tool to add new contacts or update existing ones in bulk. You can also use imports to quickly build groups for email, reporting, and follow-up.
---

[Skip to content](https://knowledge.spark.re/importing-inventory#main-content)

[More support](https://knowledge.spark.re/kb-tickets/new?hsLang=en)

![spark\_re\_logo\_wht](https://knowledge.spark.re/hs-fs/hubfs/spark_re_logo_wht.png?width=150&height=48&name=spark_re_logo_wht.png)

Open main navigation

Close main navigation

- [More support](https://knowledge.spark.re/kb-tickets/new)

 Hello. How can we help you?

- There are no suggestions because the search field is empty.

1. [Knowledge Base](https://knowledge.spark.re/?hsLang=en)
2. [Inventory](https://knowledge.spark.re/inventory?hsLang=en)

# Importing Inventory

## Use the imports import tool to add new units or update existing ones in bulk.

### Before You Start

Note: Import access must be granted to your user account before you can import inventory.

If you do not have import access, contact your Customer Success Manager or email [support@spark.re](mailto:support@spark.re).

#### What you’ll need

- Inventory import permission enabled for your account
- A clean CSV file (see [Inventory Import Fields](https://knowledge.spark.re/importing-inventory#inventory-import-fields) and  [List Hygiene and File Tips](https://knowledge.spark.re/importing-inventory#list-hygiene) below)

### How to Import Inventory

1. Go to **Menu → Inventory → List**
2. Click the **micromenu** (three dots) toward the top right of the page
3. Click **Import**
4. Upload your file 
     - Optional: Give the import a name for ease of reference later
     - Click where indicated and select the appropriate file
     - Click Open **Field Mapper**
5. Set headers 
     - Spark will pre-select the row that looks like it contains column headers; if needed, choose a different row
     - Once the correct row is selected, click **Confirm selection and continue**
     - If your list has no column headers, click **This file has no column names**
6. Match columns 
     - Spark will provide field matching selections where possible; review the matches to confirm they are correct, make any necessary updates
     - Add matches for any fields for which no match was suggested
     - Optional: If you want to skip a field, click the Ignore button to its right
     - Click **Confirm matching and continue**
7. Bulk fix/Review 
     - Spark will scan for certain formatting errors and items where the file content does not match the available options in Spark; items that need your attention will be highlighted for you, and you can hover over the cell to see the error message
     - For formatting errors, click in the cell to make corrections
     - For matching errors, choose an option from the drop down list
     - Optional: export the rows with errors to fix and import later
     - Once you have corrected the errors (or chosen to proceed with errors present), click **Finish** Bulk fix/Review 
           - If you have chosen to proceed with errors present, those rows will be ignored and those contacts will not be imported
8. Click **Start Import**

Note: If your list contains inventory units that are already in your database, it will overwrite the existing information with the new information your are importing. Be certain you wish to update any current inventory and delete any content from your spreadsheet that you do not want to import. For example, if you do not want to adjust the pricing for sold units but do want to adjust it for available units, only include available units on your spreadsheet.

You should also ensure the unit numbers on your spreadsheet exactly match the units in Spark; otherwise, you will create new units instead of updating them.

You may also wish to export your inventory prior to performing the import so you have a backup of any existing information just in case!

Once the import is complete, it is a good idea to review the units. Click **View Inventories** to see a list of the units that were added or updated by your import.

 

### Inventory import fields

#### Core identifiers

- **Unit** 
    - Unique identifier for the unit
    - **Required** for any imports that do not include the Spark ID
- **Spark ID** 
    - A unique identifier for an existing unit
    - Use this to update existing units when you want to update the unit number
    - You can export this value from Spark
    - **Required** for any imports that do not include the unit or where you want to update the unit number
- **Strata lot** 
    - Strata lot number
- **Status** 
    - Current status of the unit (for example, Available or Sold)
    - If there is a contract associated with the unit, status will be defined by the corresponding contract milestones

- **Building** 
    - The building the unit belongs to

#### Physical attributes

- **Floor plan** 
    - Floor plan assigned to the unit
- **Bedrooms** 
    - Number of bedrooms
    - Use numeric values
- **Bathrooms** 
    - Number of bathrooms
    - Use numeric values
- **Floor** 
    - Floor the unit is on
    - Required for units to appear on the Stacking Plan
- **Type / kind** 
    - Unit type
- **Exposure** 
    - Direction the unit faces (for example, N or SW)
    - Only one value is supported for import; if multiple values are needed, contact [support@spark.re](mailto:support@spark.re)
- **Line** 
    - The vertical line the unit belongs to
- **Color scheme** 
    - Interior colour scheme assigned to the unit

#### Area and space

- **Area** 
    - Interior size of the unit
    - Use numeric values (confirm sq ft or sq m)
- **Exterior area** 
    - Outdoor space (balcony, patio, etc.)
    - Use numeric values (confirm sq ft or sq m)
- **Exterior type** 
    - Type of outdoor space (for example, balcony or terrace)
- **Parking stall count** 
    - Number of parking stalls
    - Use numeric values
- **Storage unit count** 
    - Number of storage units
    - Use numeric values

#### Dates

Use the format **YYYY-MM-DD** for all date fields.

- **Estimated closing date**
- **Estimated completion**
- **Estimated possession date**

#### Pricing

- **Minimum release price** 
    - Minimum price to release the unit
    - Use numeric values only (no symbols or commas)
- **Price** 
    - Listing price of the unit
    - Use numeric values only (no symbols or commas)

#### Notes and custom data

- **Note** 
    - Free-text field for additional details
- **Custom fields** 
    - Any project-specific inventory fields
    - Formatting depends on the field type (text, number, date, etc.)

### List Hygiene and File Tips

For smoother imports and fewer errors:

- Use one unit per row
- Make sure column headers are clear and consistent
- Remove extra header rows, totals, or notes from the top and bottom of the file
- Save the file as CSV (comma-separated values) before uploading

 

### Frequently Asked Questions

**Are there any required fields?**

Yes! Unit name/number is required so that the system knows what to match the other data to. If you are importing to update information, be sure the unit name/number on your spreadsheet exactly matches what's in Spark or you will create new units instead.

**How many records can I import at once?**

We've got you covered, even for large imports! You can report up to 100K records at a time.

**Can I undo or roll back an import?**

There is no “undo” option for an import. You may wish to export your inventory units (include the inventory ID, unit, and all of the information on your import spreadsheet) before starting your import - that way, you have a backup of the data to use as a basis for restoring information if it is changed by the import. 

**What happens if a unit in my list is already in Spark?**

If a unit in your import file already exists in Spark, that contact record will be updated with the information from your list rather than creating a duplicate. If you want to update some information for existing units but not other information, remove the information you do not want to update from your spreadsheet. If you do not want to update any information for existing units, remove these units from your spreadsheet entirely.

**What happens to rows with errors if I continue the import anyway?**

These rows are skipped and the units contained in those rows will not be imported.

- [Contacts](https://knowledge.spark.re/contacts?hsLang=en#main-content)

    - [Contact Management](https://knowledge.spark.re/contacts?hsLang=en#contact-management)
    - [Interactions](https://knowledge.spark.re/contacts?hsLang=en#interactions)
    - [Groups](https://knowledge.spark.re/contacts?hsLang=en#groups)
- [Inventory](https://knowledge.spark.re/inventory?hsLang=en)
- [Contracts](https://knowledge.spark.re/contracts?hsLang=en#main-content)

    - [Disclosures & Amendments](https://knowledge.spark.re/contracts?hsLang=en#disclosures-amendments)
    - [Contract Management](https://knowledge.spark.re/contracts?hsLang=en#contract-management)
    - [Deposits](https://knowledge.spark.re/contracts?hsLang=en#deposits)
    - [Files](https://knowledge.spark.re/contracts?hsLang=en#files)
    - [Commissions](https://knowledge.spark.re/contracts?hsLang=en#commissions)
- [Conveyancing](https://knowledge.spark.re/conveyancing?hsLang=en#main-content)

    - [Deposits](https://knowledge.spark.re/conveyancing?hsLang=en#deposits)
    - [Commissions](https://knowledge.spark.re/conveyancing?hsLang=en#commissions)
- [Emails](https://knowledge.spark.re/emails?hsLang=en#main-content)

    - [Email Templates](https://knowledge.spark.re/emails?hsLang=en#email-templates)
    - [Email Campaigns](https://knowledge.spark.re/emails?hsLang=en#email-campaigns)
    - [Contract Emails](https://knowledge.spark.re/emails?hsLang=en#contract-emails)
    - [Email Sync](https://knowledge.spark.re/emails?hsLang=en#email-sync)
- [RSVP](https://knowledge.spark.re/rsvp?hsLang=en)
- [Calendar & Events](https://knowledge.spark.re/calendar-events?hsLang=en)
- [Parking & Storage](https://knowledge.spark.re/parking-storage?hsLang=en#main-content)

    - [Parking](https://knowledge.spark.re/parking-storage?hsLang=en#parking)
    - [Storage](https://knowledge.spark.re/parking-storage?hsLang=en#storage)
- [Files](https://knowledge.spark.re/files?hsLang=en)
- [Forms](https://knowledge.spark.re/forms?hsLang=en#main-content)

    - [Registration Forms](https://knowledge.spark.re/forms?hsLang=en#registration-forms)
    - [Project Questions (Q&A)](https://knowledge.spark.re/forms?hsLang=en#project-questions-qa)
    - [Request Forms](https://knowledge.spark.re/forms?hsLang=en#request-forms)
- [Project Settings](https://knowledge.spark.re/project-settings?hsLang=en#main-content)

    - [Team](https://knowledge.spark.re/project-settings?hsLang=en#team)
    - [API](https://knowledge.spark.re/project-settings?hsLang=en#api)
    - [Contacts](https://knowledge.spark.re/project-settings?hsLang=en#contacts)
    - [Inventory](https://knowledge.spark.re/project-settings?hsLang=en#inventory)
    - [Contracts](https://knowledge.spark.re/project-settings?hsLang=en#contracts)
    - [Conveyancing](https://knowledge.spark.re/project-settings?hsLang=en#conveyancing)
    - [Communications](https://knowledge.spark.re/project-settings?hsLang=en#communications)
- [Analytics](https://knowledge.spark.re/analytics?hsLang=en)
- [Integrations](https://knowledge.spark.re/integrations?hsLang=en#main-content)

    - [Calls & Messages](https://knowledge.spark.re/integrations?hsLang=en#calls-messages)
    - [Email](https://knowledge.spark.re/integrations?hsLang=en#email)
- [Juniper by Spark](https://knowledge.spark.re/juniper-by-spark?hsLang=en#main-content)

    - [Catalog](https://knowledge.spark.re/juniper-by-spark?hsLang=en#catalog)
    - [Home Inspection App](https://knowledge.spark.re/juniper-by-spark?hsLang=en#home-inspection-app)
    - [Integrations](https://knowledge.spark.re/juniper-by-spark?hsLang=en#integrations)
    - [Users](https://knowledge.spark.re/juniper-by-spark?hsLang=en#users)
    - [Service Requests](https://knowledge.spark.re/juniper-by-spark?hsLang=en#service-requests)
- [Company Settings](https://knowledge.spark.re/company-settings?hsLang=en#main-content)

    - [Contacts](https://knowledge.spark.re/company-settings?hsLang=en#contacts)
    - [Brokerages](https://knowledge.spark.re/company-settings?hsLang=en#brokerages)
    - [Communications](https://knowledge.spark.re/company-settings?hsLang=en#communications)
- [Webinars](https://knowledge.spark.re/webinars?hsLang=en#main-content)

    - [Spark Lunch & Learns](https://knowledge.spark.re/webinars?hsLang=en#spark-lunch-learns)
    - [Product Webinars](https://knowledge.spark.re/webinars?hsLang=en#product-webinars)
- [General](https://knowledge.spark.re/general?hsLang=en#main-content)

    - [Account Settings](https://knowledge.spark.re/general?hsLang=en#account-settings)
- [Beta](https://knowledge.spark.re/beta?hsLang=en#main-content)

    - [Contact Page](https://knowledge.spark.re/beta?hsLang=en#contact-page)

[![\_Mark + Logotype](https://knowledge.spark.re/hs-fs/hubfs/_Mark%20+%20Logotype.png?width=150&height=48&name=_Mark%20+%20Logotype.png "_Mark + Logotype")](https://www.spark.re)

[Still need help? Contact us.](https://knowledge.spark.re/kb-tickets/new?hsLang=en)

Copyright © 2025, Spark