Skip to content

Administration & Utilities


The Administration section provides system-wide configuration for users, roles, permissions, and integrations. The Utilities section contains operational tools and reference data used across multiple modules.


  • User — A login account that can access the application. Each user has an email (login), display name, optional employee link, and one or more assigned roles. Users are created by administrators and receive an invitation email to set their password.

  • Role — A named collection of permissions that controls what a user can see and do. Roles are designed around job functions (e.g., “AP Clerk”, “Service Manager”, “Administrator”). A user can have multiple roles, and their effective permissions are the union of all assigned roles.

  • Permission Override — A fine-grained access control rule that enables or disables access to a specific field beyond what the role allows. Overrides apply to field-level controls only. Override sets are for edge cases — for example, allowing a specific user to view salary fields that their role normally hides.

  • Custom Field — An organization-specific data field added to a standard record type (Customer, Work Order, Job, Employee, etc.) without code changes. Custom fields support these selectable types: String, Decimal, Date, Model (an entity lookup), Boolean, and Enum. They appear on create/edit/view screens and can be required.

  • Tag — A color-coded label applied to records for categorization and filtering. Tags are cross-module — a single tag definition can apply to customers, work orders, leads, and equipment. Unlike custom fields (which store structured values), tags are lightweight grouping mechanisms.

  • Integration — A connection to a third-party service (Stripe, Ring Central, Podium, Ask The Seal). Integrations are configured in Administration and extend the application’s capabilities — for example, Stripe enables online payment collection on work orders, and Ring Central enables cloud telephony.


Upstream — Administration is a prerequisite for all modules:

  • Users and Roles → Every module requires authenticated users with appropriate permissions. The AP Clerk role controls access to Accounts Payable, the Service Manager role controls access to Service, etc.
  • Custom Fields → Custom fields defined here extend data models across all modules. A custom field on the Customer model appears in AR, Service, CRM, and Job Costing.
  • Tags → Tag definitions apply cross-module. A “VIP” tag created here can be applied to customers in AR, leads in CRM, and work orders in Service.

Downstream — Administration controls access everywhere:

  • Role Permissions → Every screen, button, and action in every module checks the user’s role permissions. Creating a new role or modifying permissions immediately affects what users see.
  • Scheduling Boards → Board configurations determine which technicians appear on the Service dispatch and scheduling boards.
  • Form Templates → Templates defined here are used by the Service module for work order data collection forms.
  • Integrations → Connected services affect other modules — Stripe payments appear in AR, Ring Central calls appear in CRM communications.

Key Integration Point — Role-Based Access Control: The role system is the security backbone. When Kevin (Admin) creates a new user and assigns the “AP Clerk” role, that user immediately gains access to vendor management, invoice posting, and payment processing — but cannot access payroll, GL settings, or job costing. Modifying a role’s permissions instantly updates access for every user assigned to that role.


Navigate to Administration in the main sidebar to access system configuration.


Manage the system user accounts that can log in and access the application.

ColumnDescription
AvatarUser profile image
EmailUser’s login email address
Display NameName shown throughout the application
TitleJob title or role description
Employee NumberLinked employee record (if applicable)
StatusNew, Active, Inactive, or Invitation Pending
RolesComma-separated list of assigned roles
ExtInternal phone extension
FieldRequiredDescription
EmailYesLogin email address (max 255 characters; read-only when editing)
Display NameYesName displayed in the application (max 255 characters)
TitleNoJob title or description (max 255 characters)
Phone ExtensionNoInternal extension
EmployeeNoLink this user to an employee record
RolesNoOne or more roles to assign — determines what the user can access
ActionDescription
Create UserAdd a new user (sends an invitation email)
Edit UserModify user details and role assignments
Delete UserPermanently remove the user account
Resend InvitationResend the invitation email to a user with Invitation Pending status
Reset PasswordSet a new password directly or trigger a password-reset email

Choose one of two methods:

OptionDescription
Initial PasswordEnter and confirm a new password (minimum 8 characters) directly
EmailSend the user a password-reset link via email

Roles control what each user can see and do. Assign one or more roles to each user.

Displays all defined roles. Each row shows the role name and actions.

FieldRequiredDescription
NameYesRole name (max 255 characters)

After creating or opening a role, use the Permissions section to configure exactly what the role can do. Permissions are organized by category (module). Toggle individual permissions on or off using the checkboxes. Enable bulk edit mode to modify all permissions at once.

The Create / Edit Role dialog has two tabs that determine what the role grants:

TabPurpose
PermissionsToggle the individual permissions the role grants, organized by category (module). This is the tab described above.
OverridesAttach one or more Permission Override Sets to the role, applying their field-level rules to everyone who holds the role.

The Overrides tab lists every defined override set with its Name and an Enabled checkbox. Check a set to attach it to the role; uncheck it to remove it. For a brand-new role, all sets start unchecked; when you open an existing role, the checkboxes reflect which sets are already attached.

  1. Open Administration → Roles and create a new role or click Edit on an existing one.

  2. Enter or confirm the role Name, then select the Overrides tab.

  3. Check the Enabled box next to each override set you want this role to apply, and uncheck any you want to remove.

  4. Click Save. The selected override sets are attached to the role (and any you unchecked are detached), and they take effect for every user assigned the role.

ActionDescription
Create RoleDefine a new role
Edit RoleModify the role name and permissions
Copy RoleAfter a confirmation prompt, create a duplicate of an existing role with all its permissions and assigned override sets. The copy is automatically named <Original Name> - Copy (rename it afterward via Edit Role)
Delete RoleRemove the role — users assigned only this role will lose the associated access

The Edit All Roles action opens a full-screen matrix for comparing and changing the same permission across every role at once. Use it when you want to grant or revoke a specific permission for several roles together, rather than opening each role one at a time.

Navigation: Administration → Roles → Edit All Roles (pencil button in the top-right of the role list, next to Create Role)

The matrix lists one row per permission and one column per role:

ColumnDescription
CategoryThe module/category the permission belongs to. Rows are grouped by category, and the Category and Name columns stay pinned to the left as you scroll across roles.
NameThe individual permission (for example, the Create / View / Edit / Delete entries for a model).
One column per roleA checkbox for each role. Check the box to grant that permission to that role; clear it to revoke it. The column header shows the role name, and columns are ordered by role name.
  1. From the role list, click the Edit All Roles (pencil) button in the top-right header.
  2. Scroll to the permission row you want to change. Rows are grouped by category to help you find related permissions.
  3. Check or clear the checkbox in each role’s column to grant or revoke that permission for that role.
  4. Click Save to apply the changes to all roles at once, or Close to discard them.

Permission Override Sets allow fine-grained access control beyond the standard role system. They can enable or disable read or update access to specific model fields. Override sets are assigned to roles (via the Overrides tab of the role editor) and apply to field-level controls only. A user is affected only through the roles assigned to them; override sets cannot be attached directly to an individual user.

Displays all defined override sets by name.

FieldRequiredDescription
NameYesDescriptive name for this override set

Override Rules — Each set contains one or more rules:

FieldDescription
ModelThe data model this rule applies to
TypeField-level override (screen-level overrides are not applied at runtime)
FieldThe specific field within the model
ValueEnabled (1) or Disabled (0)
PermissionRead or Update

A new override row appears automatically when you start filling in (focus) the last row. Use the delete (trash) icon at the end of each row to remove that rule.


Scheduling Boards define which users and schedulable employees appear on each board in the scheduling interface.

Displays all boards by name.

FieldRequiredDescription
NameYesBoard name

Users — Add system users who can view and interact with this board. Each row shows display name, username, and title.

Employees — Add schedulable employees (technicians/staff) who appear as resources on this board.

Use the Add User and Add Employee buttons to assign members. Use the row delete button to remove them.


Form Templates define the structure of custom data-collection forms that can be attached to work orders, service records, and other documents.

ColumnDescription
NameTemplate name
DescriptionDescription of the template’s purpose
Form TypeThe type of form (determines where it can be used)
Signature RequiredWhether the form requires a signature to submit
Enforce RequiredWhether required fields block submission if empty
ActiveWhether the template is currently available for use

Header Fields

FieldRequiredDescription
NameYesTemplate name
DescriptionNoDescription of the template’s purpose
Form TypeNoClassification that determines where this form appears
Require SignatureNoWhether the form requires a signature to submit
Enforce RequiredNoWhether required fields block submission if empty
Is ActiveNoWhether the template is available for use

Field Editor

The field editor has two panes. The left Fields pane lists the fields on the form — drag rows to reorder them, click a row to select it, and use Add Field to add a new one. Selecting a field opens the Configure Field pane on the right, where you set:

SettingRequiredDescription
Field TypeYesData type — see options below
LabelYesDisplay label shown to the user
Field NameNoInternal identifier for the field. Editable only when the Form Type is PDF; for other form types it is read-only
Is RequiredNoWhether this field must be filled before submission
MetaNoType-specific configuration (options for radio buttons, precision for decimals, etc.)

PDF Template Upload

In addition to manually defining fields, you can upload a PDF template file to a form template. The system extracts the fillable form field names from the PDF and stores them with the template. When this form is attached to a work order, the extracted PDF fields are automatically populated with data from the work order (customer name, site address, work order details, etc.), reducing manual data entry.

  1. Set the Form Type to PDF — the upload control only appears for PDF form templates.
  2. Click Upload PDF (it becomes Re-upload PDF once a PDF is attached).
  3. Select a PDF file containing fillable form fields.
  4. The system reads the PDF and extracts the form field names, reporting how many were detected.
  5. The extracted field names become available to associate with the template’s fields.

Field Types

TypeDescription
stringText input
decimalDecimal number
moneyCurrency amount
dateDate picker
intInteger number
booleanYes/No checkbox
percentPercentage value
timeTime input
emailEmail address
pictureImage upload
radioRadio button group (configure options in Meta)
equipmentEquipment selector
ActionDescription
Create Form TemplateDefine a new form template
Edit Form TemplateModify the template name, fields, and settings
Copy Form TemplateAfter a confirmation prompt, create a duplicate of an existing form template with all its fields and settings. The copy is automatically named <Original Name> - Copy
Delete Form TemplateRemove the form template

Form Type is not a free-text classification — it is a two-option radio that switches the template between two distinct modes. Choose the mode when you first create the template.

Form TypeWhat it does
ChecklistA plain data-collection form built only from the fields you define. No PDF is involved, and the Field Name mapping and Require Signature options stay disabled.
PDFBacks the template with an uploaded fillable PDF (AcroForm). This enables the Upload PDF control, the Require Signature checkbox, and the per-field Field Name mapping used to tie each of your fields to a field in the PDF.

The Require Signature checkbox can only be turned on for a PDF template; switching the Form Type away from PDF automatically clears Require Signature and removes any Field Name mappings you had entered.

4.5.2 Per-Field Validation (Field-Specific Configuration)

Section titled “4.5.2 Per-Field Validation (Field-Specific Configuration)”

When you select a field in the Configure Field pane, a Field-Specific Configuration area appears below the field type and label. The controls shown here depend on the field type, and they let you set validation limits beyond just marking the field required:

Field TypeField-specific configuration
stringMin Length and Max Length (character counts)
decimal, money, percentMin, Max, and Decimal Places
int (Number)Min and Max
dateMin Date and Max Date
radioOptions editor — use Add Option to add a choice, type each option’s label, and use the delete icon to remove an option
boolean, time, email, picture, equipmentNo additional configuration (the pane shows “No additional configuration required for this field type”)

The template will not save while a field’s limits are inconsistent. Saving is blocked, and an error naming the field is shown, when: a Min is greater than or equal to its Max, a minimum length/value is negative, a maximum is zero or less, a Min Date falls after its Max Date, or a radio field has no options or an option with a blank label.

For PDF templates, after you upload a PDF the system extracts its fillable field names and offers them when you configure each field, so you can map your form’s data onto the PDF.

  1. Set Form Type to PDF and upload a PDF (see PDF Template Upload above). The detected field names become selectable.
  2. Select a field in the Fields pane.
  3. In the Field Name box, pick a PDF field name from the list (or type one). A name already used by another field is marked (in use) in the dropdown.
  4. For a field whose type is equipment, map three PDF fields instead of one — Model Field, Serial Field, and Manufacturer Field — so the equipment’s model, serial number, and manufacturer each fill their own PDF field.

To see which PDF field names ServiSuite can auto-fill, open the Mapping Legend (the book icon in the template list header). It lists each recognized PDF Field Name with its description, type, and category; name the form fields in your PDF to match these values so they auto-fill during invoice generation. A search box filters the list.

Custom Fields lets you add organization-specific data fields to standard system records without code changes.

Displays all models that support custom fields. Click any model to expand and manage its fields.

Each row in the field grid is editable:

ColumnRequiredDescription
NameNoField identifier displayed in the UI
TypeNoData type: String, Boolean, Date, Model, Decimal, or Enum
MetaNoType-specific config: for Model — which model to look up; for Decimal — decimal places; for Enum — the list of selectable options
Default ValueNoPre-filled value when a new record is created
Is RequiredNoWhether the field must be filled before saving the record

Use the Add Row button to add a new field and the row delete button to remove one. Click Save to persist all changes.


Tags are color-coded labels that can be applied to records across multiple modules for categorization and filtering.

ColumnDescription
LabelTag name
ColorDisplayed as a colored swatch
Applicable ModelsThe record types this tag can be applied to
FieldRequiredDescription
LabelYesTag name (max 255 characters)
ColorYesHex color selected via a color picker
Applicable ModelsNoOne or more models where this tag can be used (e.g., Customer, Work Order, Lead, Equipment)

Attachment Access Classes control which roles can view specific uploaded documents. Assign an access class to an attachment to restrict visibility.

Displays all defined classes by name.

FieldRequiredDescription
NameYesDescriptive class name
RolesNoRoles that are permitted to view attachments in this class

Only users in the assigned roles will be able to open or download attachments tagged with this class.


View and manage all currently active login sessions.

ColumnDescription
Session IDUnique identifier for the session
UserDisplay name of the logged-in user
ExpirationDate and time when the session will automatically expire

Kill Session — Immediately terminates the selected session, logging out that user. A confirmation prompt is shown before the action is taken.

Sessions are filtered by your current organization, so you only see sessions belonging to users in your organization.

This screen is read-only except for the Kill Session action. It is useful for security incident response or when a user needs to be forced out of the system.


Configure network printers used for check printing, label printing, and other document output.

ColumnDescription
NamePrinter friendly name
HostHostname or IP address
PortNetwork port number
TypePrinter type classification
DPIDots per inch resolution
ActionDescription
Create PrinterAdd a new printer configuration
Edit PrinterModify an existing printer’s settings
Delete PrinterRemove the printer — requires confirmation

Send a bulk internal email to all users in one or more roles.

FieldRequiredDescription
RolesYesOne or more roles to send to — select All Roles to target everyone, or choose individual roles. At least one must be selected.
Only Active UsersNoWhen checked, the email is sent only to users who are currently logged in (have an active session), not to all users whose account status is Active
SubjectYesEmail subject line
BodyYesEmail body text

Click Send to deliver the email. A confirmation notification appears on success and the form resets.


Navigation: Administration → Integrations

Connect third-party services to the application. The Integrations screen displays a card-based layout — each integration appears as a card showing the service logo, a status badge (Connected in green or Available in blue), and the relevant action buttons. Connected integrations are indicated by the green Connected badge along with Configure and Unlink buttons.

Accept online payments through Stripe. Connects via Stripe OAuth.

ActionDescription
ConnectInitiates the Stripe OAuth authorization flow — redirects to Stripe’s hosted authorization page where you sign in and grant access
ConfigureOpens configuration settings for the Stripe integration (available only when connected)
DisconnectRemoves the Stripe account link after confirmation

Stripe Configuration

FieldRequiredDescription
Auto Cash ReceiptNoToggle exists but is not checked at runtime; cash receipts are always posted when Payment Type is configured
Payment TypeNoAR payment type to use for auto-created cash receipts

When Stripe is connected, the following capabilities are enabled across the application:

  • Customer Payment Links — ServiSuite can generate and email a customer payment link for service contract renewals. The customer opens a ServiSuite-hosted payment page (which uses Stripe to capture the card) and, when paid, the payment is automatically recorded and applied to the contract’s underlying invoices.
  • Work Order Payments — Service technicians can collect credit card payments on work orders through the mobile app using the connected Stripe account.
  • Auto Cash Receipt — When a Payment Type is configured, a Stripe payment automatically creates a cash receipt in AR, applying it to the corresponding invoice.
  • Email Stripe Receipts — After a successful Stripe payment, payment receipts can be emailed to customers directly from the application.

The Stripe OAuth flow redirects to Stripe’s authorization page, where the administrator signs in with their Stripe account credentials and grants the application access. Upon successful authorization, the integration status changes to Connected and the Configure button becomes available.

Cloud communication and phone system integration.

ActionDescription
ConnectInitiates the Ring Central OAuth authorization flow — redirects to Ring Central’s authorization page
DisconnectImmediately revokes and removes the Ring Central account link (no confirmation prompt)

When Ring Central is connected, the following capabilities are enabled:

  • Inbound Call Handling — When an inbound call is answered, an Incoming Call popup appears in the application showing the caller’s phone number, and the call is recorded against the matched customer.
  • Call Logging — Answered inbound calls are captured as call records and matched to a customer. A CRM communication entry is created when a user links a call to a work order; outbound calls are not auto-logged.
  • Caller ID Matching — Incoming calls are matched by phone number to existing customer (and customer site) records, providing instant context to the person answering. Lead records are not matched.

The Ring Central OAuth flow redirects to Ring Central’s authorization page. Upon successful authorization, the integration status changes to Connected and telephony features become available across the application.

Third-party service integration for dispatch notification and tracking.

ActionDescription
ConnectOpens the ATS configuration dialog
DisconnectRemoves the ATS connection

ATS Configuration

FieldRequiredDescription
Account IDYesAccount ID provided by Ask The Seal

When connected, the ATS integration sends appointment scheduling details (start and end times) and the assigned technician’s name to Ask The Seal when an appointment is dispatched. This enables real-time technician tracking and customer-facing ETA notifications through the ATS platform.

Customer messaging and review platform integration.

ActionDescription
ConnectOpens the Podium configuration dialog
DisconnectRemoves the Podium connection

Podium Configuration

FieldRequiredDescription
Location IDYesLocation ID provided by Podium
TokenYesAuthentication token provided by Podium

Navigation: Available via Actions → Audit on supported record screens (Jobs, Customers, Vendors, Work Orders, Employees, etc.)

The Audit Trail provides a timestamped log of all changes made to a record. It shows who changed what, when, and what the old and new values were.

ColumnDescription
TimestampWhen the change occurred (displayed in local time)
UserDisplay name of the user who made the change
DescriptionSummary of the change (e.g., “Updated Job”, “Created Contract”)
  • Filter entries by Start Date/Time and End Date/Time (defaults to the last 1 month).
  • Click the expand arrow on any row to see the Transaction Details — individual field-level changes with old and new values.
ColumnDescription
DescriptionThe field or relationship that changed
Old ValueThe previous value (formatted by type — currency, date, percent, etc.)
New ValueThe updated value

Change types include simple field updates, related record changes (e.g., changing the assigned customer), and one-to-many relationship changes (e.g., adding a contract line).


The main application sidebar includes the following utility links:

  • Documentation — Opens the in-app documentation site in a new tab, providing access to user guides and process references.
  • System Status — A status indicator dot and link that connects to the system’s uptime monitoring page (via Instatus integration), showing current service availability and any ongoing incidents.

The Utilities section provides operational tools and shared reference data.


Define the reasons that can be used when placing a sales order, shipment, or vendor invoice on hold. Navigate to Utilities → Settings → Hold Reasons.

ColumnDescription
ReasonThe hold reason text
Applies To Sales OrderWhether this reason can be used on sales orders
Applies To Sales Order ShipmentWhether this reason can be used on shipments
Applies To Vendor InvoiceWhether this reason can be used on vendor invoices
FieldRequiredDescription
ReasonYesHold reason text (max 255 characters)
Applies To Sales OrderNoCheckbox
Applies To Sales Order ShipmentNoCheckbox
Applies To Vendor InvoiceNoCheckbox

Find and merge duplicate customer accounts or site addresses. Navigate to Utilities → Manage Customer Duplicates.

FieldDescription
Account TypeSearch for duplicate Customer accounts or duplicate Site addresses
Grouping MethodGroup duplicates by Address similarity or Name similarity

Click Get Duplicates to run the search. Results appear in the grid below the search controls.

ColumnDescription
(checkbox)Select records to include in a merge
Cust IDCustomer ID — click to open the customer record
Site IDSite address ID
NameCustomer or site name
AddressStreet address
Apt #Secondary address line (apartment/suite)
CityCity
StateState
ZipZIP code
Home PhoneHome phone number
Cell PhoneCell phone number

Select two or more records to merge, then use the action buttons:

ActionDescription
Show Impact of MergeDisplays a summary of all related records (AR transactions, work orders, invoices, contracts, etc.) that will be consolidated — review before merging
Merge Selected AccountsMerges all selected records into a single master account. You will choose which record is the master; all related records from the others are moved to it. This action is irreversible — confirm carefully.

An amortization calculator for loan and financing analysis. Navigate to Utilities → Financial Calculator.

FieldDescription
Solving ForSelect the unknown variable: Payment, Principal, Term, or Interest Rate — the selected field will be calculated from the others
PrincipalLoan amount ($)
Interest RateAnnual interest rate (%)
PaymentPeriodic payment amount ($)
TermNumber of monthly payments
Start DateDate of the first payment

Select the variable to solve for in the Solving For control. That field becomes disabled and is calculated automatically from the other values as you enter them. Click Generate Table to produce the amortization schedule, or Clear to reset all fields.

ColumnDescription
Date/PeriodPayment date or period number
PaymentTotal payment amount
Interest PaidInterest portion of the payment
Principal PaidPrincipal portion of the payment
Principal RemainingLoan balance after the payment
Cumulative InterestTotal interest paid to date
Cumulative PrincipalTotal principal paid to date
Cumulative TotalTotal amount paid to date

The schedule includes yearly subtotal rows and a final grand total row summarizing total interest and principal paid.


Many grid screens throughout the application support data import and export functionality.

Screens with a data-import button (Document Posting, Manage Budget Amounts, and AP Post Invoice) support bulk-loading data from external files.

ActionDescription
Download TemplateDownloads a blank CSV/Excel template with the correct column headers for this screen’s data format
Upload DataUpload a completed CSV or Excel file to import rows into the grid

The upload shows a progress indicator (0–100%) during processing. Imported data replaces or appends to the current grid contents depending on the screen.

Most AG Grid-based list screens include an export tool panel with three output formats:

FormatDescription
ExcelExports the current filtered/sorted grid data as an .xlsx file
CSVExports as a comma-separated values file
PDFGenerates a formatted PDF document with color-coded rows and column headers

Exports respect the current filter and sort state — only visible rows are included in the output.


The application uses WebSocket connections to deliver real-time data updates to all connected users. Changes made by one user are automatically reflected on other users’ screens without requiring a page refresh.

How it works:

  • Each browser session maintains a persistent WebSocket connection to the server.
  • When a record is created, updated, or deleted, the server publishes an event to all connected users in the same organization.
  • The client automatically updates the affected grids, lists, and detail screens in real time.

Capabilities:

  • Model updates — Record inserts, updates, and deletes are broadcast to all connected users, keeping list screens and detail views current.
  • Ring Central call events — Inbound and outbound call notifications appear in real time when the Ring Central integration is connected.
  • Session refresh — Authentication state changes are pushed to connected clients.

Connection management:

  • Auto-reconnection with retry if the connection drops (up to 10,000 retries at 3-second intervals).
  • Keep-alive ping/pong every 15 seconds to detect stale connections.
  • Connections are automatically cleaned up when the browser tab is closed.

Per-user preferences for your own account, including your profile picture, interface appearance, sidebar behavior, your personal scheduling boards, and your default organization.

Navigation: Click your avatar in the top-right corner of the application and choose User Settings from the dropdown menu.

The User Settings area has a left-hand navigation panel with three items:

ItemDescription
ProfileYour profile picture, appearance, and sidebar preferences, plus your default organization
Scheduling BoardsYour personal scheduling boards and the order of employees on each
Servisuite PluginDownloads the Servisuite Helper installer (used for local printing and other desktop integrations)

These settings apply only to your own user account.

The Profile screen lets you set a profile picture, toggle appearance and sidebar preferences, and select your default organization. Each toggle is saved immediately when changed, and a confirmation message appears once the change is stored.

Profile picture

Click the avatar area (labeled Click to upload a file when empty) to choose an image file. After selecting an image you can adjust it with the Zoom and Rotate sliders. Use the save button to apply the picture or the delete button to remove the selected image. Your updated picture appears on your avatar throughout the application.

Preference toggles

ToggleDescription
Dark Mode EnabledSwitches the application interface to a dark color theme
Sidebar Links New TabOpens sidebar navigation links in a new browser tab
Collapsed Sidebar On LoginStarts each session with the sidebar collapsed
Auto Collapse Sidebar CategoriesAutomatically collapses other sidebar categories when you expand one
Close Sidebar On Link ClickCloses the sidebar automatically after you click a navigation link

Each toggle is off by default until you change it.

Default Organization

Use the Default Organization selector to choose which organization you are signed in to by default. Selecting an organization updates your default immediately and shows a confirmation message.

The Scheduling Boards screen lists the scheduling boards available to you, showing each board’s name and whether it is your default. Use the edit action on a board to manage it:

  1. On the Scheduling Boards screen, click the Edit action on the board you want to change.

  2. In the edit dialog, drag employee rows to set the order in which employees appear on that board.

  3. Check Set as Default Board if you want this board to be your default.

  4. Click Save to apply your changes, or Cancel to discard them.

The Servisuite Plugin item downloads the Servisuite helper installer (servisuite-helper.msi). Clicking it opens the installer download directly; no further selection is required.

  1. Open the user avatar menu in the top bar and choose User Settings.
  2. In the left navigation panel, click Servisuite Plugin.
  3. Save and run the downloaded servisuite-helper.msi installer.

Each user can personalize the scheduling boards they have been given access to: choose which board opens by default for them, and set the order in which employees appear on a board. These are personal settings — they only affect the signed-in user and do not change the shared board configuration that administrators manage under Administration → Scheduling Boards (4.4 Scheduling Boards).

Navigation: User avatar menu (top right) → User SettingsScheduling Boards

The screen lists every scheduling board you have access to.

ColumnDescription
Scheduling BoardThe name of the board
DefaultWhether this board is currently set as your default board
(Edit)The Edit action — opens the personalization dialog for that board

Click the Edit (pencil) icon on a board to open the Edit Scheduling Board dialog.

FieldDescription
Set as Default BoardWhen checked, this board becomes your default board
Employee listA drag-to-reorder grid of the employees configured on this board; the order you set here is the order in which they appear for you

To personalize a board:

  1. From the user avatar menu, choose User Settings, then select the Scheduling Boards tab.
  2. Click the Edit (pencil) icon on the board you want to personalize.
  3. To make this your default board, check Set as Default Board.
  4. Drag employee rows up or down to set the order in which they appear for you on that board.
  5. Click Save. A confirmation message appears, or Cancel to discard your changes.

Print a shipment label for a From and To location to a PCL printer. Navigate to Utilities → Shipment Generation Labels to open the Print Shipment Generation Label dialog.

The printed label is titled “SHIPMENT GENERATION LABEL” and shows the From and To locations along with a scannable Data Matrix barcode that opens the corresponding shipment.

FieldRequiredDescription
From LocationYesThe originating location. Search by location ID or description.
To LocationYesThe destination location. Search by location ID or description.
PCL PrinterYesThe printer to send the label to. Only printers with a type of PCL are listed.
  1. Open Utilities → Shipment Generation Labels.

  2. Select the From Location and To Location.

  3. Select the PCL Printer to print to.

  4. Click Print. A confirmation message (“Label printed”) appears when the label is sent to the printer.

The printed label lists each location as its ID, followed by ” - ” and the location description when a description is present. The label’s barcode encodes the From and To location IDs so it can be scanned to open the matching shipment.

If no PCL printer appears in the list, no printer of type PCL has been configured. Printers and their types are managed under Administration → Printers (see 4.10 Printers).


PermissionDescription
View UserView the user list
Create UserCreate new user accounts
Edit UserEdit user details and role assignments
Delete UserRemove user accounts
View RoleView the roles list
Create RoleCreate new roles; required to copy a role
Edit RoleEdit role names and permissions
Delete RoleRemove roles
Read Permission OverridesView permission override sets
Create Permission OverridesCreate new override sets
Update Permission OverridesEdit override sets
Delete Permission OverridesRemove override sets
Read PrintersView the printer list
Create PrintersAdd new printers
Update PrintersEdit printer configurations
Delete PrintersRemove printers
View Access Control ClassView attachment access classes
Create Access Control ClassCreate new attachment access classes
Edit Access Control ClassEdit attachment access classes and their assigned roles
Delete Access Control ClassRemove attachment access classes
Manage Scheduling BoardsCreate, edit, and delete scheduling boards
Manage Form TemplatesCreate, edit, and delete form templates
Manage Custom Field DefinitionsAdd and modify custom fields on system models
Manage TagsCreate, edit, and delete tag definitions
Manage SessionsView active sessions and kill sessions
Internal Email BlastSend bulk emails to users by role
Manage API IntegrationsConnect, configure, and disconnect third-party integrations

Scenario: Kevin (Admin) needs to create a system login for Maria Garcia, who has been hired as the new AP Clerk at Precision Mechanical.

Step 1 — Create the user account:

  1. Navigate to Administration → Users and click Create User.
  2. Enter:
    • Email = maria.garcia@precisionmech.com
    • Display Name = Maria Garcia
    • Title = AP Clerk
  3. Link Employee = Maria Garcia (from the Payroll employee record).
  4. Assign Roles = AP Clerk.
  5. Click Create. An invitation email is sent to Maria’s email address.

Step 2 — Verify role permissions:

  1. Navigate to Administration → Roles and click AP Clerk to review.
  2. Confirm the role grants:
    • Vendor: Create, Read, Update ✓
    • Vendor Invoice: Create ✓
    • Pay Invoices (Misc): ✓
    • Issue Check (Misc): ✓
    • AP Key Off (Misc): ✓
    • AP Apply Prepayments (Misc): ✓
    • Bank Reconciliation: Create, Update ✓
  3. Confirm the role does NOT grant:
    • Payroll: any ✗
    • GL Settings: Update ✗
    • Job: Create/Update/Delete ✗

Step 3 — Maria accepts invitation:

  1. Maria clicks the link in the invitation email.
  2. Sets her password (minimum 8 characters).
  3. Logs in. She sees:
    • Accounts Payable menu (full access)
    • General Ledger menu (read-only, per role)
    • No Payroll, no Job Costing, no Administration menus

Step 4 — Add a permission override (optional): If Maria needs to view (but not edit) job cost data for invoice distribution:

  1. Kevin navigates to Administration → Permission Overrides and clicks +.
  2. Name = AP Clerk - View Jobs.
  3. Add rule: Model = Job, Field = (select a Job field), Permission = Read, Value = Allow.
  4. Assign this override set to Maria’s user.

Example 2: Customer Duplicate Detection and Merge

Section titled “Example 2: Customer Duplicate Detection and Merge”

Scenario: Kevin notices that Greenfield Construction has two customer records in the system — one entered as “Greenfield Construction” and another as “Greenfield Const.” — causing split AR history.

Step 1 — Find duplicates:

  1. Navigate to Utilities → Manage Customer Duplicates.
  2. Set Account Type = Customer, Grouping Method = Name.
  3. Click Get Duplicates.
  4. Results show two matching records:
Cust IDNameAddressBalance
C-1020Greenfield Construction450 Industrial Pkwy$17,000.00
C-1087Greenfield Const.450 Industrial Parkway$3,500.00

Step 2 — Review merge impact:

  1. Select both records using the checkboxes.
  2. Click Show Impact of Merge. The impact summary shows:
    • C-1020 (Greenfield Construction): 24 sales invoices, 3 jobs, 5 work orders, 8 proposals, plus AR and other related-record counts
    • C-1087 (Greenfield Const.): 2 sales invoices, 0 jobs, 1 work order, 0 proposals, plus AR and other related-record counts

Step 3 — Merge:

  1. Click Merge Accounts.
  2. On the Select Account to Merge Into screen, select C-1020 (Greenfield Construction) as the master record (it has the most history and the correct name), then click Next.
  3. Review the Data Moving with Transfer screen, which shows the related-record counts that will move into the master.
  4. Click Merge.

Result:

  • C-1087 no longer exists.
  • C-1020 (Greenfield Construction) now shows:
    • 26 invoices (24 + 2 merged)
    • 3 open jobs
    • 6 work orders (5 + 1 merged)
    • 13 cash receipts (12 + 1 merged)
    • Combined balance: $20,500.00
  • AR aging and customer statements now reflect the complete history under one record.

Rules are grouped by category. Each rule has an ID for cross-referencing.

  • BR-ADM-C1: Role Union — A user with multiple roles has effective permissions = union of all assigned role permissions.
  • BR-ADM-C2: Override Specificity — Permission overrides enable or disable field-level access at a granularity finer than roles; resolution is last-write-wins.
  • BR-ADM-C3: Merge Irreversibility — Customer duplicate merges are permanent and cannot be undone.
  • BR-ADM-A1: Invitation Email — Creating a new user auto-sends an invitation email with a password-setup link.
  • BR-ADM-A2: Role Cascade — Modifying a role’s permissions instantly updates access for every user assigned to that role.
  • BR-ADM-A3: Custom Field Propagation — A custom field added to a model (e.g., Customer) immediately appears in all modules using that model.
  • BR-ADM-A4: Required Field Enforcement — Custom fields marked “Required” block record saves across all modules until filled.
  • BR-ADM-W1: User Onboarding — Admin creates user → Assigns roles → Invitation sent → User sets password → Access granted per roles.

  • BR-ADM-W2: Duplicate Merge — Find Duplicates → Review Impact → Select Master → Confirm Merge → All records consolidated.

  • BR-ADM-A5: Audit Trail Logging — All changes to supported records (Jobs, Customers, Vendors, Work Orders, Employees) are automatically logged with the user, timestamp, and field-level old/new values.

  • BR-ADM-A6: Real-time Data Sync — Record inserts, updates, and deletes are broadcast to all connected users in the same organization via WebSocket, keeping list screens and detail views synchronized without manual refresh.

  • BR-ADM-X1: Scheduling Board Config — Board definitions determine which employees appear on Service dispatch and scheduling boards.
  • BR-ADM-X2: Integration Effects — Connected integrations affect other modules: Stripe payments appear in AR, Ring Central calls appear in CRM.
  • BR-ADM-X3: Tag Cross-Module — Tags defined in Administration can be applied to records in AR, CRM, Service, and other modules.

Q: A user can’t access a screen they need — they don’t see it in the menu. Check the user’s assigned Roles and verify the role grants the necessary permissions for that screen. If the user needs access to one screen that their role doesn’t cover, consider adding a Permission Override rather than changing the entire role (BR-ADM-C1, BR-ADM-C2).

Q: I changed a role’s permissions but users still see the old access. Role permission changes take effect immediately (BR-ADM-A2). The user may need to refresh their browser or log out and log back in. If the issue persists, check whether a Permission Override is overriding the role grant — override resolution is last-write-wins.

Q: A custom field I created isn’t appearing on the form. Custom fields propagate to all modules that use the target model immediately (BR-ADM-A3). If you don’t see it, verify you selected the correct Model (e.g., Customer, Work Order, Job). Also check whether the field has a display condition that hides it in certain contexts.

Q: Users can’t save records — “required field” error for a custom field. Custom fields marked Required block record saves across all modules until filled (BR-ADM-A4). If the field was added after existing records were created, consider making it optional or providing a default value. Otherwise, users must fill it on every create and edit.

Q: A hold reason isn’t showing in the dropdown on a specific document. Hold reasons are scoped to specific document types. Check the hold reason’s Applies To checkboxes in Utilities → Settings → Hold Reasons and enable it for the document type where it should appear.

Q: I’m worried about merging customer duplicates — what if I pick the wrong master? Customer merges are permanent and cannot be undone (BR-ADM-C3). Always use Show Impact of Merge first to review how many related records (invoices, work orders, cash receipts, proposals) will be affected. Select the record with the most complete history and correct name as the master.

Q: The invitation email wasn’t received by the new user. Check the email address for typos. The invitation auto-sends when the user is created (BR-ADM-A1). If the address is correct, check the user’s spam/junk folder. You can resend the invitation from the user’s record.

Q: An integration (Stripe, Ring Central) isn’t working after configuration. Verify the integration credentials and connection status in Administration → Integrations. Each integration requires specific API keys or OAuth tokens. Test the connection before expecting it to function across modules. Stripe affects AR payments; Ring Central affects CRM communications (BR-ADM-X2).

Q: How do I view the audit history for a record? Navigate to the record’s detail screen (e.g., View Job, View Customer) and select Actions → Audit. The audit trail shows all changes with timestamps, the user who made the change, and old/new values for each field (BR-ADM-A5). Use the date range filter to narrow results — it defaults to the last 1 month.

Q: Changes made by another user aren’t appearing on my screen. The application uses real-time WebSocket updates to keep screens synchronized (BR-ADM-A6). If changes are not appearing, check your network connection — the WebSocket may have disconnected and is attempting to reconnect. Refreshing the browser will re-establish the connection.


  • Role design: Keep roles focused on job functions (e.g., “AP Clerk”, “Sales Manager”) rather than creating one role per person. Multiple roles can be assigned to a single user when someone covers multiple functions.

  • Copying roles: Use Copy Role when creating a new role that is similar to an existing one — it duplicates all permission settings and you only need to adjust the differences.

  • Custom fields vs. form templates: Use Custom Fields to add persistent data fields to standard records (stored and searchable). Use Form Templates for structured data-collection forms attached to work orders or service visits (captured at the time of service).

  • Tags vs. custom fields: Tags are lightweight labels for filtering and categorization — a record can have many tags. Custom fields are for storing specific named values. Use tags for status flags, groupings, or free-form categories; use custom fields for structured data you need to query or report on.

  • Permission overrides: Override sets are for edge cases where a specific user or situation needs access that differs from their role’s default. Keep override sets minimal and well-documented to avoid confusion.

  • Attachment access classes: Attachments are scoped to an access control class and are visible only to users whose roles are assigned to that class. The visibility check requires an overlap between the class’s roles and the viewer’s roles, so an attachment with no access class assigned has no matching roles and is not broadly visible. Assign an access class to restrict a document to specific roles (e.g., HR-only files on an employee record).

  • Kill session carefully: Killing a session immediately logs out that user without warning. Use this for security purposes (e.g., a former employee whose account has not yet been deactivated) or when a user is locked in a stuck session.

  • Email Blast: The Email Blast goes to system user email addresses — it is for internal staff communication only, not for customer-facing messages. It targets users by role, so role assignments must be current for the right people to receive it.

  • Customer duplicate merges: The merge operation is permanent and cannot be undone. Always use Show Impact of Merge first to review how many related records will be affected. Verify that you have selected the correct master account before confirming.

  • Financial Calculator: The calculator is a standalone planning tool — it does not create any records in the system. Use it to model loan terms, compare payment scenarios, or verify financing structures before entering them elsewhere.

  • Hold reasons scope: A hold reason only appears as an option on the document types it is configured for. If a hold reason is not showing up in a dropdown, check that the correct Applies To checkboxes are enabled in Utilities → Settings → Hold Reasons.

  1. Navigate to the record’s detail screen (e.g., View Job, View Customer, View Vendor).
  2. Click Actions and choose the record-specific audit option (e.g. Audit Job, Audit Customer, Audit Vendor) to open the audit trail.
  3. Adjust the Start Date/Time and End Date/Time to filter the range of changes you want to review (defaults to the last 1 month), then click Search.
  4. Click the expand arrow on any row to see field-level changes with old and new values.