required fields
The purpose of this page is to outline the data that needs to be provided to Sopht, and their format, in order to fill out their inventory.
<aside> 💡
Both the CSV and the JSON API expect your full inventory at each import. If an asset is not present in a subsequent import, we will consider it retired. If your inventory is too large for one file, you can split it in multiple pages.
If your inventory comes from different unmerged sources, you can send us one CSV (or one set of paginated CSVs) per source.
</aside>
Character encoding: UTF-8 (without BOM)
The line separator is the character set CRLF: Carriage Return (carriage return) and Line Feed (line feed). The last line may or may not end with this separator.
The file must have a first "header" line reminding the names of the fields defined below.
Columns are separated by the character ,
Each value can be surrounded by double quotes “. If a value contains the character , it becomes necessary. If the “ character must appear inside a surrounded value, the character must be doubled.
For further details on the CSV format, see the RFC 4180.
You can remove optional columns altogether, or change the order of the columns, although the names of the columns must remain unchanged.
This CSV is intended to identify all information concerning the asset itself. The file name must be in the form of: device_information_YYYYMMDD.csv (ex: "device_information_20230113")
<aside> ℹ️ Hardware not tracked as a unit by serial number (headset, mouse, keyboard…) are not part of this CSV, they are managed in another file as peripherals bought by batch : CSV Import Peripheral Inventory
</aside>
device_information_20250723.csv
If your inventory is too large for one file, you can split it into multiple pages, each page being a file fulfilling the format described above.
| Importance column | Signification | Behaviour , If empty |
|---|---|---|
| Mandatory | Required field | |
| Unused line | ||
| Highly recommended | Strongly recommended field | |
| Line ingested with default value detailed in the table below | ||
| Optional | Optional field | |
| Ingested line with empty field |
| Editable column | Between two imports, if a field has been modified: |
|---|---|
| Yes | • The value is updated with the most recent information. |
| • No error is detected | |
| • It will not generate new row | |
| No | |
deviceSerialNumber ⇒ New row is created, the item is treated as a new asset. |
|
deviceEntryDate ⇒ the update is ignored, and the oldest date is retained. |
|