Skip to main content

Custom Fields

This guide explains how to create and manage custom fields in Tagnet Enterprise & Cloud. Custom fields let you track additional information beyond the standard fields, like serial numbers, purchase orders, calibration dates, or anything specific to your business. They have their own Custom Fields page in the navigation, directly under Items, with an Items tab and an Inventory tab, one per level.

Overview​

Tagnet Enterprise & Cloud comes with standard fields for items and inventory (name, description, location, etc.). But every organization has unique tracking needs:

IndustryExample Custom Fields
ManufacturingLot Number, Production Date, Quality Grade
Asset ManagementAsset Tag, Purchase Order, Warranty Expiration
UtilitiesPole Number, Installation Date, Last Inspection
HealthcareSterilization Date, Patient ID, Compliance Code
RetailVendor SKU, Season Code, Markdown Date

Custom fields let you capture this information without code changes or custom development.

Understanding Items vs. Inventory​

Before creating custom fields, it's important to understand the two levels where data is stored:

LevelWhat It RepresentsExample
ItemA product definition (catalog entry)"DeWalt 20V Drill - Model DCD771"
InventoryA physical instance you own"Serial #A12345, purchased 2024-01-15"

Think of it like a library:

  • Item = The book title in the catalog ("The Great Gatsby")
  • Inventory = A specific copy on the shelf (Copy #3, acquired 2020, slightly worn)

Where Should Your Field Go?​

If the value is...Create it as...Example
Same for all copiesAn Item fieldList Price, Manufacturer, Model Year
Different per copyAn Inventory fieldSerial Number, Purchase Date, Condition

Creating a Custom Field​

  1. Open the Custom Fields page from the navigation
  2. Open the Add menu in the page header and choose Item field or Inventory field. The form's title names the level you picked, for example Create Inventory Field.
  3. Fill in the field details (see below)
  4. Click Create

You can also start from the form where you noticed the need. The Item and Inventory create and edit forms show Need to track something else? Add a custom field after their custom field sections, to users who can manage custom fields. The link opens the create form in a new tab, already set to the right level, so the form you were filling in stays as it was. When you switch back to it, the new field appears on the form and anything you had already entered is kept.

Field Settings​

Basic Settings​

SettingDescriptionExample
Field KeyInternal identifier (cannot change after creation)purchaseOrderNumber
Display NameWhat users see in forms"Purchase Order Number"
Field TypeData type (see below)String, Number, Date, etc.
LevelWhich forms the field appears on; set by your Add menu choice, not on the formItem or Inventory

Tip: Choose your Field Key, Field Type, and level carefully. All three are permanent after creation. Use camelCase with no spaces for the Field Key (e.g., serialNumber, installDate, warrantyExpiration). The Field Key is the name external systems use in JSON, so it follows JSON naming rather than a spreadsheet heading.

Field Types​

TypeUse ForExample Values
StringText, codes, identifiers"ORD-12345", "Zone A"
NumberQuantities, measurements, generic numeric values150.00, 42, 3.14159
CurrencyMoney values, shown with a currency symbol and two decimal places$1,250.00, €499.99
PercentageRatio or completion values, shown with a % symbol75%, 100%, 0%
DateDates without a time component2024-06-15
Date & TimeDates with a specific time2024-06-15 09:30 AM
BooleanYes/No, True/False flagsCertified: Yes
ColorColor values stored as hex codes#FF5733, #0078D4
Select (Dropdown)A fixed list of predefined options"New", "In Service", "Retired"
ImagePhotos and diagrams, stored as attachmentsProduct photo, damage photo
FileDocuments and certificates, stored as attachmentsWarranty PDF, spec sheet

Note: Image fields accept files up to 1 MB (.jpg, .jpeg, .png, .gif, .webp). File fields accept files up to 2 MB (.pdf, .doc, .docx, .xls, .xlsx, .txt, .csv). The server also checks the file's content against its extension, so a PDF renamed to .png is rejected. For uploading Image and File fields through the REST API, see Custom Field Attachment Uploads.

Optional Settings​

SettingApplies ToDescriptionWhen to Use
RequiredAll typesUsers must provide a valueCritical tracking fields
Visual GroupingAll typesGroups related fields into sections in formsOrganize complex forms
Max LengthString onlyLimit text lengthPrevent data entry errors
Validation PatternString onlyRegex pattern to enforce a formatEnforce formats like "PO-####"
Min Value / Max ValueNumber, Currency, PercentageConstrain the allowed numeric rangeEnforce business rules (e.g., Percentage must be 0 to 100)
Select OptionsSelect onlyDefine the list of choices users can pick fromRequired when creating a Select field

Search & Indexing​

Custom fields can be configured for fast searching. This is important for large datasets.

Which Types Support Search Options​

Not all field types support every search option. The table below shows what is available per type.

TypeIndexedGlobal Search
StringYesYes
NumberYesNo
CurrencyYesNo
PercentageYesNo
DateYesNo
Date & TimeYesNo
BooleanNoNo
ColorYesNo
Select (Dropdown)YesYes
ImageNoNo
FileNoNo

The Two Search Options​

OptionWhat It Does
IndexedEnables fast search and filtering on this field
Global SearchInclude in "search everything" results (String and Select only)

When to Enable Indexing​

Enable Indexed when:

  • ✅ Users need to search by this field ("find all items with a Purchase Order of PO-12345")
  • ✅ Reports filter or sort by this field
  • ✅ You have thousands of records and need fast lookups

Skip indexing when:

  • ❌ The field is just informational (notes, descriptions)
  • ❌ Nobody searches by this value
  • ❌ You want to minimize database storage

Enable Global Search (requires Indexed) when:

  • ✅ Users search by value without knowing the field name
  • ✅ Values are unique identifiers (order numbers, serial numbers)

Skip Global Search when:

  • ❌ Searching the raw value is meaningless (costs, dates, weights)
  • ❌ Results would be cluttered with false matches

Examples​

FieldIndexed?Global Search?Why
Order Number✅ Yes✅ YesUsers paste "ORD-123" to find items
Serial Number✅ Yes✅ YesTechnicians scan barcodes to look up items
Purchase Date✅ Yes❌ NoFilter by date range, but "2024-01-15" search is useless
Unit Cost✅ Yes❌ NoFilter by price range, but "$50" search is useless
Internal Notes❌ No❌ NoInformational only, never searched

Important: Indexing Existing Data​

When you enable indexing on a field that already has data:

  • New records will be indexed automatically
  • Existing records will NOT be retroactively indexed

As of this writing, backfill operations are not available.

Using Custom Fields​

Once created, custom fields appear automatically in the appropriate forms.

In Item Forms​

When creating or editing an Item, you'll see custom fields configured for "Item" or "Both" in the Custom Fields section.

Values entered here become defaults for new inventory created from this item.

In Inventory Forms​

When creating or editing an Inventory item, you'll see custom fields configured for "Inventory" or "Both."

  • Fields set to "Both" will show the Item's default value, which you can override
  • Fields set to "Inventory" only appear here, not on Items

Searching with Custom Fields​

Field-specific search: Use the advanced search to filter by a specific field:

  • Field: "Order Number"
  • Operator: "equals"
  • Value: "ORD-12345"

Global search: Simply type a value in the search box. If the field has Global Search enabled, matching records will appear.

Managing Custom Fields​

The Custom Fields page has a tab per level: Items and Inventory. Each tab is a grid of that level's fields in scope, sorted alphabetically by Display Name. Use the filter bar to narrow it by Field Type or Visual Group, or search by name. Click a field's row (or choose Details from its actions menu) to open its detail page; Back returns you to the field's tab.

A Transactions tab also appears if your system has transaction fields from before they were withdrawn. New transaction fields can't be created for now: workflows don't record them yet, and in an RFID deployment most transactions come from workflows. Existing ones keep working where they did, on manual moves and the transaction detail page, and can still be edited and reordered. They can't be copied; a copy would be a new transaction field.

Editing a Field​

You can change most settings after creation:

  • ✅ Display Name (what users see)
  • ✅ Visual Grouping
  • ✅ Required setting
  • ✅ Indexed / Global Search settings
  • ❌ Field Key (permanent)
  • ❌ Field Type (permanent)
  • ❌ Level (permanent; the edit form's title names it, for example Edit Item Field)

To edit: choose Edit from the field's row actions menu, or open its detail page and click Edit. Use Copy from the same menu to create a new field pre-filled from an existing one; you'll still need to give it a unique Field Key before saving.

Deleting a Field​

Custom fields can be deleted, but with safeguards:

ScenarioWhat Happens
Field has never been usedPermanently deleted
Field has been usedSoft-deleted (hidden but data preserved)

Soft-deleted fields:

  • No longer appear in forms
  • Existing data is preserved in the database
  • Can be restored by an administrator if needed

Arranging Fields​

Each tab's list is sorted by name for finding and managing fields; it doesn't reflect the order fields appear in on forms. To set that order, click Reorder in the search bar. The tab switches to Reorder mode, showing every field at that level grouped by its Visual Grouping:

  • Drag a field within its group to reorder it relative to the other fields in that group. Fields with no Visual Grouping appear in an (Ungrouped) section, which always comes first, as it does on forms.
  • Move a whole group up or down using the arrow buttons on the group's header, to change which group of fields appears first.

Nothing changes until you click Save order; Cancel discards the draft, and so does switching tabs. The order spans every scope, so entering Reorder mode clears the search and any scope filter.

Each level has its own order, because each form shows one level's fields: the Items tab sets the order on item forms and the Inventory tab the order on inventory forms. A group name used at both levels (a "Details" group on item fields and on inventory fields) is ordered separately on each.

Note: Reordering requires the Admin role. The Reorder button doesn't appear for other users.

Access Scopes and Custom Fields​

Custom fields are access scope definitions. This means:

  • Fields in the system scope are visible to everyone (read-only for users not assigned to it)
  • Fields in a specific site scope are only visible to users assigned to that scope

By default, every new custom field is created in the system scope with no prompt. If your deployment enables the Scoping > Site Catalog policy (see Policies), the scope field becomes an Availability choice, "Shared across {your organization}" or "{Site} only", so individual sites can maintain their own fields alongside shared ones.

Common Patterns​

PatternSetup
Organization-wide fieldsCreate in the system scope (the default)
Site-specific fieldsCreate in the site's scope (requires the Site Catalog policy)
Department-specific fieldsCreate in the department's scope (requires the Site Catalog policy)

Example: A manufacturing company might have:

  • System scope: Serial Number, Asset Tag (used everywhere)
  • Production scope: Lot Number, Quality Grade (production only)
  • Maintenance scope: Last Service Date, Next PM Due (maintenance only)

Best Practices​

Naming Conventions​

DoDon't
PurchaseOrderNumberpo_num
InstallationDatedate1
WarrantyExpirationwarranty

Use descriptive names; you can't change the Field Key later.

Planning Your Fields​

Before creating fields:

  1. List what you need to track - Write down all the information you want to capture
  2. Decide Item vs. Inventory - Is this per-product or per-instance?
  3. Consider searching - Will users need to search/filter by this?
  4. Group related fields - Use Visual Grouping to organize complex forms

Start Simple​

  • Begin with a few essential fields
  • Add more as needs become clear
  • It's easier to add fields than to remove them

Consistent Data Entry​

For String fields, consider:

  • Using Validation Pattern to enforce formats (e.g., PO-\d{5} for "PO-12345")
  • Using Max Length to prevent overly long entries
  • Documenting expected formats in the Display Name or Visual Grouping

Frequently Asked Questions​

Q: Can I change a field's type after creation? A: No, the Field Type is permanent.

Q: Can I change which entity a field applies to after creation? A: No, the level is permanent. If you need a field at the other level (Item vs. Inventory), create a new one there with Add. Copy keeps the original field's level.

Q: What happens to my data if I delete a custom field? A: If the field has been used, it's soft-deleted: hidden from the UI but data is preserved.

Q: Can I have different custom fields for different item types? A: Currently, custom fields apply to all items/inventory within their access scope. Item-type-specific fields may be available in a future release.

Q: How many custom fields can I create? A: There's no hard limit, but for best performance:

  • Keep indexed fields under 50 per entity type
  • Only enable indexing on fields you actually search

Q: Why can't I edit a custom field? A: You may not have permission (need Contributor or Admin role), or the field may be in the system scope and you're not assigned to it.

Q: Why don't my existing items show up in search after I enabled indexing? A: Enabling indexing only affects new or updated records.