Is the market helping?
Each kind of radon work, against the indicators that move it.

Sign in with your approved N.E. Radon Doctors account.

Mortgage rates, home sales and households, and what they mean for radon work.
Each kind of radon work, against the indicators that move it.
Auditing revenue records…
Replayed against what was invoiced.
Actual invoices, scheduled work, approved work and forecast assumptions shown separately.
Two lifetime totals for the same business, and what makes up the difference.
Every invoice behind the selected-period Revenue total.
| Period | Agreed at | Today | Moved by | Recorded |
|---|---|---|---|---|
Loading recorded months… | ||||
Each band adds to the one before it: invoiced, then the booked work that will invoice, then the whole expected finish. The tick is the goal.
See which production days carried the period and where capacity was missed.
Weekends and holidays are not graded.
Loading the board…
Call lists with a drafted message. Nothing sends on its own.
Every new lead gets one outcome — phone quotes and separately booked jobs included.
| Customer | Property | Intake | Age | Stage | Outcome | Evidence |
|---|
Quotes decided in the selected period, beside every quote open today.
| Job type | Decided | Won | Archived | Won rate | Open now |
|---|
Every decided quote on file. These are the rates the approval chances are read from.
| Job type | Decided | Won | Archived | Won rate | Open now |
|---|
Loading…
A $0 return is evidence to review—not proof of a warranty failure.
| Return visit | Original work | Signal | Confidence | Decision |
|---|
Installed three and a half to five years ago with no return visit on record.
| Property | System | Installed | Age | Job |
|---|---|---|---|---|
Loading watch list… | ||||
Zero-value jobs matching no classification rule.
| Job | Title | Service type | Date |
|---|---|---|---|
Loading unclassified jobs… | |||
Loading…
Loading…
| Account | Type | Book balance |
|---|
| Date | Type | Account | Payee / memo | Amount |
|---|
Auditing source balances and collection workflow…
Highest priority first. Call or Text logs the contact.
| Customer | Owed | Overdue | Status |
|---|
One account per customer; invoice balances aggregate without duplication.
| Customer | Total | Actionable | Invoices | Oldest | Classification | Next action | Actions |
|---|
| Invoice | Customer / property | Original | Remaining | Due | Age | Last chased | Customer opened it | Source status | Classification |
|---|
| Customer | Invoice | Balance | Age | Current classification | Reason flagged |
|---|
Loading the model behind each percentage…
| Horizon | Outcome | Matured invoices it learned from | Confidence |
|---|
| Customer | Invoice | Promised | By | Status | Matched payment | Action |
|---|
| Customer | Invoice | Overdue | Attempts | Last contact | Action |
|---|
Aged, uncollected receivables past the review threshold (Finance > Settings).
| Customer | Invoice | Balance | Overdue | Status | Action |
|---|
Customer disputes against an invoice or a specific cash/check payment.
| Customer | Reference | Amount | Reason | Status | Action |
|---|
| Type | Customer | Reference | Amount | Reason | Status | Action |
|---|
From what customers owe now, against the bills already known.
| Vendor | Amount | Due | Category |
|---|
| Week of | Cash in | Cash out | Net | Running |
|---|
This month so far.
| Date | Customer | Invoice | Type | Amount | Method |
|---|
Bills, recurring costs and payroll, entered here until QuickBooks is connected.
Receipts paid back to the team through payroll. When the same purchase shows up in the bank or QuickBooks, it's counted once.
Rent, insurance, software subscriptions, and similar predictable costs.
| Name | Category | Amount | Frequency | Start | Status | Action |
|---|
One-off vendor bills.
| Vendor | Category | Amount | Bill date | Due | Status | Action |
|---|
Company-wide total per pay period -- for cash flow, not per-employee job costing.
| Pay period | Pay date | Total |
|---|
| Collected | Deadline | Collector | Customer / property | Invoice | Type | Amount | Custody | Deadline | Batch | Reconciliation | Action |
|---|
| Batch | Bank account | Prepared by | Payments | Expected | Confirmed | Difference | Status | Action |
|---|
Checking payments, invoices and deposits…
| Customer | Amount | Job |
|---|
| Customer | Amount | Collector |
|---|
| Job | Customer | Completed |
|---|
Billed work with no job behind it — deposits, retests, service calls.
| Invoice | Customer | Issued | Status | What was billed | Amount |
|---|
| Invoice | Customer | Amount |
|---|
| Date | Customer | Amount | Raw method |
|---|
| Batch | Expected | Confirmed | Difference |
|---|
| Customer | Amount | Date | Collector |
|---|
| Customer | Amount | Collector | Reason |
|---|
| Customer | Amount | Check | Reason |
|---|
| Date | Description | Amount | Account |
|---|
Exact where costs are entered; a ~ means estimated from the job type.
| Job | Customer | Completed | Revenue | Material | Labor | Sub | Permit | Disposal | Gross profit | Margin | All in | Action |
|---|
Adds up base pay and the jobs finished in the period.
ADP: —
| Period | Pay date | Employees | Gross | Status |
|---|
Verify which jobs are being paid and that each one counted correctly.
| Completed | Job | Type | Employee | Role | Rule | Amount | Source |
|---|
| Employee | Base | Jobs | Job pay | Bonus | Reimb. | Adj. | Gross | Status |
|---|
Approved expenses are added here as reimbursements, once each.
| Employee | What | Amount |
|---|
| Severity | Code | Message |
|---|
Weekly base pay and ADP worker ID for each person.
| Employee | Base / week | Default role | ADP worker ID | Status |
|---|
What each kind of job pays, and from when.
| Name | Type | Job type | Role | Amount | From | Priority |
|---|
How each kind of pay is labelled in ADP.
| Operator type | ADP code | Label | Configured |
|---|
Owner-approved expense map.
| Bucket | Amount |
|---|
Accounts Operator can't place. You choose the bucket; nothing is assigned for you.
| Account / vendor | Amount | Classify as |
|---|
Last week in one email, Monday at 7am.
Used to estimate jobs with nothing entered.
Loading…
| Bank transaction | Date | Amount | Matched batch | Confidence | Reason | Action |
|---|
| Date | Amount | Description | Action |
|---|
Last 12 months
Bigger, darker circles did more business. Click one for the town.
Click a town for its jobs, quotes and service mix.
| Town | Service mix | Revenue | Jobs | vs last year | Quotes won | Open quotes | Score |
|---|
Open quotes against what each town has paid so far, best first.
Loading…
| Area | Your properties | Under contract | vs last year | New listings vs last year | Days on market | Your jobs, 12 months | vs prior 12 | Jobs per 100 under contract |
|---|
Loading calls…
| Who | Rang | Answered | Missed | Avg length |
|---|
Checking upcoming jobs against stock…
Moves between territories change the shelf in both.
Nothing is saved until you press Save.
Last 30 days
Loading…
| Per day | Leads / mo | Jobs / mo | Revenue / mo | Cost of the next lead | Return on the next $1 |
|---|
| Campaign | Spend | Leads | Cost per lead | Paying customers | Invoiced so far | Profit after ads | Per ad $ |
|---|
The same six figures for each of the last six months.
| Month | Spend | Leads | Cost per lead | Booked | Invoiced so far | Return per $1 |
|---|
Loading the forecast…
| Campaign | Status | Clicks | Avg CPC | Cost | Google conversions | Cost / conversion | Impr. share |
|---|
| Town | Spend | Clicks | Conversions | Jobs |
|---|
| Search term | Campaign | Spend | Clicks |
|---|
| Call | Source | Campaign | Town | Customer match | New customer? |
|---|
| Source | Leads | Booked | Conversion | Invoiced in period | Avg job | Lifetime value | How we know |
|---|
| Customer | First seen | Revenue | Where did it come from? |
|---|
| Partner | Type | Customers sent | Paying | Revenue | Last referral |
|---|
| Agent | Broker / office | Contact | Properties | Listings | Last seen |
|---|---|---|---|---|---|
Loading… | |||||
Inbound calls over the last 30 days, by the number that was dialled.
| Number | What it is | Channel | Calls | Answered | Already customers |
|---|
| Keyword | Calls | From ads | Customers | Revenue | Landing page |
|---|
Your listing on Google search and Maps.
| Reviewer | Rating | Date | Reply |
|---|
Searches that showed your site, from Search Console.
| Search | Clicks | Impressions | CTR | Position |
|---|
| Page | Clicks | Impressions | CTR | Position |
|---|
| Search | Impressions | CTR | Position | Opportunity |
|---|
From Google Analytics.
| Channel | Visits | Conversions | Conv. rate |
|---|
| Page | Visits | Conversions |
|---|
| Device | Visits | Conversions | Conv. rate |
|---|
| Event | Count |
|---|
| Town | Region | Visits | Conversions |
|---|
Loading…
Checking…| Technician | Starts from | Days | Stops | Est. miles | Logged miles | Est. cost | Revenue | Revenue / mile |
|---|
| Town | State | Stops | Revenue | Miles in | Revenue / mile |
|---|
| Technician | Jobs | Installs | Revenue | Profit per tech-day | Callbacks | Post-test failures | Reviews naming them |
|---|
AARST 11.6.2 occupational limit, per technician.
Click a name to see the visits and test readings behind their total.
| Technician | Window | Cumulative WLM | Cumulative pCi/L·days | % of limit | Visits (estimate / no test) | Status |
|---|
Loading…
| Date | Property | Result | Test | Source |
|---|
Pairs ASD, HRV, and Water installs with the matching post-job test.
Among installs with a matching post-mitigation test.
| Installer | Tested | Fail | Fail rate | Avg post |
|---|
Where post-mitigation levels stay highest.
| ZIP | Tested | Fail rate | Avg post | Max post |
|---|
Install done — no matching air/water test on or after that date yet.
| Property | Type | Installed | Installer | Days open |
|---|
Air vs guarantee/2.0 · Water vs 300 pCi/L action level.
| Property | Type | Post test | Result | Outcome | Installer |
|---|
Loading…
| Property | Customer | System | Owed | Last activity | What's next |
|---|
“To verify” means found in job records, not yet checked.
| Property | System | Fan | Make / model | Installed | Installer | Warranty | Status |
|---|---|---|---|---|---|---|---|
Loading… | |||||||
These jobs have no service address, so they reach no house.
| Job | Customer | Completed | Title | Revenue |
|---|
| Record | As entered | Cleaned up | Unit | Match | Why | |
|---|---|---|---|---|---|---|
Loading… | ||||||
Company-wide. Your own theme, text size and alerts are in .
Where each person starts the day. Fleet uses these for drive time and fuel cost.
| Person | Home base | ZIP | MPG |
|---|
One person approves everyone's expenses, with a phone alert for each.
Where each source's figures come from, how fresh they are, and how often they update.
Operator preserves the local database while live connections are configured.
How many of each record Operator holds, from the sources above.
Checking…
Every night, a copy of quotes, jobs, invoices, leads, calls and Google Ads goes to your own Google Cloud project, for analysis. Operator stays the master copy. Names, addresses and phone numbers don't go across.
Paste each of these into the matching provider's console, exactly as shown.
Checking…
Sign in as the mailbox that sends results. Customer emails go out from it, as results@, billing@ and chris@ when Gmail lets it send as them.
One layout for every customer email. A preview sends nothing.
Checking…
| Raw description | Classified as | Confidence | Reason | Records | Revenue |
|---|
Loading…
| Lead | Stage | Sent | Next | Due |
|---|
| When | Customer | Message | To | Result |
|---|
Who each card says will get back to them. Name, photo and title come from their profile.
Loading…
Loading…
Board cards say when the house is for sale, under contract or just sold.
Loading…
Powers the photo-to-concept generator in System Designer.
| Type | When | Checked | Flagged | Status |
|---|---|---|---|---|
| Loading… | ||||
Alerts on Home 60 days before anything here expires.
| Item | Category | Whose | Expires | Days left | Renewed? |
|---|
They set a password, then add their photo, cell and email signature.
Loading the team…
Owner controls everything. Manager runs day-to-day work. Staff do routine work. Read only can look but not change anything — they can still edit their own profile.
Asks each listing service in use about an address known to be listed.
Checking…
Checking…
Paste it into the Supabase SQL Editor and run it.
| Table | Rows a person typed |
|---|

Powered by Botti Capital Partners.
Pull new PDFs from radontesting.com into Testing. Matched addresses also land on the property Tests tab.
| Type | Job / quote | Title | Date | Value | Classification |
|---|