Documentation

Licenses & Regulations

Requires.

  • Licensing pages: the Licenses & regulations tracking company feature must be enabled, AND Administration Page.
  • Regulations: the Government regulations company feature must be enabled, AND Administration Page.

Two related-but-distinct admin areas cover government compliance:

  • Licenses — the catalog of license types your company recognizes, plus a cross-cutting view of every license currently held by your users, locations, and the company itself.
  • Regulations — per-jurisdiction rules (permits, inspection cycles, fees) your customers are subject to based on their service address.

User-specific and location-specific licenses still live on those individual records (Users → Licenses, Locations → Licenses) and reference the catalog defined here.

Where to find each page

The Admin index has a dedicated Licenses & Regulations section with four cards — one for each page covered below:

Card What it does
License Catalog Manage the master list of license types — what licenses exist, where, with what fees and term lengths.
License Assignments Cross-cutting view of every license currently held by a user, location, or the company. Sorted by next expiration with one-click filters for Expiring soon and Expired. Click a row to jump to the holder's record.
Company Licenses Licenses your company itself holds (as opposed to licenses held by individual users or locations).
Government Regulations Per-jurisdiction rules — permits, inspection cycles, fees — that attach to your customers based on their service address.

Use Catalog when adding types of licenses (the schema). Use Assignments / Company to manage real licenses currently in flight, including renewals (the Expiring quick filter on the Assignments page is the renewal queue). Government Regulations is its own thing — see the section below.

License Catalog

Routes: admin.licensing.catalog.{index, create, edit}.

The master catalog of license types. Each entry defines what a license is, who needs it, where it applies, and how it's renewed. The page paginates and supports filtering by Name, State, Type, Holder Type, Submission Type, and (when the rep-license block is enabled) Required to Proceed. Click + New License at the top right to add a new entry.

The list

Column What it shows
ID Numeric ID badge.
License name Click to edit. Long names wrap.
Type Tech, Sales, Tech / Sales, or Qualifier.
Required Amber Required badge when the entry is flagged Required to proceed (a hard blocker for customer-create / tech-assignment when missing). Empty when the entry is informational only. This column is only shown when the tenant-wide rep-license block is enabled — see below.
Holder Type User, Location, or Company — what kind of holder this license attaches to.
State Two-letter state code.
Agency The issuing agency or governing body. Long agency names wrap.

Filters

Use the Filter button (top left) to open the flyout. Available filters:

  • Name — partial match against the license name.
  • State — exact match.
  • TypeTech, Sales, Tech / Sales, or Qualifier.
  • Holder TypeUser, Location, or Company.
  • Submission TypeMail, Online, In Person, or Electronic.
  • Required to proceedRequired / Not required. Only appears when the tenant-wide rep-license block is enabled (see below).

The flyout has a Submit button at the bottom; click Clear to reset.

Editing a catalog entry — Details and Holders tabs

Clicking an existing license name opens a tabbed edit page:

  • Details — the catalog entry's own fields (geography, fees, term, requirements, agency contact info). This is the form documented below.
  • Holders — the cross-cutting list of every user / location / company that currently holds this license, with the ability to assign new holders directly from here. See License Holders (per-catalog page) below.

Edit form (Details tab)

Field Required? Type Validation Notes
License Name Yes Text 1–255 chars E.g. "CA-Alarm Company Employee (ACE)".
Holder Type Yes Select User, Location, Company Determines which kind of holder this license can attach to.
License Type Yes Select Tech, Sales, Tech / Sales, Qualifier Sales and Tech / Sales user-level licenses are what the customer-create license block looks at (see below). For licenses held by the company itself rather than an individual, set Holder Type = Company instead — License Type stays the underlying skill category (often Qualifier).
Governing Body No Select Country, State, City, County The level of jurisdiction.
State / City / County / Country At least one Text / Select Geography the license applies to. State + city or state + county is common.
Agency / Agency Website / Mailing Address No Text Issuing-agency contact info for renewal time.
Online Portal URL No Text Direct URL to the application portal. Use when Submission Type is Online or Electronic and the agency website (above) isn't enough on its own.
Contact Name / Phone / Email / Fax No Text Direct contacts at the agency.
Submission Type No Select Mail, Online, In Person, Electronic How applications are submitted. Electronic covers PandaDocs / DocuSign-style flows.
Submission Application Deadline Window No Number (days) ≥ 0 How many days before the term starts an application must be submitted.
Term Length / Term Period No Number / Select Period: Days, Months, Years Used to calculate expiration on each transaction.
License Fee / Activation Fee / Background Fee No Decimal ≥ 0 Recurring license fee, one-time activation fee, and the separate background-check fee — record whichever apply.
Activation Deadline Window / Processing Time (days) No Number (days) ≥ 0 Activation Deadline is days after issue the license must be activated. Processing Time is the agency's typical turnaround for a new submission — useful when planning hire dates.
Required to proceed No Checkbox When checked, missing this license blocks customer creation (and, in a future release, tech work assignment) for the affected geography. When unchecked, the license is tracked for visibility only and never blocks work. Off by default — opt licenses in one at a time. This field is only shown when the tenant-wide rep-license block is enabled (see Blocking customer creation when the rep isn't licensed).
Requirements checkboxes No Checkboxes What the agency requires from the applicant: Application, ID Required, Photo, Fingerprints, Live Scan (separate from fingerprint cards), Background Check, Training, CEU Required, Additional Documents, Other. These describe what's needed to obtain the license, not whether the license itself is mandatory.
CEU Hours Conditional Number ≥ 0 Required when CEU Required is checked.
ID Requirements / Training Course / Additional Documents / Other Requirements Conditional Long text Free-text explanations that appear below their corresponding checkbox once it's checked. Use these to capture which IDs are accepted, the name of a required training course, what additional documents are required, or what "Other" means for this license.
License Notes / Renewal Info No Long text Free-form context for your team.

Save to commit. Editing a catalog entry does not retroactively change any licenses already attached to users / locations / the company.

Documents (catalog-level)

Once a catalog entry has been saved, a Documents section appears below the form. Use it to attach supporting files that are about the license type itself — sample applications, blank PDF forms, agency letters, training-course outlines. Files attached here are visible to anyone who can view the catalog entry. Each file shows its display name, original filename (clickable to download/preview), and a delete button (admin only). Up to 20 MB per file.

These attachments are separate from the per-holder documents on each assignment (see License Assignments below) — the catalog version is for templates and reference, the holder version is for the holder's own paperwork.

Heads up. Inactive catalog entries (Status = Inactive) won't appear in the dropdowns when adding a new license to a user, location, or company. Existing assignments stay intact.

License Holders (per-catalog page)

Route: admin.licensing.catalog.holders (the Holders tab on a catalog entry).

The Holders tab on a saved catalog entry is the inverse of the per-user / per-location Licenses tab — instead of "what licenses does this user hold?" it answers "who holds this license?" Use it to bulk-assign one license type to many holders, or to spot-check the current roster for a state-mandated credential.

The list

Column What it shows
Holder The user, location, or "Company" record. Click the link to jump to that holder's Licenses tab.
License # The license number recorded on this assignment.
Expiration Date From the latest activity.
Status One of Current, Expiring soon, Expired, No expiration, or Agency terminated.
Actions Edit (deep-link to the holder's Licenses tab and auto-opens the edit modal) and a trash icon (removes the assignment after a confirmation).

Adding a holder

Click + Add Holder at the top right. The modal varies based on the catalog entry's Holder Type:

  • User catalogs — pick from a dropdown of active users who don't already hold this license.
  • Location catalogs — pick from a dropdown of active locations who don't already hold this license.
  • Company catalogs — the holder is pinned to your company; if your company already holds this license the button shows "Already assigned to this company" and is disabled.

Inside the modal, capture the license number, optional Agency Termination Date, application status, issue + expiration date, and any notes. Saving creates both the assignment and its first activity. Add later activities (renewals, fees paid, training updates) from the holder's Licenses tab.

Heads up. Trying to add a holder that already has this license is blocked at save time with an inline error.

Tracking requirements on each activity

The activity modal only shows the requirement sections that are actually turned on for this catalog entry. If the catalog says Photo Required = No, the Photo section doesn't appear; turn it on at the catalog and the section appears on every future activity. This keeps the form focused on the work that actually applies to the license.

Lifecycle fields (Application Status, Application / Activation Fees, Issue / Expiration / Renewal dates, License Number, Agency Termination, Issued New Badge) are always visible because they apply to every license. Requirement-tracking sections — Photo, Fingerprints, Live Scan, ID, CEU, Training, Background Check, Additional Documents, Other — only appear when their catalog flag is on.

When a section appears, it captures:

  • PhotoReceived, Submitted.
  • FingerprintsReceived, Submitted, Fee, Paid date.
  • Live ScanReceived, Submitted, Fee, Paid date. Distinct from Fingerprints — some agencies require both.
  • IDReceived, Submitted. Catalog ID Requirements notes appear inline as guidance when populated.
  • CEUHours completed, CEU due date. The catalog's required hours show as a header above the inputs.
  • TrainingTraining scheduled date, Training complete checkbox. Catalog Training Course notes appear inline when populated.
  • Background CheckReceived, Complete, Fee paid, Paid date. The fee defaults to the catalog's Background Fee on a new activity but can be overridden per holder.
  • Additional DocumentsReceived, Submitted. Catalog Additional Documents notes appear inline when populated.
  • OtherReceived, Submitted. Catalog Other Requirements notes appear inline when populated.

If you need to record a status that the catalog doesn't currently require (e.g., a voluntary background check), turn the requirement on at the catalog first — the section will appear on every activity for that license type going forward.

Issuing Agency Information panel

The activity modal also includes a collapsible Issuing Agency Information panel that shows the catalog data for the license you're working on — agency contacts, website + portal URL, jurisdiction, submission type, term length, every fee (Application / Activation / Background), every timing window (Submission Deadline / Activation Deadline / Processing Time), and the full Yes/No requirement matrix with any catalog-side notes (ID Requirements, Training Course, Additional Documents, Other Requirements) inline. License Notes and Renewal Info appear at the bottom when populated. Use this when you don't remember which agency contact, fee, or requirement applies — no need to leave the modal and pull up the catalog.

License Assignments

Route: admin.licensing.assignments.

A single list of every active license assignment in your tenant — across users, locations, and the company. This is the right page for "who holds this license?", "what's about to expire across the whole company?", and "show me everything in California with status X".

The list

Column What it shows
License Name The catalog entry. Click to open the catalog edit page (Details tab). City / county appear underneath when set.
Type Tech, Sales, Tech / Sales, or Qualifier.
Held By The user, location, or "Company" record holding this license. Click to jump to that holder's Licenses tab.
State Two-letter state code.
License Number The specific license number recorded on the assignment.
Expiration Date From the latest activity on the assignment.
Status One of Current (green), Expiring soon (amber), Expired (red), No expiration (zinc), or Agency terminated (zinc).
Actions An Edit button (deep-links to the holder's Licenses tab and auto-opens the edit modal so you can renew or update fields without searching for the row again) and a trash icon (removes the assignment after a confirmation).

Filters

Click Filter (top left) to open the flyout. It has a sticky Submit button at the bottom, plus Clear when filters are active. Available filters:

  • State — two-letter code from your catalog entries.
  • City — partial match.
  • TypeTech, Sales, Tech / Sales, or Qualifier.
  • Held ByUser, Location, or Company.
  • Status — see status values above.
  • Submission TypeMail, Online, In Person, or Electronic (inherited from the catalog entry).
  • Search (name / license # / agency) — free-text across the catalog name, the license number on the assignment, or the issuing agency.

Three quick-filter pills at the top right of the page (All, Expiring, Expired) shortcut the most common Status filters in one click without opening the flyout.

Sorting

Default sort is by next expiration ascending — soonest expirations first, with assignments that have no expiration date sinking to the bottom. Click a column header in the filter flyout's Sort control to change.

Driving the renewal queue

Click the Expiring pill at the top of the Assignments page to filter to licenses whose latest activity expires within your configured "expiring soon" window (default 60 days, see Expiration window below). Pair the filtered list with the Held By column to know who owns each renewal.

Tip. Bookmark the URL with the filter applied (/admin/licensing/assignments?status=expiring) so you can come back to your renewal queue daily without re-filtering.

Documents (per-holder)

When you click Edit on an assignment row (either here or from the holder's Licenses tab), the modal includes a Documents section. Use it to attach files specific to this holder's copy of the license — the actual signed PDF, fingerprint cards, scanned IDs, background-check results, training certificates. These files are scoped to the assignment and visible to anyone who can view it. Up to 20 MB per file.

This is the per-holder counterpart to Documents on the catalog entry, which holds templates and reference material for the license type as a whole.

Company Licenses

Route: admin.licensing.company-licenses.

The list of licenses your company itself holds — for example a company-wide business license or a state-level dealer license. Backed by the same form used for user and location licenses, so adding, renewing, and terminating works identically.

When the latest activity is within your configured expiring-soon window, the row shows an amber Expiring soon badge next to the expiration date. Past-due rows show a red Expired badge.

Add licenses as your company acquires them, and keep activities current — the same data feeds the License Assignments view above.

Expiring-soon badges on user and location records

The Licenses tab on each user and location page now flags trouble inline. Next to the Expiration Date column on each row:

  • Expired (red) — the latest activity's expiration date is in the past.
  • Expiring soon (amber) — the latest activity expires within the configured window (default 60 days).
  • No badge — the license is current, has no expiration on file, or the issuing agency has terminated it (those states are still surfaced on the cross-cutting License Assignments page).

The same logic powers the Status column on License Assignments — a row that's amber on a user's tab will also show as Expiring soon on the central list.

Blocking customer creation (and edits) when the rep isn't licensed

SecurityTrax can prevent a sales rep from being assigned to a customer based on which licenses they currently hold. When the gate is on, saving a customer fails if the chosen rep is missing a license required for the customer's city or state. The block is opt-in at two levels (a tenant-wide master switch, and a Required to proceed flag on each catalog entry — both described below) and runs at both customer creation and on the customer edit page (when the rep dropdown is changed to someone unlicensed).

Teams typically use this to enforce statutory licensing — a state alarm-company-employee license, a state burglar-alarm-installer license, a city-level alarm permit — without blocking customer saves over informational catalog entries (NICET, manufacturer credentials, in-house training records). The two switches give you that split: only catalog entries you explicitly opt in participate in the block.

There are two switches that control whether the block fires:

  1. Tenant-wide master switch — opt-in per tenant. Ask your SecurityTrax service team to turn it on. Off by default.
  2. Per-catalog opt-in: Required to proceed on each catalog entry. Even with the master switch on, only catalog entries with the Required to proceed checkbox checked participate in the block. All other catalog entries are tracked for visibility but never stop a save.

This split lets you keep informational catalog entries (industry certifications like NICET, manufacturer-authorized credentials, in-house training records) alongside hard-blocker entries (state-level installer / contractor licenses, city alarm permits) without one type leaking into the other's behavior.

Note. The Required to proceed checkbox on each catalog entry — and the Required column on the catalog list — only appear when the tenant-wide master switch is on. Tenants that haven't enabled the block won't see either surface. Once the master switch is enabled, both appear and you can opt licenses in one at a time.

When both switches are on:

  • A user picks a sales rep on the customer create or edit form and clicks Save.
  • SecurityTrax looks at the customer's state, city, and county and finds every catalog entry where:
    • Holder Type is User
    • License Type is Sales or Tech / Sales
    • Required to proceed is checked
    • The state matches and the city / county match (or are unset on the catalog entry, meaning state-wide).
  • For each matching catalog entry, SecurityTrax checks whether the selected rep currently holds that license — meaning an active assignment whose latest activity hasn't expired and whose issuing agency hasn't terminated it.
  • If any required license is missing, the form blocks save with a message naming the missing license(s). The rep needs to be granted those licenses (on their own Users → Licenses tab) before the customer can be saved.

On the customer edit form the block only fires when the rep dropdown is actually changed — editing other fields on a customer whose persisted rep happens to be unlicensed won't retro-block the save. This is intentional so a tenant can flip the master switch on without locking out edits to existing customers.

When the master switch is off (default), no licensing check runs at customer-create or edit time. You can still spot unlicensed assignments after the fact using the License Assignments page.

Expiration window

The "expiring soon" window — used by the badges, the Expiring Licenses card, and the Status column on License Assignments — defaults to 60 days. SecurityTrax can change it for your tenant if you want a longer or shorter renewal lead time.

Regulations

Routes: admin.regulations.{index, create, edit}.

The catalog of jurisdiction-specific rules that apply to customers based on where they live. Common examples:

  • Alarm permits — some cities require customers to obtain a permit before an alarm system can be monitored.
  • False-alarm fines — penalty schedules for multiple false dispatches.
  • Inspection cycles — mandatory annual or biennial inspections.
  • Registration fees — one-time or recurring fees paid to the jurisdiction.

The list

Column What it shows
Name Regulation name. Click to edit.
Type Permit / Inspection / Registration / Other.
Jurisdiction State / city / county.
Fee amount Dollar amount if applicable.
Effective date When the rule takes effect.
Status Active / Inactive.

Edit form

Field Required? Type Validation Notes
Name Yes Text Unique The regulation's label.
Type Yes Select Permit / Inspection / Registration / Other Drives how it surfaces on customer records.
Jurisdiction Yes Text State, city, or county name.
Fee amount No Decimal ≥ 0 Pass-through fee the customer may owe.
Effective date No Date When the regulation applies.
Applies to Rule builder Criteria for which customers the regulation applies to — typically a geography filter on the customer's service address.
Status Yes Select Active / Inactive

Matching customers automatically show the regulation in the Government Regulations widget on their Home page.

Step-by-step: onboarding a new license type

  1. Go to Admin → License Catalog.
  2. Click + New Government License.
  3. Fill in License Name, Object Type, License Type, the geography (state plus optional city or county), and Agency.
  4. Set the Term Length / Term Period if the license expires on a fixed cadence.
  5. Save.
  6. The new catalog entry is now available when adding a license to a user, location, or the company.
  7. To attach it to a specific user: open the user from Admin → Users → (user) → Licenses, click + Add License, pick the catalog entry, fill in the license number and first activity, and save.
  8. To attach it at the company level: go to Admin → Company Licenses and follow the same steps.

Step-by-step: handling renewals

  1. Open Admin → License Assignments and click the Expiring pill at the top right to see every assignment due to expire within your window.
  2. On the row you want to renew, click Edit in the Actions column. SecurityTrax navigates to that holder's Licenses tab and auto-opens the edit modal for the right license.
  3. Click + Add Activity.
  4. Record the new issue date, expiration date, fees paid, and the status of each requirement the catalog entry calls out (Photo / Fingerprints / Live Scan / Background Check / ID / Application / Training / CEU / Additional Documents / Other). Sections you don't see in the modal mean the catalog doesn't require them — only the relevant controls show. Add notes if helpful.
  5. Save. The badge on the row updates immediately — the renewal pushes the latest activity's expiration forward, so the row drops out of the Expiring soon and Expired buckets.

Step-by-step: adding a new permit regulation

  1. Go to Admin → Regulations.
  2. Click + New Regulation.
  3. Name: "Dallas Alarm Permit".
  4. Type: Permit.
  5. Jurisdiction: "Dallas, TX".
  6. Fee amount: 50.00.
  7. Applies to: filter where service city = Dallas AND state = TX.
  8. Save.
  9. Any matching customer now shows the Dallas Alarm Permit in their Home widget, reminding your team to handle it.

Non-obvious behaviors

  • The Catalog is a schema, not a list of held licenses. Adding a catalog entry doesn't grant any actual licenses — that happens when you add an assignment on a user, location, or the company.
  • Expiration is per-activity. Each license has a series of activities (transactions) — initial issue, renewals, etc. The Status column and badges always look at the latest activity. Renewing pushes the expiration forward.
  • City / county on a catalog entry are filters, not requirements. A catalog entry with State = CA and no city / county applies to every California customer. A catalog entry with State = CA, City = Los Angeles applies only when the customer's city matches.
  • The customer-create block uses the rep's current license state. If a rep was licensed last year but their license has since expired, they're treated as unlicensed for the block — even on a customer that was correctly assigned to them historically.
  • Regulations reach customers through the customer's service address. If a customer's address isn't accurate, the wrong regulations may attach. Keep addresses clean.
  • Feature gates. Both Licensing and Regulations are opt-in. If the Licenses & Regulations section isn't on your Admin index, ask your SecurityTrax service team to enable the feature.

Related