This document explains how contractor credentials work, what's required for each status, and how credentials affect batch job assignment eligibility.
Contractors in ServeManager must maintain credentials to be eligible for job assignment. For batch jobs (jobs submitted through OLFS/One Legal), contractors must meet specific credential requirements. Ineligible contractors are greyed out in the assignment UI and cannot be selected.
Two requirements must be met for batch eligibility:
- Manual Toggle - The Company record must have "Batch ID Eligibility" checkbox enabled
- Credential Status - The contractor must have complete, non-expired credentials
There are two types of credentials:
- Agency Credentials - For process serving companies/businesses
- Agent Credentials - For individual process servers
Each credential has a status that determines batch eligibility:
| Status | Description |
|---|---|
| Incomplete | Missing one or more required fields |
| Complete | All required fields are filled (Agency only needs this for batch eligibility) |
| Advanced Complete | All required fields PLUS all advanced fields are filled (Agent needs this for batch eligibility) |
| Expired | One or more expiration dates have passed (overrides all other statuses) |
Important: Expired status takes precedence. If any tracked expiration date has passed, the credential shows as "Expired" regardless of how complete it is.
Agencies need Complete status (not expired) to be eligible for batch jobs.
| Category | Required Fields |
|---|---|
| Basic Info | Owner name, Company name, EIN, Phone, Email |
| Bond | Provider, Policy number, Coverage amount |
| Bond Upload | Uploaded bond policy document |
| General Insurance | Provider, Policy number, Coverage amount, Expiration date |
| General Insurance Upload | Uploaded policy document |
| Workers Comp | Provider, Number, State, Expiration date |
| Workers Comp Upload | Uploaded policy document |
| E&O Insurance | Company, Number, State, Expiration date |
| Process Server License | State, County, Number, Phone, Email + uploaded document |
| W9 | Uploaded W9 document |
The following dates are monitored for expiration:
- General Insurance expiration
- E&O Insurance expiration
- Workers Comp expiration
- Process Server License expiration(s)
If any of these dates are in the past, the credential is marked Expired.
Agents need Advanced Complete status (not expired) to be eligible for batch jobs.
This means agents must complete ALL basic requirements PLUS all advanced requirements.
| Category | Required Fields |
|---|---|
| Personal Info | First name, Last name, Date of birth (must be 18+) |
| Address | Street address, City, State, Zip code |
| Process Server License | State, County, Number, Phone, Email + uploaded document |
| W9 | Uploaded W9 document |
All basic fields above, PLUS:
| Category | Required Fields |
|---|---|
| Driver's License | State, Number, Expiration date |
| Driver's License Upload | Uploaded license document |
| Car Insurance | Company, Policy number, Expiration date |
| Car Insurance Upload | Uploaded policy document |
| E&O Insurance | Company, Number, State, Expiration date |
| E&O Insurance Upload | Uploaded policy document |
Note: For agents who work under an agency (User-level credentials), E&O insurance fields and upload are inherited from the parent agency and not required on the individual agent credential.
The following dates are monitored for expiration:
- Driver's License expiration
- Car Insurance expiration
- E&O Insurance expiration
- Process Server License expiration(s)
If any of these dates are in the past, the credential is marked Expired.
For jobs being served in California, agents have an additional requirement:
| Requirement | Details |
|---|---|
| Background Check | Must have background check certification AND background check date on file |
This requirement applies ONLY to:
- Agent credentials (not agencies)
- Jobs where the service address is in California
Agencies are NOT subject to the California background check requirement.
| Credential Type | Requirements for Batch Eligibility |
|---|---|
| All | Must have "Batch ID Eligibility" checkbox enabled on Company record |
| Agency | Complete status + Not expired |
| Agent | Advanced Complete status + Not expired |
| Agent (California jobs) | Advanced Complete status + Not expired + Background check on file |
Before any credential checks occur, the contractor's Company record must have "Company is eligible for Batch ID collections" checkbox enabled. This is a manual toggle set by administrators.
If this checkbox is not enabled, the contractor is ineligible for batch jobs regardless of their credential status.
1. Is "Batch ID Eligibility" enabled on Company record?
NO → Ineligible
2. Does contractor have a collaboration account?
NO → Ineligible
3. Does contractor have a credential on file?
NO → Ineligible
4. Is any expiration date in the past?
YES → Ineligible (Expired)
5. Is credential an Agency?
YES → Is it Complete?
YES → Eligible
NO → Ineligible
6. Is credential an Agent?
YES → Is it Advanced Complete?
NO → Ineligible
YES → Is job in California?
NO → Eligible
YES → Has background check?
YES → Eligible
NO → Ineligible
When assigning contractors to batch jobs:
| Scenario | UI Behavior |
|---|---|
| Eligible contractor | Normal display, can be selected |
| Ineligible contractor | Greyed out row, disabled selection, tooltip explains why |
The credential status column shows color-coded labels:
- Expired (yellow) - Credentials have expired
- Advanced Complete (blue) - Agent with all requirements met
- Complete (green) - Agency with all requirements met
- Incomplete (red) - Missing required fields
When the system auto-suggests contractors for batch jobs, ineligible contractors are automatically excluded from consideration. A contractor will NOT be suggested if:
- They are at capacity (active jobs >= max volume)
- Their coverage area is inactive
- They don't meet batch credential requirements
This ensures batch jobs are only assigned to contractors with proper, current credentials.
Credential expiration status is:
- Updated immediately whenever a credential is saved
- Synced nightly via background job to catch newly expired credentials
- Stored on the Account record (
has_expired_credentialsflag) for efficient querying
- "Batch ID Eligibility" checkbox enabled on Company record
- All company info filled out (owner, company name, EIN, phone, email)
- Bond info + uploaded document
- General Insurance info + expiration + uploaded document
- Workers Comp info + expiration + uploaded document
- E&O Insurance info + expiration (no upload required)
- At least one complete Process Server License + uploaded document
- W9 uploaded
- Nothing expired
- "Batch ID Eligibility" checkbox enabled on Company record
- Personal info (name, DOB 18+, full address)
- At least one complete Process Server License + uploaded document
- W9 uploaded
- Driver's License info + expiration + uploaded document
- Car Insurance info + expiration + uploaded document
- E&O Insurance info + expiration + uploaded document
- Nothing expired
- For California jobs only: Background check certification + date
Credential statuses are currently only visible in two places:
- Credential Index - The admin credential management page
- Job Assignment UI - Only on jobs with a batch ID (the "Credential Status" column)
Non-batch jobs do not display credential status in the assignment UI.
When evaluating an agency's batch eligibility, we only check the agency credential itself - not the individual agent/employee credentials under that agency.
Why: An agency may have employees who are not process servers (e.g., office staff, dispatchers). We currently have no way to distinguish which employees are actual servers vs. administrative staff.
Future consideration: To check employee credentials, we would need to:
- Add a way to classify which users under an agency are process servers
- Ensure all agencies properly apply that classification to their employees
- Then check that all classified servers have valid credentials
When a contractor passes a job along to another ServeManager user (sub-contracting), we do not verify that the receiving user has complete credentials.
This means a batch job could be passed from a credentialed contractor to an uncredentialed one after initial assignment.
- Credential model:
app/models/credential.rb - Batch eligibility check:
app/models/company.rb(batch_credentials_eligible?) - Assignment UI:
app/views/jobs/form/server_companies/_company.html.haml - Auto-suggestion logic:
app/controllers/jobs_controller.rb(suggested_contractor)