Contractor Account Management Dashboard
Contractor Account Management Dashboard
The contractor dashboard gives contractors a single, authenticated view of their work and finances with a letting or estate agency. It is accessible at:
/:company/accounts/contractor/:contractorId
The dashboard is organised into five tabs: Overview, Jobs, Pending Payments, Statements, and Account.
Navigation
- Desktop: Persistent sidebar listing all five tabs.
- Mobile: Dropdown selector at the top of the page.
- A Back to Accounts link is present on all tabs, returning the user to the accounts list.
Overview Tab
Displays five KPI cards summarising the contractor's current status at a glance:
| Card | Description |
|---|---|
| Total Assigned Jobs | Lifetime total, with active vs. completed split |
| Active Jobs | Jobs currently in progress, with trend indicator |
| Completion Rate | Percentage of completed jobs out of total assigned |
| Pending Payments | Total value of payments awaiting settlement |
| Total Earned | Lifetime earnings from completed work |
Trend indicators (↑ / ↓) are shown on relevant cards based on current values.
Jobs Tab
A paginated list of all maintenance jobs assigned to the contractor.
Filtering
Use the status filter to narrow the job list:
- All — every assigned job
- Open — jobs not yet started or in progress
- Completed — finished jobs
- Additional statuses returned by the AgentOS API are also available
Job Cards
Each job card displays:
- Title and property address
- Description
- Priority badge (Urgent / High / Medium / Normal)
- Status badge
- Reported date and completed date (if applicable)
- Cost, category, and access details
Actions
Mark Complete / Reopen
Toggle a job's completion status directly from the dashboard without leaving the page. The job list refreshes automatically after the update.
Add Note
Expand the inline note form on any job card to add a progress note. Submit the note and the form collapses; the job list refreshes to reflect the update.
Pagination
Jobs are loaded 20 per page. Use the previous / next controls at the bottom of the list to navigate.
Pending Payments Tab
Tracks all remittance items awaiting payment from the agency.
Summary Banner
Displays the total pending amount and number of outstanding entries at the top of the tab.
Submit Invoice
A form is provided to submit a new invoice against a job:
| Field | Description |
|---|---|
| Job ID | The AgentOS job reference |
| Invoice Number | Your invoice reference |
| Amount | Invoice total |
| Description | Brief description of the work |
Pending Entries Table
Lists all outstanding payment entries with:
- Date
- Description
- Invoice number
- Status
- Amount
A Total Pending footer row summarises the outstanding balance.
Statements Tab
Provides a historical view of financial activity between the contractor and the agency.
Date Range Filter
Filter transactions by a from / to date range. Use the Clear button to reset the filter and view the full statement history.
Summary Cards
Four summary cards appear at the top of the filtered view:
- Opening balance
- Closing balance
- Total credits
- Total debits
Transaction Table
A full ledger showing each transaction with:
- Date
- Description
- Invoice reference
- Debit amount
- Credit amount
- Running balance
Account Tab
Displays the contractor's profile information as held by the agency.
Account Details
- Company name
- Email address
- Phone and mobile numbers
- Registered address
- Active / Inactive status badge
Trades
The contractor's registered trades are shown as tag pills (e.g. Plumbing, Electrical, Gas).
Business Details
- VAT number
- Company registration number
Contacts
A grid of primary and secondary contacts associated with the contractor account, each showing:
- Full name
- Role
- Contact details
Data & Availability
All data is fetched in real time from the AgentOS API via existing tRPC procedures. There is no mock or cached data. All currency values use the symbol configured for the agency.
- Loading states: Skeleton placeholders are shown while data is being fetched.
- Error states: An error banner is displayed if a request fails, with a Try Again button to retry.
- Empty states: Informational messages are shown when a section contains no data.