required fields

Introduction

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.

Document versions

<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>

CSV File Format

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.

Asset Import CSV

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>

File example

device_information_20250723.csv

Pagination

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.

Description

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.