# Data import via GraphQL

{% hint style="info" %}
To understand how authentication works in EverReal, see the [Authentication page](https://api-docs.everreal.co/master).
{% endhint %}

For importing master data to EverReal it is required to keep the following order as shown in the chart:

<figure><img src="https://1594188794-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MgL3i0-8YP9K1HyrHy8%2Fuploads%2FynmaeM1YeZfBgpOZuqBW%2FScreenshot%202025-05-26%20at%2015.21.30.png?alt=media&#x26;token=a8a68e59-b0de-4b72-aaab-6f8be152c0b0" alt=""><figcaption><p>This chart shows the recommended data import flow</p></figcaption></figure>

**1.** First, the owners should be created/imported by using the following endpoint: [Owners Mutation](https://api-docs.everreal.co/endpoints/owners/owners-mutation).&#x20;

**2.** Once the import is finalised for the owners the next endpoint which should be used is [Property groups](https://api-docs.everreal.co/endpoints/property-groups).&#x20;

{% hint style="info" %}
Creating Property groups is recommended but it's not necessary or a precondition for creating properties. If you want to bulk inherit descriptions (for e.g. amenities, location) to several properties it's recommended to create them.
{% endhint %}

**3.** In the next step the properties should be created by using the following endpoint: [Property Mutation](https://api-docs.everreal.co/endpoints/properties/properties-mutation). The following checklist provides information about creating properties. The checklist summarizes the overall areas which might cause issues.&#x20;

* [ ] Address information is split in street, street number, zip code and city
* [ ] Avoid having additional information in address information (e.g. in street number "Hinterhaus")
* [ ] No duplicate properties --> Multiple properties with the same address information are not possible
* [ ] Properties are not property groups. Properties should be broken down to the building entrance (Hauseingang) for explicit assignment

4\. Going further in the following step [Units Mutation](https://api-docs.everreal.co/endpoints/units/units-mutation), units can be created and within creation assigned to associated property. Please consider the following when creating units:

* [ ] For UnitInput {name:} we would recommend to insert the value for unit location for e.g. 1. OG links
* [ ] &#x20;For UnitInput {mainStorage:} the value can be set to TRUE or FALSE if the information is not available
* [ ] For UnitInput {floorNo:} we need data format integer, in most of the ERP-systems the location of the unit is available for e.g. EG, 2. OG mitte etc. Therefore floorNo could be extracted from this information. This is required for generating the stacking plan in EverReal, as shown in the screenshot.

<figure><img src="https://1594188794-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MgL3i0-8YP9K1HyrHy8%2Fuploads%2Fd12JOrAEWHnLLeNwj1Ef%2Fimage.png?alt=media&#x26;token=983f3578-6415-478c-b1a4-7818a8fb6f91" alt=""><figcaption><p>Stacking Plan in EverReal</p></figcaption></figure>

5. The next step is [Tenants Mutation](https://api-docs.everreal.co/endpoints/tenants/tenant-mutation), where tenants can be created and within creation assigned to associated units. As a result of the tenants import, the unit status is being automatically updated from EverReal.&#x20;
   1. Contract start date is in the past and there is no contract end date: unit status is <mark style="color:green;">leased</mark>&#x20;
   2. Contract start date is in the future: unit status is <mark style="color:red;">vacant</mark>, <mark style="color:green;">re-leased</mark>&#x20;
   3. Contract start date is either in the past or in the future but there is a contract end date in future: unit status is <mark style="color:orange;">terminated</mark>
6. Optional final step: Bank accounts Mutation\
   If you wish to import bank account data, use the Bank accounts Mutation after all core entities have been created.
   * [ ] Each bank account must be linked to at least one of the following IDs: `owner_id`, `property_id`, or `unit_id`.\
     You can associate a single bank account with multiple entities if needed.In the screenshot below, you can see an example of bank accounts linked to an owner. These are visible in EverReal under:\
     \&#xNAN;*Contacts → Owners → \*select an owner\* → Bank accounts tab*

<figure><img src="https://1594188794-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MgL3i0-8YP9K1HyrHy8%2Fuploads%2FTmAAmeQaqFP3lj1xhbvu%2FScreenshot%202025-05-26%20at%2014.58.39.png?alt=media&#x26;token=3360cb27-9d86-4efd-8d33-432c58c1c644" alt=""><figcaption><p>Bank account linked to an owner </p></figcaption></figure>
