Skip to main content

Equipment List

Central inventory of tools, vehicles, and assets available to schedule and assign to jobs. Track equipment status, location, maintenance history, rates, and inspection records from one record per item.

Where it is​

Click path: Sidebar → Equipment → Equipment Management

URL: /equipment

Gated by the equipment.view permission (Equipment in Roles & Permissions). Individual tabs on the equipment detail page carry their own additional gates -- see Equipment detail page below.

Overview​

Equipment list, populated with the demo instance's equipment, showing the Active filter, category/status/location filters, and the Status column

The Equipment page lists every registered equipment record. Each row shows the equipment's name, unique identifier, category, next inspection date, last-known location, assigned user, and status. Click a row to open that equipment's detail page.

List columns​

ColumnDescription
NameEquipment name (e.g. "Gen 01 — Honda EU7000is"). Sortable; sorted ascending by default.
Unique IdentifierThe equipment's cuid -- a short code such as GEN-01, either auto-generated per category or entered by hand.
Equipment CategoryThe equipment type (Generators, Scissor Lifts, Service Vans, etc.).
Next Inspection DateCalculated from the category's inspection frequency once a last-inspection date is recorded -- see Equipment Maintenance.
Last LocatedTimestamp of the most recent location ping recorded against this equipment.
Last LocationThe most recent recorded location.
Assigned To UserThe user currently checked out to this equipment, if any; click the value to reopen that check-out/check-in panel.
StatusThe equipment's current status, shown as a button. Click it to change the status inline -- see Equipment status change below.
note

On the demo instance used for these screenshots every piece of equipment shows a status of Unassigned -- this is the seed data's only configured status value, not a fixed default. Status values are configured per instance as property values; check Settings for your instance's actual status list.

ControlDescription
All / Active / ArchivedToggle between active equipment, archived equipment, or both.
Equipment CategoryMulti-select by category, searchable.
StatusMulti-select by status.
Last LocatedDate-range filter on when the equipment last reported a location.
Last LocationFilter equipment that has a recorded last-known location.
Assigned To UserMulti-select by the user currently checked out to the equipment.
Next Inspection DateDate-range filter, with quick-select ranges.
SearchFree-text box. Placeholder reads "Search Name, Category, Assigned To, Status, Unique Identifier" -- matches the equipment's name, category, current assigned-to user, status, and cuid.
Table / Board view toggleSwitches the list between the default table and a Kanban board grouped by status -- see Equipment status change.
ExportExports the current filtered list to CSV.

Equipment Category filter dropdown open on the equipment list, with a search box and checkbox options for each category

note

Manufacturer, make/model, and other custom equipment attributes are not part of the quick search -- they're visible on the individual equipment record but are not indexed by the search box or available as a dedicated filter on the demo instance used for these screenshots.

Adding equipment​

Click + Add Equipment in the top-right corner of the list to open the Add Equipment panel.

Add Equipment panel showing only the required Select Equipment Type field -- the rest of the form renders once a type is chosen

  1. Select an Equipment Type (the equipment's category). This is the only field shown until a type is chosen.
  2. Once a type is selected, Appello fetches that category's configured field layout and renders the rest of the form inside an Equipment Overview card. Fill in the fields that apply.
  3. Click Save, or Cancel to discard.

The panel used to add or edit equipment exposes these fields. Which of them actually appear depends on how the selected category's field layout is configured -- on the demo instance used above, the Generators category's layout renders no fields beyond the type selector, so the fields below are confirmed from source rather than from a populated screenshot:

FieldRequiredTypeEffect
Select Equipment TypeYesCombobox (Equipment Category)Determines which of the fields below render, and drives auto-generated Unique Identifiers.
Equipment NameYesTextThe equipment's display name.
Unique Identifier (cuid)NoTextLeave blank to auto-generate from the category; on edit, must stay unique.
StatusYesCombobox (property value)Sets the equipment's current status.
DescriptionNoRich text (WYSIWYG)Free-text notes.
Purchase DateNoDateWhen the equipment was bought. Defaults to today.
In Service DateNoDateWhen the equipment entered active use. Defaults to today.
Out Of Service DateNo (toggle to reveal)Toggle + DateToggle on to set a date the equipment stopped being used.
Expiry DateNo (toggle to reveal)Toggle + DateToggle on to set an expiry date for the equipment.
Last Inspection DateYes, only when the category requires inspectionDateOnly rendered when the category has Requires Inspection enabled; recalculates Next Inspection Date.
Next Inspection DateYes, only when the category requires inspectionDateAuto-calculated from Last Inspection Date plus the category's inspection frequency; editable.
CustomerNoCombobox (Company)Links the equipment to a customer/company record.
note

Every equipment category can also define its own custom attributes (list, image/document, boolean, time, year, numeric, email, currency, URL, or text fields) in addition to the defaults above -- these render as extra fields in the same Equipment Overview card, per category.

Bulk actions​

Select one or more rows with the row checkboxes to reveal the bulk action bar:

ActionEffect
ArchiveArchives the selected equipment (moves it out of the Active filter).
DeletePermanently deletes the selected equipment. Appello first reports a count of related records that would also be affected.
RestoreUn-archives previously archived equipment (available from the Archived filter).
note

Confirmed from source rather than a live screenshot: the canary crawl for this page is read-only and does not select rows or trigger archive/delete/restore.

Equipment detail page​

Click path: Click any row on the Equipment list, or a linked equipment name elsewhere in the app.

URL: /equipment/[id]?tab=<tab-param>

Equipment detail page header, showing the tab bar, the Assign to a User / Assign to a Job buttons, and the status dropdown

Every tab shares the same header: breadcrumbs, a QR-code export button, a down-arrow Download button (see Download a PDF of the equipment record below), the Assign to a User / Assign to a Job (N) buttons (see Assigned To below), and a status dropdown (see Equipment status change). Tabs appear in this order, each gated by its own permission:

TabURL tab= paramGateContents
Overviewoverviewequipment.viewStandard and custom fields, and the equipment's notes feed.
Work Orderswork-ordersjob.viewWork orders this equipment is/was serviced on.
Form Submissionsform-submissionsequipment.viewSafety/inspection form submissions filed against this equipment.
Assigned Toassigned-toequipment.assignCheck-out/check-in and the full assignment history.
Ratesratesequipmentrate.viewThe equipment's billing rates by period.
Locationlocationequipment.viewLocation history (GPS pings, check-ins/check-outs).
Expensesexpensesexpense.viewEmployee expenses logged against this equipment.
Account Payableaccount-payableexpense.viewVendor invoices logged against this equipment.
MaintenancemaintenanceMaintenanceSchedule.viewSee Equipment Maintenance.
Threshold Settingsthreshold-settingsMaintenanceThreshold.viewSee Equipment Maintenance.

Download a PDF of the equipment record​

Two icon-only buttons sit side by side at the left of the header's action area:

  • QR code (the grid icon) -- immediately downloads a PDF of this equipment's QR code label, named <Equipment ID> - <Name>.pdf. No template is involved.
  • Download (the down-arrow icon) -- opens the Select Template For Export picker and produces a one-record PDF of this equipment built from a Download Template. This is a different thing from the CSV Export on the Equipment list, which uses a fixed column set.

Equipment templates are set up per Equipment Category under Settings → Download Templates → Equipment (see Templates → Download Templates), so the picker only lists templates created for this record's own category.

Select Template For Export picker opened from an equipment record&#39;s Download button, with the template dropdown empty and Export disabled until a template is chosen

  1. Click the Download icon in the header.
  2. In the Select Template For Export picker, choose a template. Export stays disabled until one is chosen. An empty dropdown means no template exists yet for this equipment's category.
  3. Click Export. The PDF is generated from the fields that template has toggled on (plus a map image of the equipment's last known location when it has coordinates) and downloads as <Company Name>_Equipment Details_<date>_<time>.pdf. Cancel closes the picker without generating anything.

There is no separate permission for either button beyond equipment.view for the page itself.

note

Confirmed from source (pages/equipment/[id]/index.tsx passes the record's equipmentCategoryId to components/ConfirmTemplate/TemplateSelectionModal.tsx, which then queries equipmentDownloadTemplates instead of objectDownloadTemplates; the equipmentDetail and equipment-qr-code cases in pages/api/pdf-export.ts build the two documents) and on the canary demo instance on 2026-09-08; the picker was opened and dismissed without clicking Export. The shared behavior of this picker is documented in Exports, Imports and Bulk Actions → Downloading a record with a download template.

Overview​

Equipment Overview tab, shown empty on the demo instance -- only the Equipment Overview card header and the Notes panel render

The Overview tab shows the same fields as the Add Equipment form, rendered read-only, plus a Notes panel (search notes, + Create Note). Click the pencil icon on the Equipment Overview card to reopen the Add/Edit form and change any field, including Status.

note

On this demo instance the equipment's category has no field layout configured beyond the card header, so the Overview tab above shows no populated fields -- consistent with the empty Add Equipment form on the same instance.

Work Orders​

Work Orders tab, shown empty on the demo instance

A filtered work-order list (search placeholder "Search WO #, Name, Company, Status, Type") scoped to work orders this equipment has been serviced on. This is the same list view used on the main Work Orders page, minus the create button.

Form Submissions​

Form Submissions tab, shown empty on the demo instance

Lists safety/inspection form submissions filed against this piece of equipment, with Search Name and Date Range controls. See Equipment Inspection Forms for how forms get attached to equipment in the first place.

Assigned To​

Assigned To tab, showing a populated Assignment History table with a checked-out and a checked-in row

Every piece of equipment can be checked out to a user, a job, or both at once, and each equipment record keeps a running history of every checkout and check-in.

Checking out from the equipment record​

Two buttons in the header (present on every tab) drive checkout:

  • Assign to a User -- opens the Check Out Equipment panel set to search users.
  • Assign to a Job (N) -- opens the same panel set to search jobs instead. The number in parentheses is how many active job assignments this equipment currently has.

Either button opens the same Check Out Equipment panel:

FieldRequiredDescription
Checked Out ToYesThe user or job receiving the equipment, depending on which button you clicked.
Date Checked OutYesDefaults to today.
Billing Period (Per)NoHour, Day, Week, Month, or Year -- how this checkout is billed. Applied to every equipment time entry logged against it.
Operator Included (wet hire)NoToggle on if an operator comes with the equipment.
Full Day BillingNoToggle on to bill a full day regardless of hours logged.
AttachmentsNoOther equipment (breakers, buckets, GPS masts, etc.) riding along with this checkout. Auto-populates as sub-line rows on equipment time entries.
Check Out NoteNoFree-text note, up to 500 characters.

Check Out Equipment panel set to a user, with Checked Out To, Date Checked Out, Billing Terms, Attachments, and Check Out Note fields

Check Out Equipment panel set to a job -- the same Billing Terms and Attachments sections apply

Click Save. The Assign to a User button now shows the assigned user's name (or Assign to a Job (N)'s count goes up by one), and the equipment list's Assigned To User column updates.

tip

To check out several pieces of equipment to one job in a single panel, use Assign Equipment from the job's Assigned Equipment tab instead -- see Equipment on jobs below.

Checking equipment back in​

  • From this tab, find the open ("Checked Out") row and click Check In.
  • From the main equipment list, click the Assigned To User value for a checked-out item to reopen the same panel for that assignment.

Checking in opens the same panel with a Date Checked In field and a Check In Note field in place of the checkout-specific fields.

Assignment history​

The Assigned To tab's Assignment History table lists every checkout and check-in:

ColumnDescription
DateThe checkout or check-in date.
StatusChecked Out or Checked In.
AssigneeThe user, if this row was a user checkout -- links to the user's profile.
JobThe job, if this row was a job checkout -- links to the job record.
AttachmentsAny attachment equipment carried on this assignment.
NotesThe checkout or check-in note.
ActionsA Check In button on any row that is still checked out.

Rates​

Rates tab, showing the Rate Schedule selector and an Equipment Rates table with a Category Default and a This Equipment column

Shows the equipment's billing rates by period (Hourly, Daily, Weekly, Monthly, Yearly), each rate type showing the category-wide default alongside this equipment's own override. Click Edit Rates to set an override. Full coverage of the Rate Schedule selector, rate types, and the edit flow lives in Equipment Maintenance → Equipment Rates and Cost Tracking -- this section covers the two forms behind that page instead of duplicating it.

Rate schedule form​

Rate schedules (e.g. "Default Rates (2026-01-01)") are created and edited with the EquipmentRateScheduleForm modal:

FieldRequiredTypeEffect
Schedule NameYesTextThe schedule's label, shown in the Rate Schedule selector.
Effective DateYesDateWhen this schedule takes effect. Must fall strictly between the neighbouring schedules on the timeline.
DescriptionNoText areaOptional notes about this rate schedule.

Creating a new schedule can duplicate rate values from the currently selected schedule as a starting point. Editing a schedule's effective date can re-rate non-approved equipment time entries that fall inside the new date window -- Appello shows a confirmation listing the affected entries before committing that kind of change. Approved entries are never touched.

Rate labels (rate types)​

The billing lines shown as rows on the Rates tab (e.g. "Rental Rate") are rate labels, scoped to an Equipment Category. Adding one takes a single field:

FieldRequiredTypeEffect
NameYesTextThe rate type's label (e.g. "Rental Rate", "Ownership Rate").
note

Both the rate schedule form and the rate-label Name field live on the Equipment Category's own Rates tab in Settings, not on this per-equipment Rates tab -- the per-equipment tab only lets you override a rate value, not create schedules or rate types. This is confirmed from source (CreateEditScheduleModal and the inline rate-label form in EquipmentCategoryRatesTab); the crawl for these screenshots did not reach that Settings screen.

Location​

Location History tab, shown empty on the demo instance

A paginated feed of location events for this equipment, newest first, each shown as a card with a static map:

FieldDescription
DateWhen the location was recorded.
LocationLatitude/longitude, with a View on map link to Google Maps.
Action"Using Equipment" (recorded from a safety-form submission) or "Checked In".
Related Form / Form IDShown for "Using Equipment" rows -- links to the safety-inspection form submission.
Signed ByShown for "Using Equipment" rows -- everyone who acknowledged that submission.
Assigned ToShown for "Checked In" rows -- who the equipment was checked in by/to.

Expenses​

Employee Expense tab, shown empty on the demo instance

The standard Employee Expenses list view, scoped to expenses claimed against this equipment (Search Account, Claimant, Job Name, Outstanding Expenses (Net) / Total AP (Net) summary chips, + Create Employee Expense).

Account Payable​

Accounts Payable tab, shown empty on the demo instance

The standard Accounts Payable list view, scoped to vendor invoices logged against this equipment (Search Account, Claimant, Job Name, Outstanding AP (Net) / Total AP (Net) summary chips, + Create Account Payable).

Maintenance and Threshold Settings​

Covered in full, including screenshots, on Equipment Maintenance -- see that page's Scheduling Maintenance, Maintenance thresholds, and Service History sections rather than duplicating them here.

Equipment on jobs​

Where equipment shows on a job​

Every job has its own Assigned Equipment tab (under the job's Operations tab group) listing every piece of equipment currently checked out to that job -- the same list view as the main Equipment page, filtered to this job.

A job&#39;s Assigned Equipment tab, filtered to equipment checked out to this job, with an Assign Equipment button

Rows carry the same columns as the main Equipment list (Equipment Name, Unique Identifier, Category, Next Inspection Date, Last Located, Last Location, Attachments), plus two job-specific columns:

ColumnDescription
Assigned To UserWhether the equipment is also checked out to a user; click the value to open its check-in/check-out panel.
Check In EquipmentAn Unassign from Job button that checks the equipment back in from this job.

Assigning equipment to a job in bulk​

Use Assign Equipment on the job's Assigned Equipment tab to check out several pieces of equipment to the job in one panel:

  1. Click Assign Equipment.

  2. Fill in Checkout Date and an optional Checkout Notes (rich text, 500 characters).

  3. In the Equipment section, search and select one or more items. Equipment already assigned to this job is excluded from the search results.

  4. Under Billing Terms, the Default group sets Per, Operator Included, and Full Day Billing for every selected item. Click + Add billing group to split the selected equipment across more than one billing group (for example, equipment billed hourly vs. equipment billed daily) and move items between groups.

  5. Optionally click Add attachment to link attachment equipment (breakers, buckets, etc.) to a specific parent item within this batch.

  6. Click Save. Appello creates one equipment assignment per selected item, all checked out to this job on the same date.

    Assign Equipment to Job panel with Checkout Date, Checkout Notes, an Equipment search field, and a Default billing group

Scheduling equipment​

note

On the demo instance used for these screenshots, equipment does not appear as its own resource row on the Job Schedule calendar the way workers do -- there is no drag-and-drop equipment calendar. Checking equipment out to a job (above) is what puts it on that job's Assigned Equipment tab; logging dated equipment time entries against it (see Allocating one unit across jobs below) is how equipment usage is tracked day by day. For scheduling workers to jobs, see the Job Schedule guide.

Allocating one unit across jobs​

A single piece of equipment often needs its time split across more than one job on the same day -- for example, a generator that ran half a shift on one job and half on another. Appello handles this with dated Equipment Time entries -- one entry panel per equipment/day, one row per job or operator -- rather than by creating separate assignments for each job. See Equipment Time for the full walkthrough: the weekly grid, the entry form's per-row fields, the approve/reject workflow, and how approved hours get costed against the equipment's rate labels.

Workflow: Equipment status change​

Equipment status is a property-value list (equipmentStatuses) configured per instance, not a fixed enum -- the values shown in this guide (e.g. "Unassigned" on the demo instance) reflect that instance's own configuration, not a universal default.

There are three ways to change a piece of equipment's status, all of which call the same editEquipment mutation against the equipment's statusId:

  1. From the equipment detail page -- every tab's header carries a status dropdown next to the Assign to a User / Assign to a Job (N) buttons (see the header screenshot under Equipment detail page). Selecting a new value saves immediately; there is no separate Save step.
  2. From the equipment list -- click the status badge in the Status column of a row to edit it inline, or switch the list to its Board view (the second view-toggle icon next to the table icon) to see equipment grouped into columns by status and drag a card between columns to change its status.
  3. From the Add/Edit Equipment form -- Status is a required field every time equipment is created or edited (see Adding equipment).
note

No email or system notification was found triggered by an equipment status change in the source reviewed for this page -- only the standard on-screen success toast.

Permissions and settings that affect this page​

GateAffects
equipment.viewSeeing the Equipment list and the Overview, Form Submissions, and Location tabs.
equipment.assignSeeing the Assigned To tab and the check-out/check-in buttons.
equipmentrate.view / equipmentrate.editSeeing the Rates tab, and being able to edit or override a rate value.
job.viewSeeing the Work Orders tab.
expense.viewSeeing the Expenses and Account Payable tabs.
MaintenanceSchedule.viewSeeing the Maintenance tab.
MaintenanceThreshold.viewSeeing the Threshold Settings tab.
Per-field permissionsIndividual equipment fields can be hidden or made read-only per role; a field with no view permission is skipped in both the Add/Edit form and the Overview tab.
  • Equipment Maintenance — Maintenance schedules, thresholds, service history, and the full rate schedule / rate value editing flow.
  • Form Builder & Management — Create pre-use inspection forms and attach them to equipment.
  • Job Schedule — Schedule workers alongside the equipment checked out to a job.