Appearance
Permission reference
Every permission in YardPilot, organised by category. Use this when creating custom roles or reviewing a system role.
Counts below are the defaults for system roles. Custom roles can mix any combination. Owner bypasses permission checks even if a permission is later added to the product.
Quick role comparison
| Permission | Owner | Admin | Office | Field |
|---|---|---|---|---|
| Total permissions | 142 | 140 | 110 | 32 |
| Manage roles | ✓ | — | — | — |
| Confirm payroll | ✓ | — | — | — |
| Invite users | ✓ | ✓ | — | — |
| Create contacts and properties | ✓ | ✓ | ✓ | ✓ |
| Create jobs | ✓ | ✓ | ✓ | — |
| Cancel, pause, or resume jobs | ✓ | ✓ | ✓ | — |
| Close, reopen, or delete jobs | ✓ | ✓ | — | — |
| Complete visits | ✓ | ✓ | ✓ | ✓ |
Admin has every permission except Manage roles (roles.manage) and Confirm payroll (time-entries.payroll). Those two stay Owner-only by default.
Dashboard
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View dashboard | dashboard.view | ✓ | ✓ | ✓ | ✓ |
Contacts
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View contacts | contacts.view | ✓ | ✓ | ✓ | ✓ |
| Create contacts | contacts.create | ✓ | ✓ | ✓ | ✓ |
| Update contacts | contacts.update | ✓ | ✓ | ✓ | — |
| Delete contacts | contacts.delete | ✓ | ✓ | — | — |
| Export contacts | contacts.export | ✓ | ✓ | ✓ | — |
| Import contacts | contacts.import | ✓ | ✓ | ✓ | — |
| Override status (Contacts) | contacts.set-status-override | ✓ | ✓ | ✓ | — |
Properties
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View properties | properties.view | ✓ | ✓ | ✓ | ✓ |
| Create properties | properties.create | ✓ | ✓ | ✓ | ✓ |
| Update properties | properties.update | ✓ | ✓ | ✓ | — |
| Delete properties | properties.delete | ✓ | ✓ | — | — |
| Export properties | properties.export | ✓ | ✓ | ✓ | — |
| Import properties | properties.import | ✓ | ✓ | ✓ | — |
| Override status (Properties) | properties.set-status-override | ✓ | ✓ | ✓ | — |
Work requests
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View work requests | work-requests.view | ✓ | ✓ | ✓ | ✓ |
| Create work requests | work-requests.create | ✓ | ✓ | ✓ | ✓ |
| Update work requests | work-requests.update | ✓ | ✓ | ✓ | — |
| Delete work requests | work-requests.delete | ✓ | ✓ | — | — |
| Convert work requests | work-requests.convert | ✓ | ✓ | ✓ | — |
| Override status (Work requests) | work-requests.set-status-override | ✓ | ✓ | ✓ | — |
Quotes
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View quotes | quotes.view | ✓ | ✓ | ✓ | ✓ |
| Create quotes | quotes.create | ✓ | ✓ | ✓ | — |
| Update quotes | quotes.update | ✓ | ✓ | ✓ | — |
| Delete quotes | quotes.delete | ✓ | ✓ | — | — |
| Send quotes | quotes.send | ✓ | ✓ | ✓ | — |
| Approve quotes | quotes.approve | ✓ | ✓ | ✓ | — |
| Convert quotes | quotes.convert | ✓ | ✓ | ✓ | — |
| Override status (Quotes) | quotes.set-status-override | ✓ | ✓ | ✓ | — |
Jobs
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View jobs | jobs.view | ✓ | ✓ | ✓ | ✓ |
| Create jobs | jobs.create | ✓ | ✓ | ✓ | — |
| Update jobs | jobs.update | ✓ | ✓ | ✓ | — |
| Delete jobs | jobs.delete | ✓ | ✓ | — | — |
| Close jobs | jobs.close | ✓ | ✓ | — | — |
| Reopen jobs | jobs.reopen | ✓ | ✓ | — | — |
| Cancel jobs | jobs.cancel | ✓ | ✓ | ✓ | — |
| Pause jobs | jobs.pause | ✓ | ✓ | ✓ | — |
| Resume jobs | jobs.resume | ✓ | ✓ | ✓ | — |
| Assign team (Jobs) | jobs.assign-team | ✓ | ✓ | ✓ | — |
| Override status (Jobs) | jobs.set-status-override | ✓ | ✓ | ✓ | — |
Visits
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View visits | visits.view | ✓ | ✓ | ✓ | ✓ |
| Create visits | visits.create | ✓ | ✓ | ✓ | — |
| Update visits | visits.update | ✓ | ✓ | ✓ | — |
| Delete visits | visits.delete | ✓ | ✓ | — | — |
| Start visits | visits.start | ✓ | ✓ | ✓ | ✓ |
| Complete visits | visits.complete | ✓ | ✓ | ✓ | ✓ |
| Skip visits | visits.skip | ✓ | ✓ | ✓ | ✓ |
| Reopen visits | visits.reopen | ✓ | ✓ | ✓ | — |
| Override status (Visits) | visits.set-status-override | ✓ | ✓ | ✓ | — |
Invoices
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View invoices | invoices.view | ✓ | ✓ | ✓ | ✓ |
| Create invoices | invoices.create | ✓ | ✓ | ✓ | — |
| Update invoices | invoices.update | ✓ | ✓ | ✓ | — |
| Delete invoices | invoices.delete | ✓ | ✓ | — | — |
| Send invoices | invoices.send | ✓ | ✓ | ✓ | — |
| Void invoices | invoices.void | ✓ | ✓ | — | — |
| Record payment (Invoices) | invoices.record-payment | ✓ | ✓ | ✓ | — |
| Add adjustment (Invoices) | invoices.add-adjustment | ✓ | ✓ | ✓ | — |
| Override status (Invoices) | invoices.set-status-override | ✓ | ✓ | ✓ | — |
Payments
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View payments | payments.view | ✓ | ✓ | ✓ | ✓ |
| Create payments | payments.create | ✓ | ✓ | ✓ | — |
| Allocate payments | payments.allocate | ✓ | ✓ | ✓ | — |
| Void payments | payments.void | ✓ | ✓ | — | — |
| Process refunds (Payments) | payments.refund | ✓ | ✓ | — | — |
| View refunds (Payments) | payments.refund-view | ✓ | ✓ | ✓ | — |
| Export payments | payments.export | ✓ | ✓ | ✓ | — |
Users
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View users | users.view | ✓ | ✓ | ✓ | — |
| Invite users | users.invite | ✓ | ✓ | — | — |
| Update users | users.update | ✓ | ✓ | — | — |
| Delete users | users.delete | ✓ | ✓ | — | — |
Teams
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View teams | teams.view | ✓ | ✓ | ✓ | — |
| Create teams | teams.create | ✓ | ✓ | — | — |
| Update teams | teams.update | ✓ | ✓ | — | — |
| Delete teams | teams.delete | ✓ | ✓ | — | — |
Settings
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View settings | settings.view | ✓ | ✓ | ✓ | — |
| Update settings | settings.update | ✓ | ✓ | ✓ | — |
Roles
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View roles | roles.view | ✓ | ✓ | ✓ | — |
| Manage roles | roles.manage | ✓ | — | — | — |
Insights
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View insights | insights.view | ✓ | ✓ | ✓ | — |
Reports
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View reports | reports.view | ✓ | ✓ | ✓ | — |
| Export reports | reports.export | ✓ | ✓ | ✓ | — |
Timesheets
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View timesheets | timesheets.view | ✓ | ✓ | ✓ | ✓ |
| Submit timesheets | timesheets.submit | ✓ | ✓ | ✓ | ✓ |
| Approve timesheets | timesheets.approve | ✓ | ✓ | ✓ | — |
| Export timesheets | timesheets.export | ✓ | ✓ | ✓ | — |
Time entries
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View time entries | time-entries.view | ✓ | ✓ | ✓ | ✓ |
| Create time entries | time-entries.create | ✓ | ✓ | ✓ | ✓ |
| Update time entries | time-entries.update | ✓ | ✓ | ✓ | ✓ |
| Approve time entries | time-entries.approve | ✓ | ✓ | ✓ | — |
| Confirm payroll (Time entries) | time-entries.payroll | ✓ | — | — | — |
| Crew lead (Time entries) | time-entries.crew-lead | ✓ | ✓ | — | — |
Expenses
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View expenses | expenses.view | ✓ | ✓ | ✓ | ✓ |
| Create expenses | expenses.create | ✓ | ✓ | ✓ | ✓ |
| Approve expenses | expenses.approve | ✓ | ✓ | — | — |
Campaigns
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View campaigns | campaigns.view | ✓ | ✓ | ✓ | — |
| Create campaigns | campaigns.create | ✓ | ✓ | ✓ | — |
| Update campaigns | campaigns.update | ✓ | ✓ | ✓ | — |
| Delete campaigns | campaigns.delete | ✓ | ✓ | ✓ | — |
| Send campaigns | campaigns.send | ✓ | ✓ | — | — |
Equipment
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View equipment | equipment.view | ✓ | ✓ | ✓ | ✓ |
| Create equipment | equipment.create | ✓ | ✓ | ✓ | — |
| Update equipment | equipment.update | ✓ | ✓ | ✓ | — |
| Delete equipment | equipment.delete | ✓ | ✓ | ✓ | — |
Catalog
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View catalog | catalog.view | ✓ | ✓ | ✓ | ✓ |
| Create catalog | catalog.create | ✓ | ✓ | ✓ | — |
| Update catalog | catalog.update | ✓ | ✓ | ✓ | — |
| Delete catalog | catalog.delete | ✓ | ✓ | — | — |
Checklists
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View checklists | checklists.view | ✓ | ✓ | ✓ | ✓ |
| Create checklists | checklists.create | ✓ | ✓ | ✓ | — |
| Update checklists | checklists.update | ✓ | ✓ | ✓ | — |
| Delete checklists | checklists.delete | ✓ | ✓ | ✓ | — |
| Update checklist items (Checklists) | checklists.item_update | ✓ | ✓ | ✓ | ✓ |
Tasks
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View tasks | tasks.view | ✓ | ✓ | ✓ | ✓ |
| Create tasks | tasks.create | ✓ | ✓ | ✓ | ✓ |
| Update tasks | tasks.update | ✓ | ✓ | ✓ | — |
| Delete tasks | tasks.delete | ✓ | ✓ | ✓ | — |
Service areas
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View service areas | service-areas.view | ✓ | ✓ | ✓ | ✓ |
| Create service areas | service-areas.create | ✓ | ✓ | ✓ | — |
| Update service areas | service-areas.update | ✓ | ✓ | ✓ | — |
| Delete service areas | service-areas.delete | ✓ | ✓ | ✓ | — |
Automations
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View automations | automations.view | ✓ | ✓ | ✓ | — |
| Create automations | automations.create | ✓ | ✓ | ✓ | — |
| Update automations | automations.update | ✓ | ✓ | ✓ | — |
| Delete automations | automations.delete | ✓ | ✓ | ✓ | — |
Templates
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View templates | templates.view | ✓ | ✓ | ✓ | ✓ |
| Create templates | templates.create | ✓ | ✓ | ✓ | — |
| Update templates | templates.update | ✓ | ✓ | ✓ | — |
| Delete templates | templates.delete | ✓ | ✓ | ✓ | — |
API keys
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View api keys | api-keys.view | ✓ | ✓ | ✓ | — |
| Create api keys | api-keys.create | ✓ | ✓ | — | — |
| Delete api keys | api-keys.delete | ✓ | ✓ | — | — |
Integrations
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View integrations | integrations.view | ✓ | ✓ | ✓ | — |
| Manage integrations | integrations.manage | ✓ | ✓ | — | — |
Schedule
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| View schedule | schedule.view | ✓ | ✓ | ✓ | ✓ |
| Update schedule | schedule.update | ✓ | ✓ | ✓ | — |
Communications
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| Send communications | communications.send | ✓ | ✓ | ✓ | — |
Pay for performance
| Permission | Description | Owner | Admin | Office | Field |
|---|---|---|---|---|---|
| Create rules (P4P) | p4p.rules-create | ✓ | ✓ | — | — |
| Update rules (P4P) | p4p.rules-update | ✓ | ✓ | — | — |
| Approve periods (P4P) | p4p.periods-approve | ✓ | ✓ | — | — |
| View own performance (P4P) | p4p.performance-view | ✓ | ✓ | ✓ | ✓ |
| View team performance (P4P) | p4p.performance-view-team | ✓ | ✓ | — | — |
| Create time entries for others (P4P) | p4p.time-entries-create-for-others | ✓ | ✓ | ✓ | — |
| Reset calibration (P4P) | p4p.calibration-reset | ✓ | ✓ | — | — |
Legend
| Symbol | Meaning |
|---|---|
| ✓ | Granted by default on this system role |
| — | Not granted by default |
Notes
- Owner bypass. The Owner role skips permission checks, including permissions added after you created the company.
- Custom roles. You can pick any combination of these permissions.
- Field time and expenses. Field workers who have time-entry or expense permissions only see their own records. The Expenses screen in the app is not live yet. Do not treat expense submit as a working day-to-day flow.
- P4P. Permission rows exist for Pay for Performance. The dedicated P4P page in the sidebar is still Coming Soon. Time tracking still records the minutes P4P will use later.
