> ## Documentation Index
> Fetch the complete documentation index at: https://www.carstoragesoftware.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Import vehicles and photos from a spreadsheet

> Bring an existing vehicle list into Car Storage Software in bulk instead of typing each car one at a time.

Use this guide when you already have vehicle information in a spreadsheet **and** you may also have a ZIP file of historical photos. Importing saves hours of typing and helps your team start with accurate records on day one.

<Tip>
  **Which import guide should I use?**

  * **Spreadsheet only** — follow [Import vehicles from a spreadsheet](/docs/cars/import-vehicles-from-a-spreadsheet).
  * **Spreadsheet plus a photo ZIP** — stay on this page. Create the car records first, then upload photos on the **Photo ZIP** tab.
</Tip>

## What you will accomplish

You will upload a vehicle spreadsheet, match each column to the correct field, review a preview, and create many car records at once. You can also import a ZIP file of historical photos so older intake images appear on the right vehicles.

**Expected outcome:** New vehicles appear on the [Cars page](https://www.carstoragesoftware.com/dashboard/cars) with make, model, year, VIN, customer links, and other details filled in from your file.

## When to use import instead of Add a car

* You are onboarding dozens or hundreds of vehicles from a legacy system or Excel file.
* Your team already keeps a master vehicle list with VINs, plates, and customer emails.
* You have folders of historical photos organized by customer ID, car ID, or VIN.

For one vehicle at a time, use [Add a car](/docs/cars/add-a-car) instead. Import is for bulk work.

<Note>
  **Import customers first when you can**

  Cars link to customer records. If your spreadsheet includes **Customer Email**, the import can connect each vehicle automatically. When possible, import customers first with [Import customers and cars from a spreadsheet](/docs/contacts/import-customers-and-cars), then import vehicles.
</Note>

## Before you start

* Save your vehicle list as **CSV**, **XLS**, or **XLSX**.
* Put each vehicle on its own row. Use clear column names such as **Year**, **Make**, **Model**, **VIN**, **License Plate**, and **Customer Email**.
* Download the car template from the import page if you are unsure which columns to include.
* Confirm you can sign in to the dashboard and open [Import Data](https://www.carstoragesoftware.com/dashboard/import) from the left sidebar.

<Frame>
  <img src="https://mintcdn.com/carstoragesoftware/YaZhPyY4b9Fq3hyS/images/cars/cars-import-data-page-sep17.webp?fit=max&auto=format&n=YaZhPyY4b9Fq3hyS&q=85&s=5df57b530deeff6a61247b1842032a74" alt="Import Data page showing tabs for Customers, Cars, Events, and Photo ZIP" width="1440" height="900" data-path="images/cars/cars-import-data-page-sep17.webp" />
</Frame>

*Open [Import Data](https://www.carstoragesoftware.com/dashboard/import). The page has separate tabs for customers, vehicles, events, and photo archives.*

## Step 1: Open the Cars import tab

<Steps>
  <Step title="Go to Import Data">
    In the left sidebar, click **Import Data**, or go directly to [Import Data](https://www.carstoragesoftware.com/dashboard/import).

    **Expected result:** The page title says **Import Data** and you see tabs across the top.
  </Step>

  <Step title="Click the Cars tab">
    Click the **Cars** tab (the tab with the car icon).

    **Why this matters:** The **Customers** tab is for people. The **Cars** tab is for vehicles. Using the wrong tab will not create car records.
  </Step>

  <Step title="Download the template if needed">
    Click **Download** on the **Download car template** card. Open the file to see recommended column names.

    **Expected result:** You have a sample CSV with headers such as Year, Make, Model, VIN, and Customer Email.
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/carstoragesoftware/YaZhPyY4b9Fq3hyS/images/cars/cars-import-cars-tab-sep17.webp?fit=max&auto=format&n=YaZhPyY4b9Fq3hyS&q=85&s=b508f3f55a5e4a38adc90481587d9ea6" alt="Cars tab on Import Data showing Download car template and Choose File" width="1440" height="900" data-path="images/cars/cars-import-cars-tab-sep17.webp" />
</Frame>

*The **Cars** tab includes a template download and a file picker for your spreadsheet.*

## Step 2: Upload your vehicle spreadsheet

<Steps>
  <Step title="Click the file field">
    Below the template card, click the file picker.
  </Step>

  <Step title="Choose your spreadsheet">
    Select your CSV, XLS, or XLSX file from your computer.
  </Step>

  <Step title="Wait for the row count">
    After the file loads, the page shows how many rows were found.

    **Expected result:** You see a number such as "50 rows found." If the count is zero, check that your file has data rows—not only header names.
  </Step>
</Steps>

## Step 3: Match spreadsheet columns to vehicle fields

After the file loads, you will see a mapping area. **Mapping** means telling the system which spreadsheet column belongs in each vehicle field.

<Frame>
  <img src="https://mintcdn.com/carstoragesoftware/YaZhPyY4b9Fq3hyS/images/cars/cars-import-cars-mapping.webp?fit=max&auto=format&n=YaZhPyY4b9Fq3hyS&q=85&s=a977083e75e2f22000f53b0e7ff52d52" alt="Car import mapping screen showing database fields on the left matched to spreadsheet columns on the right" width="1440" height="900" data-path="images/cars/cars-import-cars-mapping.webp" />
</Frame>

*Review every field before you import. Match each **Database field** on the left to the correct **Spreadsheet column** on the right.*

<Steps>
  <Step title="Click Auto-Map Columns when available">
    If your column names are close to the template (for example **Year** and **Make**), click **Auto-Map Columns** to fill in matches automatically.

    **Why this matters:** Auto-map saves time, but you should still scroll through the list to confirm nothing important was skipped.
  </Step>

  <Step title="Match required vehicle details">
    At minimum, connect:

    * **Make**, **Model**, and **Year** when your file has them
    * **VIN** when you track VINs (the system can try to fill missing make/model/year from the VIN)
    * **Customer Email** when you want each car linked to the right owner

    **Expected result:** Every field you care about has a spreadsheet column selected—or is intentionally left blank.
  </Step>

  <Step title="Review advanced fields">
    Scroll to advanced fields if your spreadsheet includes insurance dates, tire pressure, tags, location names, or external IDs from your old system. Connect only the columns you actually use.

    **Tip:** You do not need to map every field. Extra spreadsheet columns can stay unmapped.
  </Step>

  <Step title="Preview before you import">
    Use the preview step (when shown) to spot obvious mistakes—wrong year in a VIN column, swapped make and model, or missing customer emails.

    **Expected outcome:** The preview rows look like real vehicles your team would recognize.
  </Step>

  <Step title="Run the import">
    Click the button to start the import (wording may say **Import** or **Create records**). Wait until the page confirms success.

    **Expected result:** New vehicles appear on [Cars](https://www.carstoragesoftware.com/dashboard/cars). Search for a VIN or customer name to confirm.
  </Step>
</Steps>

<Tip>
  **What if a VIN is missing make or model?**

  The import can attempt **VIN decode** to fill year, make, model, color, and trim when a valid VIN is present. Rows still import even when decode fails—you can fix details later on the car record.
</Tip>

## Step 4 (optional): Import historical photos from a ZIP file

If you have folders of older intake photos, you can attach them in bulk after vehicle records exist.

<Steps>
  <Step title="Open the Photo ZIP tab">
    On [Import Data](https://www.carstoragesoftware.com/dashboard/import), click the **Photo ZIP** tab.

    **Expected result:** You see instructions for folder naming and an upload area.
  </Step>

  <Step title="Organize folders before you upload">
    Name folders so the system can match photos to the right car. Common patterns include:

    * Customer ID and car ID folders (for example `0003/001/`)
    * Folders named by **VIN**

    **Why this matters:** Clear folder names prevent photos from landing on the wrong vehicle.
  </Step>

  <Step title="Upload the ZIP file">
    Choose your ZIP file and wait for processing. HEIC images from iPhones are converted automatically.

    **Expected result:** Photos appear on the matching car records under **Latest Photos** and in the full photo gallery. See [Manage vehicle photos](/docs/cars/manage-vehicle-photos).
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/carstoragesoftware/YaZhPyY4b9Fq3hyS/images/cars/cars-import-photo-zip-tab.webp?fit=max&auto=format&n=YaZhPyY4b9Fq3hyS&q=85&s=073b33e015916fcdbe6b9a9f619aa961" alt="Photo ZIP tab on Import Data showing bulk event photo import instructions and upload area" width="1440" height="900" data-path="images/cars/cars-import-photo-zip-tab.webp" />
</Frame>

*Use **Photo ZIP** when you have archived intake folders—not for photos you are taking live today (use [Start a car session](/docs/cars/start-a-car-session) for new photos).*

## After import: confirm records look right

* Open [Cars](https://www.carstoragesoftware.com/dashboard/cars) and search for a few imported VINs or customer names.
* Open a car record and confirm the customer link, plate, and insurance dates look correct.
* Assign parking spots with [Move a car](/docs/cars/move-a-car) when vehicles are physically on site.
* Attach service plans with [Assign service plans on a vehicle](/docs/cars/assign-service-plans-on-a-vehicle) when your facility uses recurring care packages.

## Common mistakes to avoid

* Do not import cars before customers exist when you rely on **Customer Email** to link owners—create customers first or include emails that will match.
* Do not skip the mapping review. A column mapped to the wrong field can put license plates in the wrong place.
* Do not upload a photo ZIP before car records exist—the folders need matching vehicles in the system.
* Do not run import twice with the same file unless you intend to create duplicate records. Search first to see if a VIN already exists.

## Troubleshooting

<Warning>
  **Cars imported but no customer is linked**

  Check that **Customer Email** was mapped and that each email matches an existing customer in [Contacts](https://www.carstoragesoftware.com/dashboard/contacts). Import customers first, then re-import or link cars manually on each record.
</Warning>

<Warning>
  **The row count is zero**

  Open the spreadsheet and confirm it has data rows below the header line. Save again as CSV and re-upload.
</Warning>

<Warning>
  **Photos did not attach from the ZIP**

  Confirm folder names match your external IDs or VINs. Open one car record and check **Latest Photos**. If still empty, verify the ZIP structure matches the on-screen instructions.
</Warning>

## What to do next

* For day-to-day additions after migration, use [Add a car](/docs/cars/add-a-car).
* To find imported vehicles quickly, use [Find and filter cars](/docs/cars/find-and-filter-cars).
* To fix details on one record, use [View and edit vehicle details](/docs/cars/view-and-edit-vehicle-details).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.