# Ideal CSV Structure

This section contains detailed specifications for preparing CSV files for import. We explain the required file structure for five modules: **Owner** (owners.csv), **Property** (objects.csv), **Unit** (units.csv), **Tenant** (tenants.csv), and **Bank Account** (bank\_accounts.csv). Each module corresponds to a different type of data that can be imported into the EverReal system.

Each module has its own CSV file with a specific set of columns and values that must be followed for a successful import. If all guidelines are correctly followed, mappers are not required.

{% hint style="warning" %}
**Important:** All core modules (owner, property, unit, tenant) must be included in every import. Missing any of these files will result in import failure. The `bank_accounts.csv` file is optional. For formatting guidelines, please see our [helper section](https://api-docs.everreal.co/helpers)
{% endhint %}

{% hint style="info" %}
If you would like to use a CSV template, there is one attached at the end of the page. For the most up-to-date version, please contact our support team at **<support@everreal.co>**
{% endhint %}

### Recommended Owner File Structure

The owner module contains information about the owners of the properties and following are the field requirements.

{% hint style="info" %}
`owner_id` must be unique and serves as the external identifier.
{% endhint %}

<table><thead><tr><th width="154">Everreal Field</th><th width="151">CSV Field</th><th width="101">Data Type</th><th width="93">Required</th><th width="74">Default</th><th>Description</th></tr></thead><tbody><tr><td>ownerId</td><td>owner_id</td><td>String</td><td>Yes</td><td>-</td><td>external owner_id reference</td></tr><tr><td>firstName</td><td>first_name</td><td>String</td><td>Yes</td><td>-</td><td>owner's first name</td></tr><tr><td>lastName</td><td>last_name</td><td>String</td><td>Yes</td><td>-</td><td>owner's last name</td></tr><tr><td>email</td><td>email</td><td>Email</td><td>No</td><td>-</td><td>owner's email</td></tr><tr><td>companyName</td><td>company_name</td><td>String</td><td>No</td><td>-</td><td>owner's company name</td></tr><tr><td>street</td><td>street</td><td>String</td><td>No</td><td>-</td><td>owner's street name</td></tr><tr><td>streetNumber</td><td>street_number</td><td>String</td><td>No</td><td>-</td><td>owner's street number</td></tr><tr><td>zipCode</td><td>zip_code</td><td>String</td><td>No</td><td>-</td><td>owner's zipcode</td></tr><tr><td>city</td><td>city</td><td>String</td><td>No</td><td>-</td><td>owner's city</td></tr><tr><td>country</td><td>country</td><td>String</td><td>No</td><td>-</td><td>owner's country</td></tr></tbody></table>

### Recommended Property File Structure

The property module contains information about the properties themselves, such as the address and type. The following are the field requirements.

{% hint style="info" %}
`property_id` must be unique and serves as the external identifier.
{% endhint %}

<table><thead><tr><th>Everreal Field</th><th>CSV Field</th><th width="90">Data Type</th><th width="93">Required</th><th width="123">Default</th><th>Description</th></tr></thead><tbody><tr><td>propertyId</td><td>property_id</td><td>String</td><td>Yes</td><td>-</td><td>external property_id reference</td></tr><tr><td>ownerId</td><td>owner_id</td><td>String</td><td>No</td><td>-</td><td>external owner_id reference</td></tr><tr><td>name</td><td>property_name</td><td>String</td><td>Yes</td><td></td><td>property name</td></tr><tr><td>type</td><td>property_type</td><td>String</td><td>Yes</td><td>BUILDING</td><td>property type</td></tr><tr><td>category</td><td>property_category</td><td>String</td><td>Yes</td><td>RESIDENTIAL_AND_COMMERCIAL</td><td>property category</td></tr><tr><td>street</td><td>street</td><td>String</td><td>Yes</td><td></td><td>property street name</td></tr><tr><td>streetNumber</td><td>street_number</td><td>String</td><td>Yes</td><td></td><td>property street number</td></tr><tr><td>zipCode</td><td>zip_code</td><td>String</td><td>Yes</td><td></td><td>property zipcode</td></tr><tr><td>city</td><td>city</td><td>String</td><td>Yes</td><td></td><td>property city</td></tr><tr><td>country</td><td>country</td><td>String</td><td>Yes</td><td></td><td>property country</td></tr><tr><td>noOfFloors</td><td>number_of_floors</td><td>Decimal</td><td>No</td><td>0</td><td>number of floors for the property</td></tr><tr><td>yearBuilt</td><td>year_built</td><td>Number</td><td>No</td><td></td><td>year of build for the property</td></tr><tr><td>ownershipType</td><td>ownership_type</td><td>String</td><td>Yes</td><td>INDIVIDUAL</td><td>propery ownership type</td></tr></tbody></table>

### Recommended Unit File Structure

The unit module contains information about the individual units within a property, such as number, size and rent. Following are the field requirements.

{% hint style="info" %}
`unit_id` must be unique and serves as the external identifier.
{% endhint %}

<table><thead><tr><th width="137">Everreal Field</th><th width="137">CSV Field</th><th width="98">Data Type</th><th width="100">Required</th><th>Default Value</th><th>Description</th></tr></thead><tbody><tr><td>unitId</td><td>unit_id</td><td>String</td><td>Yes</td><td>-</td><td>external unit_id reference</td></tr><tr><td>propertyId</td><td>property_id</td><td>String</td><td>Yes</td><td>-</td><td>external property_id reference</td></tr><tr><td>ownerId</td><td>owner_id</td><td>String</td><td>Yes</td><td>-</td><td>external owner_id reference</td></tr><tr><td>name</td><td>unit_name</td><td>String</td><td>Yes</td><td></td><td>unit name</td></tr><tr><td>category</td><td>category</td><td>String</td><td>Yes</td><td>RESIDENTIAL</td><td>unit category</td></tr><tr><td>type</td><td>type</td><td>String</td><td>Yes</td><td>APARTMENT</td><td>unit type</td></tr><tr><td>subType</td><td>sub_type</td><td>String</td><td>Yes</td><td>NO_INFORMATION</td><td>unit subtype</td></tr><tr><td>surfaceCommercial</td><td>surface_commercial</td><td>Decimal</td><td>No</td><td>0</td><td>surface  if unit type is commercial </td></tr><tr><td>livingSurfaceResidential</td><td>living_surface_residential</td><td>Decimal</td><td>No</td><td>0</td><td>surface  if unit type is residential </td></tr><tr><td>rooms</td><td>rooms</td><td>Decimal</td><td>Yes</td><td>0</td><td>no of rooms</td></tr><tr><td>bathrooms</td><td>bathrooms</td><td>Number</td><td>Yes</td><td>0</td><td>no of bathrooms</td></tr><tr><td>bedrooms</td><td>bedrooms</td><td>Decimal</td><td>Yes</td><td>0</td><td>no of bedrooms</td></tr><tr><td>hasMainStorage</td><td>has_main_storage</td><td>Boolean</td><td>Yes</td><td>FALSE</td><td>does it has main storage</td></tr><tr><td>floorNo</td><td>floor_number</td><td>Decimal</td><td>Yes</td><td>0</td><td>floor number of unit</td></tr><tr><td>currentRent</td><td>current_rent</td><td>Decimal</td><td>No</td><td></td><td>current rent of unit</td></tr><tr><td>hasParking</td><td>has_parking</td><td>Boolean</td><td>Yes</td><td>FALSE</td><td>parking available for this unit</td></tr><tr><td>energyEfficiencyClass</td><td>energy_efficiency_class</td><td>String</td><td>No</td><td></td><td>energy efficiency<br>class on energy certificate(Possible values can be found under <a href="https://api-docs.everreal.co/endpoints/units/units-mutation#enum-table-maps">enum mapping </a>for ENERGY_EFFICIENCY_CLASS)</td></tr><tr><td>buildingEnergyRatingType</td><td>building_energy_rating_type</td><td>String</td><td>No</td><td></td><td>building energy rating type on energy certificate(Possible values can be found under <a href="https://api-docs.everreal.co/endpoints/units/units-mutation#enum-table-maps">enum mapping </a>for BUILDING_ENERGY_RATING_TYPE)</td></tr><tr><td>energyCertificateCreationDate</td><td>energy_certificate_creation_date</td><td>String</td><td>No</td><td></td><td>energy certificate creation date(Possible values can be found under <a href="https://api-docs.everreal.co/endpoints/units/units-mutation#enum-table-maps">enum mapping </a>for ENERGY_CERTIFICATE_CREATION_DATE)</td></tr><tr><td>energyPerformanceCertificateAvailability</td><td>energy_performance_certificate_availability</td><td>String</td><td>No</td><td></td><td>is energy performance certificate available(Possible values can be found under <a href="https://api-docs.everreal.co/endpoints/units/units-mutation#enum-table-maps">enum mapping </a>for ENERGY_SOURCE_TYPE)</td></tr><tr><td>mainEnergySource</td><td>main_energy_source</td><td>String</td><td>No</td><td></td><td>main energy source according to energy certificate(possible values can be found in <a href="https://api-docs.everreal.co/endpoints/units/units-mutation">unit mutation</a> under ENERGY_SOURCE_TYPE)</td></tr><tr><td>heatingType</td><td>heating_type</td><td>String</td><td>No</td><td></td><td>heating type according to energy certificate(possible values can be found in <a href="https://api-docs.everreal.co/endpoints/units/units-mutation">unit mutation</a> under HEATING_TYPE)</td></tr><tr><td>condition</td><td>condition</td><td>String</td><td>No</td><td></td><td>condition of unit(possible values can be found in <a href="https://api-docs.everreal.co/endpoints/units/units-mutation#enum-table-maps">enum mapping </a>under AMENITIES_CONDITION)</td></tr><tr><td>qualityOfAmenities</td><td>quality_of_amenities</td><td>String</td><td>No</td><td></td><td>quality of amenities in unit(possible values can be found in <a href="https://api-docs.everreal.co/endpoints/units/units-mutation">unit mutation</a> under QUALITY_OF_AMENITIES)</td></tr><tr><td>amenitiesIncluded</td><td>amenities_included</td><td>String</td><td>No</td><td></td><td>amenities included in unit (comma separated and possible values can be found in <a href="https://api-docs.everreal.co/endpoints/units/units-mutation">unit mutation</a> under AMENITIES_INCLUDED)</td></tr></tbody></table>

### Recommended Tenant File Structure

The tenants module contains information about the tenants who occupy the units, such as name, lease term. Following are the field requirements.

{% hint style="info" %}
`tenant_id` must be unique and serves as the external identifier.
{% endhint %}

<table><thead><tr><th width="151">Everreal Field</th><th width="130">CSV Field</th><th width="113">Data Type</th><th width="93">Required</th><th width="130">Default</th><th>Description</th></tr></thead><tbody><tr><td>tenantId</td><td>tenant_id</td><td>String</td><td>Yes</td><td>-</td><td>external tenant_id reference</td></tr><tr><td>unitId</td><td>unit_id</td><td>String</td><td>Yes</td><td>-</td><td>external unit_id reference</td></tr><tr><td>firstName</td><td>first_name</td><td>String</td><td>Yes</td><td>-</td><td>tenant's first name</td></tr><tr><td>lastName</td><td>last_name</td><td>String</td><td>Yes</td><td>-</td><td>tenant's last name</td></tr><tr><td>email</td><td>email</td><td>Email</td><td>No</td><td>-</td><td>tenant's email</td></tr><tr><td>basicRent</td><td>basic_rent</td><td>Decimal</td><td>No</td><td>-</td><td>contract's basic rent</td></tr><tr><td>utilityCosts</td><td>utility_costs</td><td>Decimal</td><td>No</td><td>-</td><td>contract's utility costs</td></tr><tr><td>heatingCosts</td><td>heating_costs</td><td>Decimal</td><td>No</td><td>-</td><td>contract's heating cost</td></tr><tr><td>totalRent</td><td>total_rent</td><td>Decimal</td><td>Yes</td><td>-</td><td>contract's total rent</td></tr><tr><td>deposit</td><td>deposit</td><td>Decimal</td><td>Yes</td><td>-</td><td>contract's deposit</td></tr><tr><td>contractStartDate</td><td>contract_start_date</td><td>String</td><td>Yes</td><td>-</td><td>contract start date</td></tr><tr><td>contractEndDate</td><td>contract_end_date</td><td>String</td><td>No</td><td>-</td><td>contract end date</td></tr></tbody></table>

### Recommended Bank Account File Structure

The bank accounts module contains information about the bank accounts associated with owners, properties, or units. This file is **optional** and only required if you want to import bank account details into EverReal.

Each bank account must be linked to at least one of the following IDs: `owner_id`, `property_id`, or `unit_id`. You can provide multiple IDs to associate an account with more than one entity.

<table><thead><tr><th width="151.3828125">EverReal Field	</th><th width="129.953125">CSV Field	</th><th width="113.46875">Data Type	</th><th width="93.19140625">Required</th><th width="130">Default</th><th>Descriptions</th></tr></thead><tbody><tr><td>accountId</td><td>account_id</td><td>String</td><td>Yes</td><td></td><td>Unique identifier for the bank account</td></tr><tr><td>accountName</td><td>account_name</td><td>String</td><td>No</td><td></td><td>Name of the account</td></tr><tr><td>accountIban</td><td>account_iban</td><td>String</td><td>Yes</td><td></td><td>IBAN number of the account</td></tr><tr><td>accountBic</td><td>account_bic</td><td>String</td><td>Yes</td><td></td><td>BIC code of the account</td></tr><tr><td>accountBankName</td><td>account_bank_name</td><td>String</td><td>No</td><td></td><td>Name of the bank</td></tr><tr><td>accountType</td><td>account_type</td><td>String</td><td>No</td><td></td><td></td></tr><tr><td>accountHolder</td><td>account_holder</td><td>String</td><td>No</td><td></td><td>Name of the account holder</td></tr><tr><td>accountReferenceNumber</td><td>account_reference_number</td><td>String</td><td>No</td><td></td><td>Reference number associated with the account</td></tr><tr><td>ownerId</td><td>owner_id</td><td>String</td><td>No*</td><td></td><td>External <code>owner_id</code> reference</td></tr><tr><td>propertyId</td><td>property_id</td><td>String</td><td>No*</td><td></td><td>External <code>property_id</code> reference</td></tr><tr><td>unitId</td><td>unit_id</td><td>String</td><td>No*</td><td></td><td>External <code>unit_id</code> reference</td></tr></tbody></table>

{% hint style="info" %}
\* At least **one** of `owner_id`, `property_id`, or `unit_id` must be provided per row to establish a valid link.
{% endhint %}

### Sample Dataset for imports

This section contains sample files that can be used as a reference or can be used to import data to EverReal. The sample files are in a zip file that contains four CSV files:&#x20;

* `owners.csv` (Owner data)
* `objects.csv` (Property data)
* `units.csv` (Unit data)
* `tenants.csv` (Tenant data)
* `bank_accounts.csv` (Bank Account data, optional)

Each CSV file has a header row that specifies the column names. The data in each file is related to the data in the other files by using unique identifiers. For example, the `tenants.csv` has a column called unit\_id that is used to link the tenants to the unit.&#x20;

{% hint style="info" %}
Please ensure that file names and CSV headers remain unchanged when modifying the data. Otherwise, the import will fail. You can use these sample files as a template to create your own data and import it to EverReal.
{% endhint %}

{% hint style="warning" %}
Note: All CSV files must be saved in UTF-8 encoding.
{% endhint %}

{% file src="<https://1594188794-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MgL3i0-8YP9K1HyrHy8%2Fuploads%2FU5XiTqGFyKTy5BgAaD8s%2FImportSample.zip?alt=media&token=e318cf5b-4b33-488d-b05e-8c1a307c9a1a>" %}


---

# 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://api-docs.everreal.co/how-to-guide/everreal-data-import-process/master-data.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.
