Administration & Utilities
1. Overview
Section titled “1. Overview”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.
2. Key Concepts
Section titled “2. Key Concepts”-
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.
3. How It Connects
Section titled “3. How It Connects”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.
4. Administration
Section titled “4. Administration”Navigate to Administration in the main sidebar to access system configuration.
4.1 Users
Section titled “4.1 Users”Manage the system user accounts that can log in and access the application.
User List Columns
Section titled “User List Columns”| Column | Description |
|---|---|
| Avatar | User profile image |
| User’s login email address | |
| Display Name | Name shown throughout the application |
| Title | Job title or role description |
| Employee Number | Linked employee record (if applicable) |
| Status | New, Active, Inactive, or Invitation Pending |
| Roles | Comma-separated list of assigned roles |
| Ext | Internal phone extension |
Create / Edit User
Section titled “Create / Edit User”| Field | Required | Description |
|---|---|---|
| Yes | Login email address (max 255 characters; read-only when editing) | |
| Display Name | Yes | Name displayed in the application (max 255 characters) |
| Title | No | Job title or description (max 255 characters) |
| Phone Extension | No | Internal extension |
| Employee | No | Link this user to an employee record |
| Roles | No | One or more roles to assign — determines what the user can access |
User Actions
Section titled “User Actions”| Action | Description |
|---|---|
| Create User | Add a new user (sends an invitation email) |
| Edit User | Modify user details and role assignments |
| Delete User | Permanently remove the user account |
| Resend Invitation | Resend the invitation email to a user with Invitation Pending status |
| Reset Password | Set a new password directly or trigger a password-reset email |
Reset Password Dialog
Section titled “Reset Password Dialog”Choose one of two methods:
| Option | Description |
|---|---|
| Initial Password | Enter and confirm a new password (minimum 8 characters) directly |
| Send the user a password-reset link via email |
4.2 Roles
Section titled “4.2 Roles”Roles control what each user can see and do. Assign one or more roles to each user.
Role List
Section titled “Role List”Displays all defined roles. Each row shows the role name and actions.
Create / Edit Role
Section titled “Create / Edit Role”| Field | Required | Description |
|---|---|---|
| Name | Yes | Role 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.
Permissions and Overrides Tabs
Section titled “Permissions and Overrides Tabs”The Create / Edit Role dialog has two tabs that determine what the role grants:
| Tab | Purpose |
|---|---|
| Permissions | Toggle the individual permissions the role grants, organized by category (module). This is the tab described above. |
| Overrides | Attach 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.
-
Open Administration → Roles and create a new role or click Edit on an existing one.
-
Enter or confirm the role Name, then select the Overrides tab.
-
Check the Enabled box next to each override set you want this role to apply, and uncheck any you want to remove.
-
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.
Role Actions
Section titled “Role Actions”| Action | Description |
|---|---|
| Create Role | Define a new role |
| Edit Role | Modify the role name and permissions |
| Copy Role | After 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 Role | Remove the role — users assigned only this role will lose the associated access |
Edit All Roles (Permission Matrix)
Section titled “Edit All Roles (Permission Matrix)”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:
| Column | Description |
|---|---|
| Category | The 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. |
| Name | The individual permission (for example, the Create / View / Edit / Delete entries for a model). |
| One column per role | A 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. |
- From the role list, click the Edit All Roles (pencil) button in the top-right header.
- Scroll to the permission row you want to change. Rows are grouped by category to help you find related permissions.
- Check or clear the checkbox in each role’s column to grant or revoke that permission for that role.
- Click Save to apply the changes to all roles at once, or Close to discard them.
4.3 Permission Overrides
Section titled “4.3 Permission Overrides”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.
Override Set List
Section titled “Override Set List”Displays all defined override sets by name.
Create / Edit Override Set
Section titled “Create / Edit Override Set”| Field | Required | Description |
|---|---|---|
| Name | Yes | Descriptive name for this override set |
Override Rules — Each set contains one or more rules:
| Field | Description |
|---|---|
| Model | The data model this rule applies to |
| Type | Field-level override (screen-level overrides are not applied at runtime) |
| Field | The specific field within the model |
| Value | Enabled (1) or Disabled (0) |
| Permission | Read 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.
4.4 Scheduling Boards
Section titled “4.4 Scheduling Boards”Scheduling Boards define which users and schedulable employees appear on each board in the scheduling interface.
Board List
Section titled “Board List”Displays all boards by name.
Create / Edit Scheduling Board
Section titled “Create / Edit Scheduling Board”| Field | Required | Description |
|---|---|---|
| Name | Yes | Board 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.
4.5 Form Templates
Section titled “4.5 Form Templates”Form Templates define the structure of custom data-collection forms that can be attached to work orders, service records, and other documents.
Template List Columns
Section titled “Template List Columns”| Column | Description |
|---|---|
| Name | Template name |
| Description | Description of the template’s purpose |
| Form Type | The type of form (determines where it can be used) |
| Signature Required | Whether the form requires a signature to submit |
| Enforce Required | Whether required fields block submission if empty |
| Active | Whether the template is currently available for use |
Create / Edit Form Template
Section titled “Create / Edit Form Template”Header Fields
| Field | Required | Description |
|---|---|---|
| Name | Yes | Template name |
| Description | No | Description of the template’s purpose |
| Form Type | No | Classification that determines where this form appears |
| Require Signature | No | Whether the form requires a signature to submit |
| Enforce Required | No | Whether required fields block submission if empty |
| Is Active | No | Whether 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:
| Setting | Required | Description |
|---|---|---|
| Field Type | Yes | Data type — see options below |
| Label | Yes | Display label shown to the user |
| Field Name | No | Internal identifier for the field. Editable only when the Form Type is PDF; for other form types it is read-only |
| Is Required | No | Whether this field must be filled before submission |
| Meta | No | Type-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.
- Set the Form Type to PDF — the upload control only appears for PDF form templates.
- Click Upload PDF (it becomes Re-upload PDF once a PDF is attached).
- Select a PDF file containing fillable form fields.
- The system reads the PDF and extracts the form field names, reporting how many were detected.
- The extracted field names become available to associate with the template’s fields.
Field Types
| Type | Description |
|---|---|
| string | Text input |
| decimal | Decimal number |
| money | Currency amount |
| date | Date picker |
| int | Integer number |
| boolean | Yes/No checkbox |
| percent | Percentage value |
| time | Time input |
| Email address | |
| picture | Image upload |
| radio | Radio button group (configure options in Meta) |
| equipment | Equipment selector |
Form Template Actions
Section titled “Form Template Actions”| Action | Description |
|---|---|
| Create Form Template | Define a new form template |
| Edit Form Template | Modify the template name, fields, and settings |
| Copy Form Template | After 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 Template | Remove the form template |
4.5.1 Form Type — Checklist vs PDF
Section titled “4.5.1 Form Type — Checklist vs PDF”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 Type | What it does |
|---|---|
| Checklist | A 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. |
| Backs 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 Type | Field-specific configuration |
|---|---|
| string | Min Length and Max Length (character counts) |
| decimal, money, percent | Min, Max, and Decimal Places |
| int (Number) | Min and Max |
| date | Min Date and Max Date |
| radio | Options 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, equipment | No 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.
4.5.3 Mapping a PDF Field to a Field
Section titled “4.5.3 Mapping a PDF Field to a Field”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.
- Set Form Type to PDF and upload a PDF (see PDF Template Upload above). The detected field names become selectable.
- Select a field in the Fields pane.
- 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.
- 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.
4.6 Custom Fields
Section titled “4.6 Custom Fields”Custom Fields lets you add organization-specific data fields to standard system records without code changes.
Model List
Section titled “Model List”Displays all models that support custom fields. Click any model to expand and manage its fields.
Custom Field Grid (per Model)
Section titled “Custom Field Grid (per Model)”Each row in the field grid is editable:
| Column | Required | Description |
|---|---|---|
| Name | No | Field identifier displayed in the UI |
| Type | No | Data type: String, Boolean, Date, Model, Decimal, or Enum |
| Meta | No | Type-specific config: for Model — which model to look up; for Decimal — decimal places; for Enum — the list of selectable options |
| Default Value | No | Pre-filled value when a new record is created |
| Is Required | No | Whether 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.
4.7 Tags
Section titled “4.7 Tags”Tags are color-coded labels that can be applied to records across multiple modules for categorization and filtering.
Tag List Columns
Section titled “Tag List Columns”| Column | Description |
|---|---|
| Label | Tag name |
| Color | Displayed as a colored swatch |
| Applicable Models | The record types this tag can be applied to |
Create / Edit Tag
Section titled “Create / Edit Tag”| Field | Required | Description |
|---|---|---|
| Label | Yes | Tag name (max 255 characters) |
| Color | Yes | Hex color selected via a color picker |
| Applicable Models | No | One or more models where this tag can be used (e.g., Customer, Work Order, Lead, Equipment) |
4.8 Attachment Access Classes
Section titled “4.8 Attachment Access Classes”Attachment Access Classes control which roles can view specific uploaded documents. Assign an access class to an attachment to restrict visibility.
Access Class List
Section titled “Access Class List”Displays all defined classes by name.
Create / Edit Access Control Class
Section titled “Create / Edit Access Control Class”| Field | Required | Description |
|---|---|---|
| Name | Yes | Descriptive class name |
| Roles | No | Roles 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.
4.9 Manage Sessions
Section titled “4.9 Manage Sessions”View and manage all currently active login sessions.
Session List Columns
Section titled “Session List Columns”| Column | Description |
|---|---|
| Session ID | Unique identifier for the session |
| User | Display name of the logged-in user |
| Expiration | Date and time when the session will automatically expire |
Actions
Section titled “Actions”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.
4.10 Printers
Section titled “4.10 Printers”Configure network printers used for check printing, label printing, and other document output.
Printer List Columns
Section titled “Printer List Columns”| Column | Description |
|---|---|
| Name | Printer friendly name |
| Host | Hostname or IP address |
| Port | Network port number |
| Type | Printer type classification |
| DPI | Dots per inch resolution |
Actions
Section titled “Actions”| Action | Description |
|---|---|
| Create Printer | Add a new printer configuration |
| Edit Printer | Modify an existing printer’s settings |
| Delete Printer | Remove the printer — requires confirmation |
4.11 Email Blast
Section titled “4.11 Email Blast”Send a bulk internal email to all users in one or more roles.
Form Fields
Section titled “Form Fields”| Field | Required | Description |
|---|---|---|
| Roles | Yes | One or more roles to send to — select All Roles to target everyone, or choose individual roles. At least one must be selected. |
| Only Active Users | No | When 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 |
| Subject | Yes | Email subject line |
| Body | Yes | Email body text |
Click Send to deliver the email. A confirmation notification appears on success and the form resets.
4.12 Integrations
Section titled “4.12 Integrations”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.
Stripe
Section titled “Stripe”Accept online payments through Stripe. Connects via Stripe OAuth.
| Action | Description |
|---|---|
| Connect | Initiates the Stripe OAuth authorization flow — redirects to Stripe’s hosted authorization page where you sign in and grant access |
| Configure | Opens configuration settings for the Stripe integration (available only when connected) |
| Disconnect | Removes the Stripe account link after confirmation |
Stripe Configuration
| Field | Required | Description |
|---|---|---|
| Auto Cash Receipt | No | Toggle exists but is not checked at runtime; cash receipts are always posted when Payment Type is configured |
| Payment Type | No | AR payment type to use for auto-created cash receipts |
Stripe Integration Details
Section titled “Stripe Integration Details”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.
Ring Central
Section titled “Ring Central”Cloud communication and phone system integration.
| Action | Description |
|---|---|
| Connect | Initiates the Ring Central OAuth authorization flow — redirects to Ring Central’s authorization page |
| Disconnect | Immediately revokes and removes the Ring Central account link (no confirmation prompt) |
Ring Central Integration Details
Section titled “Ring Central Integration Details”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.
Ask The Seal (ATS)
Section titled “Ask The Seal (ATS)”Third-party service integration for dispatch notification and tracking.
| Action | Description |
|---|---|
| Connect | Opens the ATS configuration dialog |
| Disconnect | Removes the ATS connection |
ATS Configuration
| Field | Required | Description |
|---|---|---|
| Account ID | Yes | Account 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.
Podium
Section titled “Podium”Customer messaging and review platform integration.
| Action | Description |
|---|---|
| Connect | Opens the Podium configuration dialog |
| Disconnect | Removes the Podium connection |
Podium Configuration
| Field | Required | Description |
|---|---|---|
| Location ID | Yes | Location ID provided by Podium |
| Token | Yes | Authentication token provided by Podium |
4.13 Audit Trail
Section titled “4.13 Audit Trail”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.
Audit Grid
Section titled “Audit Grid”| Column | Description |
|---|---|
| Timestamp | When the change occurred (displayed in local time) |
| User | Display name of the user who made the change |
| Description | Summary 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.
Transaction Detail Columns
Section titled “Transaction Detail Columns”| Column | Description |
|---|---|
| Description | The field or relationship that changed |
| Old Value | The previous value (formatted by type — currency, date, percent, etc.) |
| New Value | The 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).
4.14 Sidebar Additions
Section titled “4.14 Sidebar Additions”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.
5. Utilities
Section titled “5. Utilities”The Utilities section provides operational tools and shared reference data.
5.1 Hold Reasons
Section titled “5.1 Hold Reasons”Define the reasons that can be used when placing a sales order, shipment, or vendor invoice on hold. Navigate to Utilities → Settings → Hold Reasons.
Hold Reason List Columns
Section titled “Hold Reason List Columns”| Column | Description |
|---|---|
| Reason | The hold reason text |
| Applies To Sales Order | Whether this reason can be used on sales orders |
| Applies To Sales Order Shipment | Whether this reason can be used on shipments |
| Applies To Vendor Invoice | Whether this reason can be used on vendor invoices |
Create / Edit Hold Reason
Section titled “Create / Edit Hold Reason”| Field | Required | Description |
|---|---|---|
| Reason | Yes | Hold reason text (max 255 characters) |
| Applies To Sales Order | No | Checkbox |
| Applies To Sales Order Shipment | No | Checkbox |
| Applies To Vendor Invoice | No | Checkbox |
5.2 Manage Customer Duplicates
Section titled “5.2 Manage Customer Duplicates”Find and merge duplicate customer accounts or site addresses. Navigate to Utilities → Manage Customer Duplicates.
Search Panel
Section titled “Search Panel”| Field | Description |
|---|---|
| Account Type | Search for duplicate Customer accounts or duplicate Site addresses |
| Grouping Method | Group duplicates by Address similarity or Name similarity |
Click Get Duplicates to run the search. Results appear in the grid below the search controls.
Results Grid Columns
Section titled “Results Grid Columns”| Column | Description |
|---|---|
| (checkbox) | Select records to include in a merge |
| Cust ID | Customer ID — click to open the customer record |
| Site ID | Site address ID |
| Name | Customer or site name |
| Address | Street address |
| Apt # | Secondary address line (apartment/suite) |
| City | City |
| State | State |
| Zip | ZIP code |
| Home Phone | Home phone number |
| Cell Phone | Cell phone number |
Select two or more records to merge, then use the action buttons:
| Action | Description |
|---|---|
| Show Impact of Merge | Displays a summary of all related records (AR transactions, work orders, invoices, contracts, etc.) that will be consolidated — review before merging |
| Merge Selected Accounts | Merges 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. |
5.3 Financial Calculator
Section titled “5.3 Financial Calculator”An amortization calculator for loan and financing analysis. Navigate to Utilities → Financial Calculator.
Input Fields
Section titled “Input Fields”| Field | Description |
|---|---|
| Solving For | Select the unknown variable: Payment, Principal, Term, or Interest Rate — the selected field will be calculated from the others |
| Principal | Loan amount ($) |
| Interest Rate | Annual interest rate (%) |
| Payment | Periodic payment amount ($) |
| Term | Number of monthly payments |
| Start Date | Date 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.
Amortization Schedule
Section titled “Amortization Schedule”| Column | Description |
|---|---|
| Date/Period | Payment date or period number |
| Payment | Total payment amount |
| Interest Paid | Interest portion of the payment |
| Principal Paid | Principal portion of the payment |
| Principal Remaining | Loan balance after the payment |
| Cumulative Interest | Total interest paid to date |
| Cumulative Principal | Total principal paid to date |
| Cumulative Total | Total amount paid to date |
The schedule includes yearly subtotal rows and a final grand total row summarizing total interest and principal paid.
5.4 Data Import / Export
Section titled “5.4 Data Import / Export”Many grid screens throughout the application support data import and export functionality.
Data Import
Section titled “Data Import”Screens with a data-import button (Document Posting, Manage Budget Amounts, and AP Post Invoice) support bulk-loading data from external files.
| Action | Description |
|---|---|
| Download Template | Downloads a blank CSV/Excel template with the correct column headers for this screen’s data format |
| Upload Data | Upload 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.
Data Export
Section titled “Data Export”Most AG Grid-based list screens include an export tool panel with three output formats:
| Format | Description |
|---|---|
| Excel | Exports the current filtered/sorted grid data as an .xlsx file |
| CSV | Exports as a comma-separated values file |
| Generates 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.
5.5 Real-time Updates
Section titled “5.5 Real-time Updates”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.
5.6 User Settings
Section titled “5.6 User Settings”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:
| Item | Description |
|---|---|
| Profile | Your profile picture, appearance, and sidebar preferences, plus your default organization |
| Scheduling Boards | Your personal scheduling boards and the order of employees on each |
| Servisuite Plugin | Downloads the Servisuite Helper installer (used for local printing and other desktop integrations) |
These settings apply only to your own user account.
Profile
Section titled “Profile”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
| Toggle | Description |
|---|---|
| Dark Mode Enabled | Switches the application interface to a dark color theme |
| Sidebar Links New Tab | Opens sidebar navigation links in a new browser tab |
| Collapsed Sidebar On Login | Starts each session with the sidebar collapsed |
| Auto Collapse Sidebar Categories | Automatically collapses other sidebar categories when you expand one |
| Close Sidebar On Link Click | Closes 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.
Scheduling Boards
Section titled “Scheduling Boards”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:
-
On the Scheduling Boards screen, click the Edit action on the board you want to change.
-
In the edit dialog, drag employee rows to set the order in which employees appear on that board.
-
Check Set as Default Board if you want this board to be your default.
-
Click Save to apply your changes, or Cancel to discard them.
Servisuite Plugin
Section titled “Servisuite Plugin”The Servisuite Plugin item downloads the Servisuite helper installer (servisuite-helper.msi). Clicking it opens the installer download directly; no further selection is required.
- Open the user avatar menu in the top bar and choose User Settings.
- In the left navigation panel, click Servisuite Plugin.
- Save and run the downloaded
servisuite-helper.msiinstaller.
5.7 User Settings — Scheduling Boards
Section titled “5.7 User Settings — Scheduling Boards”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 Settings → Scheduling Boards
The screen lists every scheduling board you have access to.
Board List Columns
Section titled “Board List Columns”| Column | Description |
|---|---|
| Scheduling Board | The name of the board |
| Default | Whether this board is currently set as your default board |
| (Edit) | The Edit action — opens the personalization dialog for that board |
Edit Scheduling Board Dialog
Section titled “Edit Scheduling Board Dialog”Click the Edit (pencil) icon on a board to open the Edit Scheduling Board dialog.
| Field | Description |
|---|---|
| Set as Default Board | When checked, this board becomes your default board |
| Employee list | A 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:
- From the user avatar menu, choose User Settings, then select the Scheduling Boards tab.
- Click the Edit (pencil) icon on the board you want to personalize.
- To make this your default board, check Set as Default Board.
- Drag employee rows up or down to set the order in which they appear for you on that board.
- Click Save. A confirmation message appears, or Cancel to discard your changes.
5.8 Shipment Generation Labels
Section titled “5.8 Shipment Generation Labels”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.
Form Fields
Section titled “Form Fields”| Field | Required | Description |
|---|---|---|
| From Location | Yes | The originating location. Search by location ID or description. |
| To Location | Yes | The destination location. Search by location ID or description. |
| PCL Printer | Yes | The printer to send the label to. Only printers with a type of PCL are listed. |
Printing a Label
Section titled “Printing a Label”-
Open Utilities → Shipment Generation Labels.
-
Select the From Location and To Location.
-
Select the PCL Printer to print to.
-
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).
6. Permissions
Section titled “6. Permissions”Administration Permissions
Section titled “Administration Permissions”| Permission | Description |
|---|---|
| View User | View the user list |
| Create User | Create new user accounts |
| Edit User | Edit user details and role assignments |
| Delete User | Remove user accounts |
| View Role | View the roles list |
| Create Role | Create new roles; required to copy a role |
| Edit Role | Edit role names and permissions |
| Delete Role | Remove roles |
| Read Permission Overrides | View permission override sets |
| Create Permission Overrides | Create new override sets |
| Update Permission Overrides | Edit override sets |
| Delete Permission Overrides | Remove override sets |
| Read Printers | View the printer list |
| Create Printers | Add new printers |
| Update Printers | Edit printer configurations |
| Delete Printers | Remove printers |
| View Access Control Class | View attachment access classes |
| Create Access Control Class | Create new attachment access classes |
| Edit Access Control Class | Edit attachment access classes and their assigned roles |
| Delete Access Control Class | Remove attachment access classes |
| Manage Scheduling Boards | Create, edit, and delete scheduling boards |
| Manage Form Templates | Create, edit, and delete form templates |
| Manage Custom Field Definitions | Add and modify custom fields on system models |
| Manage Tags | Create, edit, and delete tag definitions |
| Manage Sessions | View active sessions and kill sessions |
| Internal Email Blast | Send bulk emails to users by role |
| Manage API Integrations | Connect, configure, and disconnect third-party integrations |
7. Worked Examples
Section titled “7. Worked Examples”Example 1: Setting Up a New Employee User
Section titled “Example 1: Setting Up a New Employee User”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:
- Navigate to Administration → Users and click Create User.
- Enter:
- Email =
maria.garcia@precisionmech.com - Display Name =
Maria Garcia - Title =
AP Clerk
- Email =
- Link Employee = Maria Garcia (from the Payroll employee record).
- Assign Roles = AP Clerk.
- Click Create. An invitation email is sent to Maria’s email address.
Step 2 — Verify role permissions:
- Navigate to Administration → Roles and click AP Clerk to review.
- 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 ✓
- Confirm the role does NOT grant:
- Payroll: any ✗
- GL Settings: Update ✗
- Job: Create/Update/Delete ✗
Step 3 — Maria accepts invitation:
- Maria clicks the link in the invitation email.
- Sets her password (minimum 8 characters).
- 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:
- Kevin navigates to Administration → Permission Overrides and clicks +.
- Name =
AP Clerk - View Jobs. - Add rule: Model = Job, Field = (select a Job field), Permission = Read, Value = Allow.
- 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:
- Navigate to Utilities → Manage Customer Duplicates.
- Set Account Type = Customer, Grouping Method = Name.
- Click Get Duplicates.
- Results show two matching records:
| Cust ID | Name | Address | Balance |
|---|---|---|---|
| C-1020 | Greenfield Construction | 450 Industrial Pkwy | $17,000.00 |
| C-1087 | Greenfield Const. | 450 Industrial Parkway | $3,500.00 |
Step 2 — Review merge impact:
- Select both records using the checkboxes.
- 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:
- Click Merge Accounts.
- 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.
- Review the Data Moving with Transfer screen, which shows the related-record counts that will move into the master.
- 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.
8. Business Rules
Section titled “8. Business Rules”Rules are grouped by category. Each rule has an ID for cross-referencing.
Constraints
Section titled “Constraints”- 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.
Automations
Section titled “Automations”- 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.
Workflows
Section titled “Workflows”-
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.
Cross-Module Effects
Section titled “Cross-Module Effects”- 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.
9. Troubleshooting / FAQ
Section titled “9. Troubleshooting / FAQ”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.
10. Tips & Notes
Section titled “10. Tips & Notes”-
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.
Viewing Audit History
Section titled “Viewing Audit History”- Navigate to the record’s detail screen (e.g., View Job, View Customer, View Vendor).
- Click Actions and choose the record-specific audit option (e.g. Audit Job, Audit Customer, Audit Vendor) to open the audit trail.
- 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.
- Click the expand arrow on any row to see field-level changes with old and new values.