User Manual
Help Center/User Manual/Custom fields

Custom fields

Last updated 2026-10-19

Add your own attributes to documents — at the document header level or on each line. Define them once in Settings → Custom Fields; they appear on the matching forms automatically.

Every business has attributes the standard fields don’t cover: a sales channel tag on the order, a QA checkpoint on each receipt line, a customer reference per order line. Custom fields let each tenant add those attributes without code changes. There are two levels: header fields (one value for the whole document) and line fields (a value on each line item).

Header vs. line — which level?#

  • Header fields: one value for the whole document (e.g. the order’s sales channel, the receipt’s dock door). Defined on the header entity, filled in on the document form.
  • Line fields: a value on each line item (e.g. a customer reference per order line, a QA result per receipt line). Defined on the line entity, filled in on the line edit form.
  • Rule of thumb: if the value can differ from line to line, make it a line field; if it describes the whole document, make it a header field.

Define a field#

  1. Go to Settings → Custom Fields in the system that owns the document (the menu now exists in WMS, OMS, YMS, TMS, Purchase, Drayage, RMS, Tickets, Accounting, CRM, LastMile and Assets).
  2. Pick the entity from the dropdown — header entities (e.g. Outbound Order) and line entities (e.g. Outbound Order Line) are listed separately.
  3. Add the field (name, type, whether required). It takes effect immediately: the matching document form — or line edit form — shows the new input.

Line-level entities#

Eight document types support line-level custom fields — define them on the line entity, fill them in per line:

  • Sales order line (OMS)
  • Outbound order line (WMS)
  • Inbound receipt line (WMS)
  • Purchase order line
  • RMA line (RMS)
  • Package line (WMS shipping)
  • Load line — member shipment of a load (WMS)
  • TMS shipment
Values are validated against the enabled definitions when a document is created or updated: unknown keys are dropped on create, and invalid values are rejected — the API answers 400 with the offending field named.