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

# Bulk property import

> Import properties in bulk from CSV files in BrikSync PropOS. Preview, validate, and import with error reporting.

Import multiple properties at once using a CSV file. The import workflow includes template download, validation preview, and per-row error reporting to ensure data quality before committing.

<Note>
  Bulk property import is available on **Pro and Business plans** with an active or trialing
  subscription only. Free plan users will be prompted to upgrade their plan to access this feature.
</Note>

***

## Import workflow

<Steps>
  <Step title="Download the template">
    Go to **Properties → Import** and click **Download Template** to get a CSV file with the correct
    column headers and a sample row.
  </Step>

  <Step title="Fill in your data">
    Open the template in a spreadsheet application and add your property data. Each row represents
    one property.
  </Step>

  <Step title="Preview and validate">
    Upload your completed CSV file and click **Preview**. The system validates every row and shows
    which rows are valid, which have errors, and what the errors are.
  </Step>

  <Step title="Import">
    Once you are satisfied with the preview, click **Import** to create the properties. Each
    imported property is automatically assigned to you.
  </Step>
</Steps>

***

## CSV columns

The CSV file must include all of the following column headers in the exact order shown below. Any deviation in column order will cause an "Invalid CSV header" error:

| Column            | Required | Format                                                                     |
| ----------------- | -------- | -------------------------------------------------------------------------- |
| `name`            | Yes      | Property name (text).                                                      |
| `type`            | Yes      | One of: `residential`, `commercial`, `industrial`, `mixed_use`, or `land`. |
| `address_line1`   | Yes      | Street address.                                                            |
| `address_line2`   | No       | Additional address line.                                                   |
| `city`            | Yes      | City name.                                                                 |
| `state`           | Yes      | State or region.                                                           |
| `postal_code`     | Yes      | Postal or ZIP code.                                                        |
| `country`         | Yes      | Country name.                                                              |
| `year_built`      | No       | Four-digit year (1800 to current year + 2).                                |
| `total_units`     | No       | Number of units (integer).                                                 |
| `description`     | No       | Property description (text).                                               |
| `amenities`       | No       | Pipe-delimited list (e.g. `pool\|gym\|parking`).                           |
| `listed_rent_min` | No       | Minimum listed rent (number).                                              |
| `listed_rent_max` | No       | Maximum listed rent (number).                                              |
| `latitude`        | No       | GPS latitude (-90 to 90).                                                  |
| `longitude`       | No       | GPS longitude (-180 to 180).                                               |

***

## Preview results

The preview response shows:

* **Valid rows** — number of rows that passed validation.
* **Invalid rows** — number of rows with errors.
* **Row details** — for each row, the parsed values (if valid) or a list of validation errors.

Review the preview carefully before importing. Only valid rows will be created during import.

***

## Import results

After importing, you will see:

* **Created** — number of properties successfully created.
* **Skipped** — number of rows skipped due to validation failures.
* **Skipped duplicates** — number of rows skipped because a property with the same details already exists.
* **Errors** — a list of error messages for any failed rows.
* **IDs** — an array of UUIDs for the newly created properties.

Each successfully imported property is automatically linked to you via a property assignment entry.

<Info>Minimum role required: **Landlord**.</Info>

***

Built by [Errsol Technologies LLP](https://errsol.com)
