Skip to main content

How to import parts and inventory?

Parts and inventory can be bulk imported through a CSV file in the Parts table.

For the purpose of testing importing data you can use the following files:

The bare minimum fields you need to import parts are Part Number and Manufacturer. The Manufacturer field can be left empty but it must still be mapped when importing data.

If Type is not included in the CSV file, all parts are assumed to be outsourced. Make sure all outsourced parts have a Manufacturer defined as that's the only way to ensure uniqueness between outsourced parts (although not very common, two different manufacturers might actually use the same part number).

Overwriting data

When re-importing parts, if they already exist, no duplicates are created. Instead, fields other than Part Number and Manufacturer are overwritten. This way you can bulk update any fields by mapping them when importing the CSV file. Only the mapped fields are overwritten.

An exception to this is when mapping the Stock and Storage fields. These are used to import inventory, as explained next.

Adding inventory and storage locations

When the field Stock is mapped, inventory will be adjusted according to the quantity value that is passed: stock is added if the quantity is possitive, and removed if negative. Optionally, you can also map a Storage field, indicating the storage location the inventory is stored at. In case the storage location doesn't exist, it will be created. Since Storage has a tree-like structure, depth is defined through dashes (e.g. Warehouse 1 - Room 2 - Cabinet A).

A Comment can also be passed which would be used in the history log, briefly describing the reason for the stock adjustment.

Inventory ownership

Inventory ownership is defined through Storage, as explained here in further detail. A storage location can have an owner and inventory stored in that storage location is assumed to belong to that owner. An owner is a Contact.

If Storage and Owner fields are mapped, that storage location is set to be owned by the indicated contact. The Owner field should contain the ID of the contact (not its name).


When mapping a Label that doesn't exist yet, it will be created. Similarly to the Storage field, since labels have a tree-like structure, depth is also defined through dashes (e.g. Diodes - Zener).

Creating products (for in-house parts)

When importing parts, and in particular in-house parts, you have the option to also automatically create Products for those in-house parts.

Bare in mind that not all in-house parts might need a product (i.e. a BOM), so you might want to leave this option unchecked as well.

Auto-completing data

Once imported, the app can help you auto-completing some data for outsourced parts. Learn more about it here.

Purchase orders

Parts (and stock) can also be imported by importing purchase orders. Lern more here.