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

# Importing Assets from a Spreadsheet

> Prepare a table of existing devices and import it as assets with type, organization and location.

We take an existing table into the inventory: settle on target types, line up the
columns, paste in the rows, check the result, save. At the end the devices are
assets with type, organization and location.

**Prerequisite:** a spreadsheet or a CSV file with the devices.

## Starting point

Docusnap Sports GmbH has completed its first scan. Servers and workstations are in
the inventory. Devices without a network connection, accessories and workshop
equipment the IT department keeps in an Excel table. This is the table we take
over.

## 1. Settle on target types

The import matches the type by its name. It does not create a type.

<Steps>
  <Step title="Check which types exist">
    Under *Settings* › *Data Model* › *Types and Fields* stand the tenant's types.
    We need one type per kind of device in the table; if one is missing, we create
    it there.
  </Step>

  <Step title="Choose the list">
    Under *Assets* we open the list the devices belong in and choose *Asset*. The
    dialog's type selection is restricted to the types of this list.
  </Step>
</Steps>

<Warning>
  The type names in the table have to be in the language of the interface. Upper and
  lower case make no difference, the language does. A table labelled in German
  finds no type against an English interface.
</Warning>

## 2. Line up the table

The dialog expects four columns in this order: **Name, Type, Organization,
Location**. Name and type are mandatory.

<Steps>
  <Step title="Put the columns in order">
    We bring our table's columns into this order and remove all others. Further
    details — serial number, purchase date — we add after the import through
    [bulk editing](/docs/en/assets/edit#many-assets-at-once).
  </Step>

  <Step title="Check organization and location">
    Both are matched by their name. We write them exactly as they stand under
    *Organization* and in the location structure. A name that differs stays
    empty.
  </Step>

  <Step title="Leave the header row in place">
    A first row carrying the words name, type, organization or location is
    recognized as a header row and skipped.
  </Step>
</Steps>

## 3. Paste in the rows

In the dialog we set the switch from *Single* to *Multiple*. Two ways:

| Way | When |
| - | - |
| Select rows, Ctrl+V | The data sits in a spreadsheet. |
| *Import CSV* | The data sits as a file (`.csv`, `.tsv`, `.txt`). |

We work out of Excel: select the columns, Ctrl+V into the paste field. The table
in the dialog fills.

<Note>
  *Import CSV* reads text files. An XLSX file is not accepted; we save it as CSV
  first.
</Note>

## 4. Check the result

<Steps>
  <Step title="Read the message">
    The message names the number of rows taken over and the number of rows
    without a recognized type.
  </Step>

  <Step title="Check the type column">
    A row without a type is not saved. We add the type or remove the row.
  </Step>

  <Step title="Check for duplicates">
    Flagged are rows whose name and type already occur in the inventory or in
    the table. They do not block saving.
  </Step>
</Steps>

<Warning>
  A duplicate hint is not a block. Two assets with the same name and type are
  permitted — the same device name at two locations, for example. Check every
  flagged row before you save.
</Warning>

## 5. Save

*Create* stays locked as long as a row is missing its name or type. After saving,
the message names the number of assets created and the number of rows that
failed.

<Tip>
  Details that had no place in the table — serial number, purchase date, owner —
  we set now: select the new rows in the list, *Edit Entries*, set values for all
  of them together.
</Tip>

## Next steps

The devices are in the inventory. Their significance for the business comes from
the organizational layer:
[Justifying Why a Server Is Critical](/docs/en/assets/tutorial-organization). The
dialog in detail: [Creating Assets](/docs/en/assets/create).


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