Importing and exporting the Device Catalogue
Load or change many Device Catalogue entries at once with a CSV or XLSX file: the export-edit-import workflow, the file columns, renames, and what the import cannot do.
Audience: Fixably administrators (an Admin login, or a role with the Manage device catalogue permission) who want to add or change many Device Catalogue entries at once.
Adding models one by one works for a handful of new devices. When you need to load a full model list, give many entries the same queue, or tidy up names in bulk, use the Device Catalogue Import and Export. This article explains the file format and the safest way to work with it. For what the catalogue is and how to set it up by hand, see Setting up the Device Catalogue.
Device Catalogue availability: the Device Catalogue is being switched on account by account: Enterprise and Depot customers first, then Premium and Basic. If you do not see System Settings > Device Catalogue yet, your account has not been moved over.
The safest way: export, edit, import
- Go to System Settings > Device Catalogue.
- Click Export and choose CSV or XLSX. The file is prepared in the background; download it from the Background Jobs menu at the top of the page when it is ready.
- Open the file in Excel or Google Sheets. Change the rows you need and add new rows at the bottom. Keep the
idcolumn as it is. - Click Import, choose your file and click through the steps (see below).

An export you import back without changes changes nothing, so you can always start from a fresh export.
Importing a file
- On the Device Catalogue page, click Import.
- Choose a CSV or XLSX file. If you are starting from scratch, click Download example CSV under the file field for a template.
- Check the column mapping. Fixably matches your column headings to its own; correct any that are wrong.
- Review the preview. It shows how many entries will be Added, Updated and left Unchanged, lists every row that will be skipped and why, and warns about names that will be renamed or rows hidden by a level above them. Nothing has been saved yet.
- Click Confirm to import.
Each row is saved on its own, so if one row fails the others are still imported. Importing the same file twice is safe.
The columns
| Column | What to put in it |
|---|---|
id |
The entry's ID. Keep it from the export to update that entry. Leave it empty for a new entry. |
brand |
The brand, for example Apple. Required on a row without an id. |
category |
For example Phone. Needs a brand. |
sub_category |
For example iPhone. Needs a category. |
model |
The model name, for example iPhone 17 Pro. Needs a category and sub-category. Use the model's name, not a part number or model code. |
properties |
Features of a variant, written as {"capacity": "256GB", "color": "Black"}. Leave empty for a plain entry. |
show_in_portal |
yes or no. Empty means shown on a new entry and unchanged on an existing one. |
show_in_booking_app |
yes or no, as above. |
queues |
The ID of the queue the entry routes to. Copy it from the queues column of an entry that already uses that queue in your export. Empty leaves the entry's queue as it is. |
retail_name, internal_description, tags, group1_code to group4_code
|
Optional details of the model. Give each the same value on every row of the same model, or leave them empty. |
Levels that do not exist yet are created. Like adding an entry by hand, a row also creates the brand, category and sub-category entries above it.
Rules worth knowing
- An empty cell never clears anything on a row with an id. You can delete the contents of columns you are not changing.
- Changing a name on a row with an id renames that level everywhere, including entries and devices that are not in your file. The preview names each rename. If rows give the same level different names (for example you corrected the plain model row but not its variants), nothing is renamed and those rows are skipped: give the level the same name on every row, then import again.
- Do not clear the id column when renaming. A row without an id is matched by its names and features, so a changed name becomes a new entry instead, and you end up with duplicates.
- Give each brand one spelling. "T Mobile" and "T-Mobile" are two different brands to the import. Check the Added count in the preview before you confirm: more added entries than you expected usually means a spelling differs.
- Visibility and queues are changed only by cells you fill in.
What the import cannot do
- Delete an entry, or take a level off an entry. Use the visibility page (In use, Portal, Booking) or edit the entry by hand.
- Remove an entry's queue. Clear the Queue field on the entry by hand.
- Merge two brands or two levels. Contact Fixably Support.
Troubleshooting
| Preview or result says | What to do |
|---|---|
| A row will be skipped | The reason is on the row: for example a model without its category and sub-category, a visibility cell that is not yes or no, a queue ID that does not exist or is disabled, or properties that are not written as {"name": "value"}. Fix the cell and upload again. |
| Rows give a level different names | Use the same name on every row that names that level, or leave the cell empty, and import again. |
| Duplicates appeared after an import | The id column was cleared or changed, so renamed rows were added as new entries. Contact Fixably Support to tidy up, and keep the id column next time. |
| Import or Export is missing | Your account is not on the Device Catalogue yet, or your role lacks Manage device catalogue. |