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

# Bulk import

> Load your existing users, assets, parts and more into Opmaint from spreadsheets.

Most teams start Opmaint with years of data already in Excel sheets and registers. Bulk import loads it in one go, so you are not typing hundreds of records by hand.

## Open bulk import

Click your organisation name at the top of the left sidebar, choose **Settings**, then click **Bulk Import**. Check the branch shown at the top is the one you want to import into.

## What you can import

**Users**, **Teams**, **Locations**, **Zones**, **Sub Zones**, **Assets**, **Asset Types**, **Parts**, **Vendors**, **Work Orders**, **Checklists** (one row per field), **Meters** and **Meter Readings**.

## Import step by step

**1. Pick what to import**

Click the tile for the data you are importing, such as **Users** or **Assets**.

**2. Get your data in**

The import screen is a grid with one column per field. Fill it any way you like:

* **Upload .xlsx / .csv** to load a file
* **Paste from clipboard** to paste straight from Excel
* Type directly into the grid

Click **Template** to download a blank sheet with the right columns, or **Download data** to download what is already in Opmaint.

**3. Fill in IDs and choices**

Columns marked with an asterisk are required. For columns that take an ID or a fixed choice, right-click the cell (or use its arrow) to pick from the available values.

**4. Validate**

Click **Validate**. Opmaint highlights any problems, such as missing required values or duplicates in unique columns. Headers in red are unique.

**5. Fix and import**

Fix the highlighted cells, then click **Import**.

> [!TIP]
>
> Big import? Click **Save draft** to come back to it later, and **Drafts** to open saved ones. **Clear** empties the grid.

## Import in this order

Records point to each other by ID. A zone needs its location, an asset needs its zone, and so on. Import parents before children:

1. Locations
2. Zones, then sub zones
3. Asset types
4. Assets
5. Teams and users
6. Vendors, then parts
7. Meters, then meter readings
8. Checklists and work orders

## Rules that catch people out

> **One location per asset row**
>
> A cell cannot hold more than one location ID. If the same kind of asset sits at several locations, add a separate row for each.

> **Every asset needs its physical zone**
>
> Put each asset in the zone where it is actually mounted, including fire extinguishers and other fire safety equipment. Do not group spread-out equipment into one zone like "Fire Safety". See [Locations and zones](/locations-and-zones).

> **Re-importing replaces, it does not add**
>
> Importing a user who already exists replaces that user's details. Cells that hold several IDs are also replaced, not appended. To add users 2 and 3 to a location that already has user 1, enter `1, 2, 3`, not `2, 3`.

> **User types**
>
> The user **Type** column takes `ADMIN`, `FULL_USER`, `LIMITED_USER` or `REQUESTER`. Store Person users cannot be imported; create them from **Users** instead. See [Users and roles](/users-and-roles).

## Need help?

Our team handles imports as part of onboarding. Send us your sheets as they are and we will map them for you.

## Related

> **[Getting started](/quickstart)**

> **[Data export](/data-export)**


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