Materials

Materials (/admin/materials) stores reusable material definitions: Name, Unit of measure, and Price. Data tracking lines reference these rows when crews log material usage on site.

Permissions: FunctionId MATERIAL (15), menu Accounting AP → Libraries → Materials (function.url = materials). View opens the page; Add controls New; Edit and Delete control row actions and bulk delete.

Screen layout

Materials list

Figure: FoodHub list — New in the page header; data card with Search materials…, Export, sortable Name, Unit, and Price, row ⋮, checkboxes, and pagination.

RegionWhat you see
Page toolbarTitle Materials, subtitle Catalog materials with unit and price for data tracking and AP., New (Add) on the right, and the ? icon (this article).
Data cardSearch, Export, column headers, row checkboxes (Delete permission), bulk bar, mobile Sort by, pagination.
ModalSurface B — Cancel and Save in the header; required Name, Unit (searchable combobox), and Price (US number format).

Default sort: Name ascending.

List behavior

  • Search — placeholder Search materials…; sends the API term only when empty or at least 3 characters; matches Name or Unit description (legacy).
  • Export — Copy, Excel, and CSV for the current page (price formatted as money).
  • Sort — Name, Unit, Price (mobile: Sort by combobox).
  • Checkboxes + bulk bar — when Delete is allowed.
  • New — opens New Material: modal.
  • Row ⋮ — Edit · Delete when permitted.
FieldRules
NameRequired. Unique across materials; duplicate → The material name is in use, please try entering another one.
UnitRequired. Searchable combobox of units from Units. + (Add unit) opens a nested modal to create a unit when you have Units → Add; the new unit is selected automatically (legacy btn-add-unit / ModalUnit).
PriceRequired. Input group with leading $ + legacy US format (thousands ,, decimal .); stored as a number.

Modal titles: New Material: (create) / Update Material: \{name\} (edit).

Success toast: The operation was successful.

Delete

Single or bulk delete removes related data tracking material rows for that catalog entry, then deletes the material. Bulk partial success uses the legacy English attention message when not every selected row could be removed.