Skip to main content

FTG Dashboard

Sign in with your FTG Builders account

Sign in with Microsoft Sign in with email instead

Profile & preferences

Your profile

Your name, photo, and account details are managed in FTG Portal.

Edit profile in FTG Portal

Dashboard preferences

Dashboard uses light appearance with top navigation. Report settings are saved from each report.

Reporting Hub

Find the financial, project, and operational views available to you.

Loading authorized reports
Good morning

Financial Overview

Data last updated:
▼ Configuration Options
Time Period:
▼ ANALYSIS
Revenue
Average
-
Highest
-
Lowest
-
CAGR
-
Gross Profit Margin %
Average
-
Highest
-
Lowest
-
CAGR
-
Operating Profit %
Average
-
Highest
-
Lowest
-
CAGR
-
Cash
*Excludes Schwab account balances
Average
-
Highest
-
Lowest
-
CAGR
-
AR/AP Ratio
Average
-
Highest
-
Lowest
-
CAGR
-
Revenue per Employee
Average
-
Highest
-
Lowest
-
CAGR
-
Net Over/(Under) Billing (GL basis)
Average
-
Highest
-
Lowest
-
Current
-

Industry Benchmarks

FTG vs. Industry Standards

Income Statement

Data last updated:
▼ Configuration Options
Time Period:
▼ ANALYSIS

Revenue to Operating Income Waterfall

Flow from revenue through direct costs, indirect costs, and operating expenses to operating income.

FTG Builders
Income Statement

Balance Sheet

Data last updated:
▼ Configuration Options
Time Period:
▼ ANALYSIS
FTG Builders
Balance Sheet

Statement of Cash Flows

Data last updated:
▼ Configuration Options
Time Period:
▼ ANALYSIS
FTG Builders
Statement of Cash Flows
Good morning

Job and PM Overview

Data last updated: -
Loading job data…

Project Schedules

Job Timeline Gantt Charts
Data from Google Sheets: -
Project Manager
Construction
Procurement & Pre-Mobilization
Design and Permitting
Loading schedule data...

Missing Budgets

Active Jobs Without Budget Data
Data last updated: -
Project Manager
Loading...
Jobs Missing Budgets
-
Total Actual Cost
-
T&M with sent recap
-
T&M without sent recap
-
Non-T&M actual cost
-
Unknown type actual cost
-
Job 3316 actual cost
-

Recap categories count each T&M job's full actual cost once. A sent recap does not prove costs were covered, approved, billed, or the job completed; no sent recap means no recorded send. If recap amounts are unavailable, the breakdown cannot be reconciled. Job 3316 overlaps the categories and reflects the other filters, even when excluded.

Breakdown:
Job #
Description
Notes Client
Type
PM
Actual Cost
Budgeted
Rev
Budgeted
Cost
First Cost
Date
Final Cost
Date
Recap Status Client Sent Recap Comment
Loading missing budgets data...
Page 1 of 1

Job Budgets

Data last updated: -
Project Manager
Loading...
Status:
▼ ANALYSIS

Key Metrics

📋
-
Total Jobs
💰
-
Contract Value
📊
-
Est. Cost
📈
-
Est. Profit
%
-
Avg Margin
Quick Sort:
Job #
Description
Client
Status
Project Manager
Start
Date
▶ Contract
Value
▶ Projected Cost
Estimated Profit
Profit Margin
Loading job data...
Page 1 of 1

Job Financials

Data last updated: -
Project Manager
Loading...
Status:
▼ ANALYSIS

Key Metrics

# OF JOBS
-
TOTAL CLIENTS
-
BACKLOG
-
NET OVER/(UNDER)
-
UNDERBILLED
-
AVG EST PROFIT %
-
ACTUAL PROFIT %
-
AVG JOB DURATION
-
AVG JOB SIZE
-
AVG % COMPLETE
-
All Jobs ▼
All Clients ▼
Quick Sort:
Job #
Description
Contract Type
Client
Start
Date
End
Date
Status
Project Manager
Contract
Value
Billed
Revenue
Earned
Revenue
Over/(Under)
Budgeted
Cost
Act.
Cost
% Complete
Est.
Profit
Act.
Profit
Est
Margin %
Act.
Margin %
Backlog
Loading job actuals data...
Page 1 of 1

Job List

Job Data from Procore

Loading Procore data...

RFIs & Submittals

Open RFIs and Submittals by Due Date Status
Data last updated: -
View By:
Overdue Next 7 Days > 7 Days Draft

RFIs by Project Manager

Submittals by Project Manager

Job # Description PM RFIs Submittals
Overdue Due <7 Days Due >7 Days Closed No Due Date Draft Overdue Due <7 Days Due >7 Days Closed No Due Date Draft
Loading data...

Job Cost Intelligence

Turn Foundation and Procore job-cost data into actionable insight across contracts, budgets, actual costs, and change orders.
Total Revised Contract Value
—
Total Revised Estimated Cost
—
Total Actuals to Date
—
Total Variance
—
Requires live budget and actuals for every visible job
Group By
Active jobs

Commitments

Portfolio-wide Procore Subcontracts & Purchase Orders — Committed vs Actual vs Budget by cost code
Data last synced: -
Total Committed
--
Approved Change Orders
--
Actual Cost
--
Uncommitted Budget
--
Commitments
--
Vendors
--

Committed vs Actual vs Budget by Project Manager

Project Manager / Job / Commitment Vendor / Contract Company Type Status Original Value Approved COs Revised Value Retainage %

Closed Job Analysis

Performance Analysis of Completed Jobs
Data last updated: -
Project Manager
Loading...
▼ ANALYSIS
Key Metrics
# of Jobs
-
# of Clients
-
Avg Duration
-
Avg Job Size
-
Total Billed Revenue
-
Avg Budgeted Margin
-
Avg Actual Margin
-

Change-Order Waterfall — filtered set, original contract → change orders → billed → cost → profit

Job # Description Client PM Start Date End Date Budgeted Revenue Billed Revenue Rev Diff Budgeted Cost Actual Cost Cost Diff Budgeted Profit Actual Profit Profit Diff Budgeted Margin Actual Margin Margin Diff
Totals / Averages - - - - - - - - - - - -
Loading closed job data...
Page 1 of 1

Monthly PM Report

Data last updated: -
Project Manager
Loading...
All Clients ▼
Active ▼
All Types ▼
▼ Client Charts
Job Financials
Job # Description Type Total
Contract
Amt
Total
Est
Cost
Est
Gross
Profit
Est
Gross
Margin %
Billings
to
Date
Total
Costs
to Date
Current
Gross
Profit
Current
Gross
Margin %
%
Complete
Over/
(Under)
Billed

Revenue by Job

Earned revenue per job — single date (cost-to-completion) or between two dates (period revenue)
PM
Loading…
All Jobs▾
All Customers▾
All PMs▾
Group by
Resolving snapshot…
Job # Job Name Customer PM Start Date End Date Actual Costs Cost Budget % Complete Contract Value Revenue to Date
 

Contract Revenue Breakdown · July–August 2026

Separate monthly totals with customer/job detail and contract values.
Loading dated revenue source…
Customer / JobJob #Contract ValueJuly 2026August 2026Jul–Aug Total
Loading…

Over/(Under) Billing

Job Billing Status Analysis
Data last updated: -
Project Manager

Summary Commentary

No commentary added yet. Click Edit to add summary notes.

Key Metrics

📋
0
Total Jobs
📄
$0
Contract Value
💵
$0
Billed Revenue
📈
$0
Earned Revenue
📊
$0
Overbilled
📉
$0
Underbilled
📉
$0
Underbilled (excl. T&M)
⚖️
$0
Net Over/(Under)
📏
-
Underbill % of T12M Rev

Top 10 Overbilled Jobs

Top 10 Underbilled Jobs

All Jobs ▼
All Clients ▼
Job #
Description
Client
PM
Type
Contract
Value
Est. Cost
Act.
Cost
% Complete
Billed
Revenue
Earned
Revenue
Over/(Under)
Status
Loading data...
Totals - - - - - - -
Page 1 of 1

Labor Hours

Employee Hours by Job
Data last updated: -
Project Manager
Loading...
Status:

Hours by Pay Period

Hours by Job

Hours by Employee per Month

Hours by Trade per Month

Hours by Job per Month

All Jobs
All Employees
All Trades
Job #
Job Description
Employee Name
Trade
Regular Hours
OT Hours
DT Hours
Other Hours
Total Hours
Subtotal 0 0 0 0 0
Page 1 of 1

Job History Detail Report

Foundation job history by cost code group and cost code, pulled live from Foundation. Open invoice attachments from A/P lines.
From FromTo
Job Status
FromTo
Select Jobs
Select Cost Codes
Cost Classes to Report

Trade Mix

Revenue & cost distribution across cost classes (trades) over time
Data last updated: -
True period activity per cost class, computed as deltas between month-end snapshots of the cumulative Foundation job-cost feed.

Insights

View detailed insights

Cost by Trade

Trade Mix

Period totals are dollars in both modes.

Job Costs

Job Cost Breakdown by Category
Data last updated: -
Project Manager
Loading...
Status:

Top Spend Categories as a % of Revenue

Shows which cost categories consume the largest share of earned revenue
Job #
Job Description
Project Manager
Cost Code
Description
Total Cost
% of Total Cost
% of Revenue
Loading cost code data...
Totals - 100.00% -
Page 1 of 1

Workforce Dashboard

Employee Metrics & Composition Analysis
Data last updated: -
Active Headcount
-
Hires YTD
-
Terminations YTD
-
Attrition Rate
-
Avg Tenure
-
New Hire Retention
-

Headcount Trend

Hires vs Terminations

Retention Rate Over Time

Retention by Trade

Employees by Trade

Tenure by Trade

Upcoming Employment Milestones

Approaching 60-Day Mark

Loading...

Approaching 90-Day Mark

Loading...

Employee Directory

Name Job Title Manager Years Hire Date Term Date Type Trade
Loading employees...

Accounts Receivable Aging

Data last updated: -
Project Manager:
Loading...

Key Metrics

Total Due
excl. retainage
—
Total Retainage
—
Current (0-30 Days)
—
31-60 Days
—
61-90 Days
—
90+ Days
—
90+ Collectible / TTM Sales
Unavailable

AR Aging

as of: -

Average Days to Pay by Customer · last 12 months ⓘ

Weighted by payment amount · Portfolio avg: - days · - payments tracked · Showing - of - customers
All Customers ▼
All Jobs ▼
Customer
Total Due
Total Incl. Ret. 0-30 Days
31-60 Days
61-90 Days
90+ Days
Retainage
Notes
Loading AR aging data...

Invoice/Payment Lookup

Find vendor invoices and track payment status.
Loading invoice data…
Page 1 of 1

Invoice Approvals

Vendor invoices pending PM review and approval
Data from Google Sheets: -

Upload New Invoices

Drop invoice PDFs here — we read each one with AI, you review and confirm, then it's filed to the PM's Drive folder and added to the Master List.
📄
Drag & drop invoice PDFs here
or click to choose files (you can pick several at once)
Project Manager:
Loading...
Total Pending
—
Not loaded
Current (0-30 Days)
—
Not loaded
31-60 Days
—
Not loaded
61-90 Days
—
Not loaded
90+ Days
—
Not loaded

Invoice Approvals Aging

PM Invoice Approval Report Card

Turnaround = Notified → approval Timestamp on explicit Approved invoice lines. On time = within 5 weekdays (America/Los_Angeles; holidays counted as weekdays).

PMMedian dAvg d On timeMeasuredExcluded PendingPending $Overdue Oldest dUnmeasured
Not loaded
Invoice lines (0)
InvoicePMVendorStatusBusiness daysResultQuality

    Oldest Outstanding Invoice by PM (Pending)

    Days since notification, falling back to invoice date. Hover for invoice details; ties are marked oldest.

    Outstanding by Age (Pending)

    Count of pending invoices grouped by invoice-date age; bar colors show age, not count.

    All Jobs ▼
    All Vendors ▼

    Invoices To Be Approved

    PM / Vendor Invoices Total Due 0-30 Days 31-60 Days 61-90 Days 90+ Days Days Outstanding
    Loading...

    Invoices Not Approved

    PM / Vendor Invoices Total Due 0-30 Days 31-60 Days 61-90 Days 90+ Days Avg Days
    No invoices

    Approved Invoices

    PM / Vendor Invoices Total Due 0-30 Days 31-60 Days 61-90 Days 90+ Days Avg Days
    No invoices

    Accounts Payable Aging

    Vendor Payment Status

    Data last updated: -

    Top 10 Vendors by Spend

    2015 to 2026
    Vendor
    # Inv Invoice #
    Invoice Date
    Job #
    Job Desc.
    Project Manager
    Non-Retention
    Retention
    Invoice Amount
    Paid-to-Date
    Remaining
    Status
    Loading invoice data...
    Page 1 of 1

    Forecast

    Jan 2025 - Dec 2026 | All values in $000s (thousands) | Actuals through last complete month, then forecast
    Actual Forecast Has Comment

    Revenue

    Total projected revenue by month.

    Gross Profit & Margin

    Gross profit by month with gross-margin %.

    Operating Profit

    Operating profit by month.

    Cost Breakdown

    Direct, indirect, and operating costs by month.

    %
    ▼ AI Summary
    ▶ Key Assumptions & Notes

    Potential Upcoming Jobs

    Manually track prospective work (not yet won), grouped by Project Manager. Separate from the Valuation pipeline.

    Loading potential jobs…

    Workforce Planning

    2026 Compensation Budget Planning
    Total Employees
    0
    Annual Compensation
    $0
    Direct Labor
    $0
    Indirect Labor
    $0
    Project Managers
    $0
    Admin
    $0
    Last Name First Name Goes By Job Title Account Class Hire Date Term Date Wage Type Rate / Salary Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Annual Total

    Cash Balance & Transactions

    Data last updated: -
    Loading...

    Daily Cash Balances

    Average
    -
    Highest
    -
    -
    Lowest
    -
    -
    Growth
    -
    Calculating daily balances...
    Loading transactions...

    Administration

    Manage Dashboard operations and Dashboard staff access. FTG Portal and Client Portal accounts remain separate.

    Dashboard staff accounts

    Dashboard roles and sign-in only. FTG Portal membership, titles and photos are managed in FTG Portal.

    Select Staff accounts to load Dashboard users.
    Loading roles...

    Staff authentication rollout health

    Bounded bootstrap and sign-out outcomes by rollout, cohort, and shell. Duplicate cross-tab receipts are de-duplicated and are not counted as initiating failures.

    Runbook: correlate a rate change with the matching rollout annotation, pause the rollout, compare the affected cohort with legacy, and require one healthy observation hour before resuming. Use the kill switch for a rollout-specific regression.

    Loading staff auth health...

    Client Portal accounts are separate from staff accounts. Everyone here is a single "client" type — what each person can see is controlled by the Access Levels you assign them (or by direct job grants).

    Loading clients...

    Active read-only previews

    Previews expire automatically. Only the staff member who issued a preview can revoke it.

    Loading active previews...

    Add Client

    New clients receive a setup-password email so they can choose their own password.

    Generate password (no email) for

    This replaces their current password immediately (any active portal sessions are signed out) and no email is sent — you copy the credentials and share them yourself.

    Edit access for

    Loading...

    Effective access for

    Loading...

    Access summary for

    Loading...

    Usage & emails for

    Loading...

    Access review — who can see which job

    Loading...

    Access Levels are reusable, named sets of job visibility. Assign one to as many clients as you like — change the level once and every assigned client updates automatically.

    Loading access levels...

    Access Level

    Loading...

    Every job number granted to at least one active portal client, verified against the three systems the portal joins at runtime: Foundation (job identity feed), Procore (project match + per-section cache freshness), and SharePoint (job folder + published portal documents). "No data" is labeled honestly — a tool that isn't enabled in Procore is not the same as a cache that never synced or went stale.

    Loading integration health...

    Client-visible invoice packet coverage

    Meeting minutes auto-ingest

    Every night, right after the meetings cache refresh, each job's Procore meeting minutes are filed automatically into the portal Documents page (attached PDFs as-is; typed minutes as a generated PDF). A job's very first backfill never emails clients; after that, newly posted minutes notify clients per their document preferences.

    Loading ingest status...

    Unassigned minutes

    Minutes files that arrived without a clear job/meeting match (from the Fireflies and SharePoint pipelines). The Hint column shows what the source knew — for Fireflies rows, the original transcript title and meeting date. Preview each file, then assign it to a job — and optionally a specific meeting — or dismiss it. Assigning files the PDF to that job's portal Documents and notifies its portal clients per their preferences; dismissing keeps that transcript out permanently (it is never re-queued by later polls).

    SharePoint minutes folder watch

    Watches each active job's SharePoint folder for a "Meeting Minutes" subfolder and auto-files any new PDF/Word document into that job's portal Documents, linked to the Procore meeting whose date matches the filename (or the file's upload date). Expected convention (read-only — folders are never created): one folder per job, named with the job number, anywhere in the Construction site's document library, with a "Meeting Minutes" subfolder either directly inside it or inside its "Meetings" folder (e.g. "12 Meetings/Meeting Minutes"). Jobs without one are skipped quietly; ambiguous folder matches park files in the Unassigned queue above. A job's first backfill never emails clients; deleting a file in SharePoint never removes it from the portal.

    Loading watcher status...

    Folders needing attention

    Procore inspection reports

    Checks attachments on portal-visible Procore inspections and silently files supported PDF/Word reports under Reports & Signoffs. Clear municipal, special-inspection, and HCAI/OSHPD context is required; unsupported or uncertain files are skipped and reported here rather than guessed.

    Loading Procore inspection-report status...

    SharePoint inspection reports watch

    Watches each active job's SharePoint folder for inspection-report subfolders and auto-files any new PDF/Word document into that job's portal Documents in the matching category — clients see them under “Reports & Signoffs” on the Inspections page. Folder names map to categories: “Inspection Reports”/“Municipal Inspections” → Municipal Inspection Report, “Special Inspections” → Special Inspection Signoff, “OSHPD”/“HCAI” → OSHPD Field Visit Report (a numbered prefix like “07 Special Inspections” is fine, directly in the job folder or inside its “Inspections” folder). Jobs without these folders are skipped quietly; ambiguous matches file nothing and are listed below. Auto-filed reports never email clients, and deleting a file in SharePoint never removes it from the portal.

    Loading watcher status...

    Folders needing attention

    Fireflies meeting recaps

    Finished Fireflies meeting recaps (overview, notes, action items) are pulled automatically about once an hour and filed to the matching job as branded PDFs — linked to the job's Procore meeting when the dates line up. Meeting-title convention: include the 4-digit job number in the meeting title (e.g. “3316 — Weekly OAC”) so the recap files itself; recaps without a confident match land in “Unassigned minutes” above for review. The first backfill never emails clients.

    Loading Fireflies status...

    Closeout package workspace

    Organize job closeout files by subcontractor, save the organized copy in Construction SharePoint, and publish the client-authorized copy to the portal.

    1. Subcontractor folder

    Choose where these files belong. Empty folders are also visible to clients.

    2. Choose source files

    No files selected.
    No SharePoint files selected.
    3. Save to both destinations
    Select a folder and at least one file.

    Insurance Certificates workspace

    Choose certificates from this PC or the selected job’s Construction SharePoint tree, confirm the client-facing details, then save an organized SharePoint source copy and publish the portal-owned copy.

    1. Choose source files

    2. Review client-facing details

    Confirm every title and effective date before publishing.

    Choose files to review.
    3. Save and publish
    Choose at least one file.

    Published insurance certificates

    Select a job to load published certificates.

    The document library clients see on their portal Documents page. Pick a job to see exactly what its portal clients can download, upload new documents, or remove one added by mistake.

    Enter a job number above to load its portal document library.

    Closeout packages — completion overview

    Every job with at least one closeout document, least-complete first. Click a missing category to load that job's library below with the upload form preset — attach the missing document immediately.

    Loading closeout overview…

    Upload a document to job

    Everyone whose portal access includes this job sees the document on their Documents page immediately (50 MB max per file).

    Import documents into job from Procore or SharePoint

    Pull files that already exist in the job's Procore project documents or SharePoint job folder straight into the portal library — no re-downloading and re-uploading. Files identical to something already in this job's library are skipped automatically. Pick a closeout category (Warranty, As-Built, O&M Manual, Closeout) to fill the client's Closeout Package hub.

    Lien waiver tracking — vendors expected on job

    Clients see a status row for each vendor listed here (latest waiver on file, through date, final on file, Current/Outstanding). Deactivating a vendor removes its status row without touching any uploaded documents. Notes are staff-only.

    Page Permissions control which portal pages and client-facing capabilities a user can use. Each card shows the level baseline. They do not change which jobs the user can see; manage job visibility separately under Access Levels or direct job grants. Required Account and Notifications pages are always on for a valid assigned level. User-wide and per-job page exceptions are identified separately, and the per-job exception wins.

    Loading permission levels…

    Permission Level

    Loading guide...
    Date/Time Category Severity User Action Details IP Address
    Loading audit log...

    Request Health — this instance only (in-memory since last restart; autoscale instances differ)

    Route (top by volume) Count 4xx 5xx Avg ms Max ms
    Loading request metrics...

    Server errors (unhandled exceptions and 5xx API responses) captured automatically. Each failed request returns an X-Request-Id header — paste it above to find the matching error.

    Time Status Method Route User Request ID Error
    Loading errors...

    Every recap package / PO-nudge email records its outgoing MIME structure at send time (inline image parts + cid: references). If a client reports a missing FTG logo, expand the row to confirm the logo left our server intact, and download the .eml to diff against the delivered copy.

    Sent Kind Job To Subject Via Logo Raw
    Loading sends...

    Import Bank Transactions (CSV)

    Upload a legacy bank CSV or the new Account Activity export. The system detects the format, matches known accounts, reports unknown accounts, and skips duplicates.

    📁

    Drag & drop a CSV file here, or click to browse

    Accepted: Account Activity (TRC Number, Account Number, Post Date, Amount, Description, Text, Calculated Balance) or legacy bank export

    Import Credit-Card Transactions (CSV)

    Upload a Capital One or American Express statement export. If bank Account Activity is dropped here by mistake, it is detected and safely imported as bank activity instead of card spend.

    💳

    Drag & drop a card statement CSV here, or click to browse

    Capital One: Transaction Date, Description, Category, Debit, Credit · Amex: Date, Description, Amount

    Stored Transaction Summary

    Loading stats...

    Duplicate Transaction Audit

    Scan stored transactions for suspected duplicates left by earlier failed uploads (same account, date, amount & normalized description). Review before removing anything — nothing is deleted automatically.

    Page Views

    Total Views
    —
    Unique Users
    —
    Pages Viewed
    —
    Avg / Day
    —

    Daily Trend

    Views by Page

    Page Views Unique UsersUsers Last ViewedLast
    Loading...

    Views by User

    User Views Pages Last ViewedLast
    Loading...

    Native storage migration

    User-operated, data-only copy into an already-published native target. Follow the explicit stages Verify Source → Pause → wait for a fresh fence/drain → Preflight → Copy or resume → Activate → manual native flags/Publish. Verify Source is usable while legacy is active. Pause and Resume old app use the managed freeze-control protocol; this panel never publishes schema, changes routing, or activates an admission automatically.

    Loading migration status…
    Pause: loading…
    Coverage: loading…
    Wait: loading…
    Drain: loading…
    2. Pause: Verify Source must succeed first. Pause controls only the selected managed application. The backend waits for coverage, a fresh fence, and drain completion; it will refuse to claim a pause when that evidence is unknown.
    
                
    No copy queued.

    Live health of the data pipeline, Procore, Google Sheets, Gmail, and the feed status change log.

    Text-In T&M Recaps

    Superintendents text their recap (job, vendors, notes, complete/partial, GMR yes/no) to the FTG RingCentral number. The message is parsed automatically and a recap is created on the T&M Recaps – Field page. Match each superintendent to their cell number below — texts from unknown numbers are rejected.

    Morning Recap Attention Email

    Daily outstanding text sessions, including prior days. No outstanding items means no email. Production only; Admin → Email must permit automatic email and allow-list the recipient. History above 5,000 intake rows stops delivery with an explicit scheduler error, never a false empty queue.

    End-of-Day Summary Text

    Once per day (only when texts came in), the recap number sends one summary text to the recipients below: how many texts arrived, from which superintendents, recaps filed, waiting on info, and photos received. Replaces RingCentral’s per-message email notifications.

    Biweekly Recap Nudge

    Every other week, the recap number texts the selected superintendents a friendly nudge — but only the ones who haven’t logged a T&M recap within the lookback window. Replying RECAP starts a text-in session right in the same thread. Supers without a cell number are skipped. Automated reminder texts are sent only from 7:00 AM through 3:59 PM Pacific; overnight runs are deferred.

    Superintendent Cell Numbers

    SuperintendentCell NumberT&M ClientsCard SentActions
    Loading…

    Reply Health (last 7 days)

    Loading…
    Reply-Health Alert Thresholds
    An hourly check emails the operational-alert recipients when the last hour crosses any of these. To confirm delivery, use Admin → Email Control → Send Test Email → "Text-In Recap reply-health alert".

    Job Recap Sessions

    One card per superintendent and job. Work complete means the super reported the job done; Recap submitted means a T&M recap was filed; Office handled means staff closed it out here. Legacy Needs review items are shown as-is and have not been repaired automatically.

    Loading…

    Recent Texts

    WhenFromMessageOutcomeReply Sent
    Loading…

    Company Valuation

    Multiple methodologies triangulated for buy-sell / buyout scenarios. Restricted access.
    Data through: - · Financials basis: -
    Loading financial inputs…