Loading dashboard…

The Dentistry PM Dashboard

Select your access level to continue

The Dentistry PM Dashboard Local Data

100 Branch Expansion · Live Dashboard

Updated: —
📊 Overview
💰 Finance
👥 People
🏗️ Property
📣 Marketing
⚙️ Operations
⚖️ Legal
🗂️ Branches
🖥️ Branches Display
📅 Weekly Log
Task Status —
Branch Progress Target: 100

🔴 Overdue — Urgent Action Required

🔥 High Priority — Still Outstanding

🚨 Action Required
💰 Finance Tasks
🧮 Company-Wide Totals (All Branches)
🏬 People & Capabilities by Branch — click a branch to view & edit its doctors, BM, DA, TA and CS

Branch People

🏗️ Property Tasks
📣 Marketing Tasks
🗓️ MKT Plan Timeline — Aug–Dec 2026
📋 MKT Tracking
🎯 Strategy, Performance & Customer Experience
💰 Branch Revenue (DentCloud)
Not connected yet — ask the Owner to provide the DentCloud API key via Setup to enable per-branch revenue.
⚙️ Operations Tasks
Open
—
Operational
Under Construction
—
Building
Planned
—
Pipeline
Cancelled
—
✅ Completed
—
out of 100
📈 Overall Completion (checklist + rooms + staffing) —
🗂️ Branch Tracker — 20 Confirmed Sites
📅 Weekly Task Log
🔗 Connect Your Google Sheet (for live auto-refresh)

Paste your Google Sheet published CSV URLs ✓ Saved!

Once connected, any update your team makes in Google Sheets will appear here within 5 minutes automatically.

🔄 Realtime Sync (Recommended) — reuses your existing Google account, no new signup

Paste your Apps Script Web App URL ✓ Saved!

This uses Google Apps Script (free, tied to your existing Google account) as a tiny live backend, polled every ~12 seconds. Steps:

  1. Open script.google.com → New project
  2. Delete the placeholder code, paste in the script below
  3. Deploy → New deployment → type: Web app → Execute as Me, Who has access: Anyone → Deploy
  4. Approve the permission prompt (it's your own script, under your own account)
  5. Copy the Web app URL it gives you and paste it below

Script to paste:

function doGet(e){return ContentService.createTextOutput(getSheet_().getRange('A1').getValue()||'{}').setMimeType(ContentService.MimeType.JSON);} function doPost(e){getSheet_().getRange('A1').setValue(e.postData.contents);return ContentService.createTextOutput(JSON.stringify({ok:true})).setMimeType(ContentService.MimeType.JSON);} function getSheet_(){var ss=SpreadsheetApp.getActiveSpreadsheet()||SpreadsheetApp.create('PMO Sync Store');var sh=ss.getSheetByName('SyncState');if(!sh){sh=ss.insertSheet('SyncState');sh.getRange('A1').setValue('{}');}return sh;}

⚠️ "Anyone" access means anyone with this URL can read/write the data (no login check) — same trust model as the rest of this dashboard. Fine for an internal team; don't store sensitive personal data here.

🔥 Alternative: Realtime Sync (Firebase) — instant push instead of ~12s polling

Paste your Firebase project config ✓ Saved!

Create a free project at console.firebase.google.com → Add project → Build → Firestore Database → Create database (start in test mode) → then Project settings → General → scroll to "Your apps" → Web app (</>) → copy the config values below. Once this is filled in on your device, tasks/branches/checklist/staffing you edit here sync live to every other logged-in teammate.

⚠️ In Firestore, set security rules to allow read/write (test mode, or scope to this app) since this dashboard uses a shared team passcode rather than individual logins — anyone with the deployed URL and this config could read/write the data. Fine for a trusted internal team; do not put sensitive personal data (IDs, bank info) in this dashboard.

📋 Setup Guide — 4 Steps to Go Live

1 Import your Excel to Google Sheets

  1. Go to sheets.google.com → click "+" (Blank spreadsheet)
  2. Click File → Import → Upload → select your Dental_Clinics_PMO_Dashboard_v2.xlsx
  3. Choose "Replace spreadsheet" → Import data
  4. Your sheet now has all tabs: Finance, Marketing, Property, Branches etc.

2 Share Google Sheet with your team (for editing)

  1. Click Share (top right of Google Sheets)
  2. Set to "Anyone with the link" → Editor
  3. Send the link to CFO, Pum, K'Jong, K'Ko, Demi, Natchy etc.
  4. They update the Status column in each team's sheet → dashboard auto-updates

3 Get the CSV publish URL (do this for each sheet)

  1. In Google Sheets: File → Share → Publish to web
  2. Click the dropdown → select each sheet (e.g. "💰 Finance")
  3. Change format to CSV → click Publish → copy the URL
  4. Paste the URL in the fields above for Tasks, Branches, and Weekly Log
  5. For the "Tasks" URL: you can combine all tasks into one sheet, or use the Finance sheet as a start

4 Deploy to the web FREE — get a public URL in 30 seconds

  1. Open your browser and go to netlify.com/drop
  2. Open your PMO folder on your computer → find the pmo-web-dashboard folder
  3. Drag and drop the entire pmo-web-dashboard folder onto the Netlify page
  4. Done! You get a free URL like https://magical-name-123.netlify.app
  5. Share that URL with your team, KB, anyone — no login needed to view
  6. To update the deployment later: drag the folder again onto the same site in Netlify

Branch Detail