Skip to content

Import & Export

The assets table provides header actions for importing and exporting assets in bulk. Import is useful for onboarding a large number of assets at once; export lets you download the current filtered list for reporting, audits, or backup.

Navigate to Assets in the main navigation. In the page header (above the table) you will find:

  • Importieren — upload a CSV to create new assets.
  • Exportieren — download the current (filtered) asset list as CSV or XLSX.

Two bulk actions are also available in the toolbar when rows are selected: QR drucken (opens the print modal for the selected assets) and Exportieren (downloads only the selected rows).

  1. Optionally apply filters or search in the table to narrow the result set.
  2. Click Exportieren in the header, or select rows and choose Exportieren from the toolbar.
  3. Choose CSV or Excel (XLSX).
  4. When the job completes you receive a notification with a download link.
ColumnContent
idAsset UUID
stateGerman status label (e.g. “In Benutzung”)
asset_typeAsset type name
manufacturerManufacturer name (via model)
modelModel name
ownerOwner full name
placeLocation name
serial_numberSerial number
buy_datePurchase date in d.m.Y format
guarantee_endWarranty end date in d.m.Y format
buy_pricePurchase price
buy_typeGerman purchase type label
tagsComma-separated tag names

The invoice file is not included in exports.

Import always creates new assets. It does not update or overwrite existing records. Each row in the file becomes one new asset.

  • Use UTF-8 encoding. Save from Excel with “CSV UTF-8 (comma delimited)” or equivalent.
  • The first row must be a header row with column names matching those listed below.
  • Only state and asset_type are required. All other columns are optional — leave them blank or omit the column entirely.
ColumnRequiredNotes
idNoSupply a UUID to use a specific asset ID. Must not match any existing asset. If blank, a UUID is auto-generated.
stateYesAccepts the stored value (e.g. in-use) or the German label (e.g. In Benutzung).
asset_typeYesMatched by name (case-insensitive). Created automatically if it does not exist.
manufacturerNoRequired when model is provided. Matched by name; auto-created if missing.
modelNoMatched by name within the given manufacturer; auto-created if missing. A row with model but no manufacturer fails.
ownerNoMatched by full name (case-insensitive). If no user with that name exists, a new non-login user is created.
placeNoMatched by name (case-insensitive); auto-created if missing.
serial_numberNoStored as-is.
buy_dateNoAccepts Y-m-d (e.g. 2024-03-15) or German d.m.Y (e.g. 15.03.2024).
guarantee_endNoSame date formats as buy_date.
buy_priceNoNumeric value.
buy_typeNoAccepts the stored value or German label, same as state.
tagsNoComma-separated list of tag names (e.g. Büro,Laptop).
  1. Click Importieren in the asset table header.
  2. Upload your CSV file.
  3. Map CSV columns to the import fields (Filament shows a column-mapping step).
  4. Confirm and start the import.
  5. When the job finishes you receive a notification showing how many rows were imported and how many failed.

If any rows fail, a download failed rows link appears in the notification. The failed-rows CSV contains only the problem rows with an error message column, so you can fix and re-upload just the failures.

ErrorCause
”Ein Asset mit der ID [x] existiert bereits.”A row provides an id that is already in use.
”Ein Modell benötigt einen Hersteller.”model is filled but manufacturer is blank.
”Unbekannter Wert [x].”state or buy_type contains a value that does not match any known enum value or German label.
”Ungültiges Datum [x].”buy_date or guarantee_end cannot be parsed as a date.
  • Export your existing assets first to see the exact column names and value formats expected.
  • Dates exported by Inventorix use d.m.Y format; import accepts both that format and ISO Y-m-d.
  • Lookup fields (asset_type, manufacturer, model, place) are matched case-insensitively and whitespace-trimmed to reduce accidental duplicates.
  • Auto-created owners have no password and cannot log in (login_enabled = false). Ask an administrator to set credentials if the person needs access.