CMC The Courtyard
Admin Portal
Maintenance
—
Open
—
High Priority
—
Unassigned
—
Assigned
Smoke
—
Days since last check
Water
—
Days to next reading
Flagged for review
—
Q&A
—
SIP Briefing
Resident Map
—
Loading…
- Loading…
AGM Submissions
—
Agenda items submitted
No submissions yet
Noticeboard
—
Live notices
- Loading…
Select a section from the menu to get started.
Resident Map
Update owner and tenant names. Address is fixed. Leave Tenant blank for owner-occupied.
Loading residents...
Resident Directory
Add, edit and remove residents. Changes save automatically to the Residents sheet.
| Actions | Address | First Name | Last Name | Mobile | |
|---|---|---|---|---|---|
| Loading directory… | |||||
Edit Resident
Contact Tools
Email residents, copy numbers, export the directory, check missing data, and more.
AGM Agenda
Edit the AGM agenda details, items and voting items. Changes save back to the AGMAgenda sheet.
AGM Reminder Emails
Automatic reminders are sent 7 days and 2 days before the AGM date. Tick to suppress both.
Agenda Submissions
Automatically locks 2 days before the AGM. Unlock manually for the next meeting.
Loading…
AGM Submissions
View and manage agenda items submitted by residents. Delete individual items or clear all submissions.
Loading submissions…
AGM Minutes (Preview)
Preview the live AGM minutes exactly as residents will see them. The Live Minutes Visible switch is ignored here — admin only.
Live Minutes Visible
Controls whether residents can see the minutes button on the portal
📋 Issue Log
-
Loading issues…
The Courtyard Noticeboard
Add, edit or remove messages shown on the main portal page. Changes save directly to the sheet.
Edit Message
Broadcast Email
Compose and send a one-off email to selected residents.
BCC
All selected residents will appear in the BCC field — they cannot see each other's addresses.
Loading addresses…
0 words · 0 characters
Broadcast Send History
A record of all broadcast emails sent — both immediate and scheduled. Loaded from the BroadcastHistory sheet, newest first.
⏳ Pending Scheduled Emails
Loading…
to
Loading history…
For a full list of email types, triggers, recipients and body text, see Email Reference in the Email section.
CMC Useful Information
Add, edit or remove items shown in the Useful Information section on the main portal page. Changes save directly to the sheet (columns G & H of cmcsettings).
Edit Item
Bio Filter — RLF Cottages
Enter the yearly costs for the Rock Lane Farm bio filter recharge. The totals and Due per Property are worked out for you and saved back to the RLFBiofilter sheet — the same figure the resident report reads. Electricity is recharged at a fixed 95%.
Loading…
95% (fixed)
✎ white = you type
📊 shaded = worked out & saved
| Year | Bio Filter Cost | Discharge | Electric 100% | Elec 95% | Total | Due / Prop | RLF Total |
|---|
Elec 95% = 95% of Electric 100% · Total = Bio Filter + Discharge + Elec 95% · Due / Prop = Total ÷ properties
Cottages on the recharge (read-only, from column Q)
Change Admin Password
Update the password used to access this admin portal.
Change Site Password
Update the password residents use to access CMC The Courtyard portal.
Change SIP Password
Update the password used to access the Seller's Information Pack (SIP) by solicitors.
❓ SIP Q & A
-
Format: **bold**, _italic_, ++underline++ | Merge: [merge_sinking_fund], [merge_cash_total], [merge_current_management_charge]
Loading Q&A…
📄 SIP Briefing
-
Format: **bold**, _italic_, ++underline++ | Merge: [merge_sinking_fund], [merge_cash_total], [merge_sip_password], [merge_current_management_charge]
Loading briefing…
✉ Email Reference
A complete reference of every email type the portal can send — triggers, recipients, mode, and body text. This is read-only; changes to email content require a code update in
code.gs.| Manual | |||
| Type | Trigger | Recipients | Mode |
|---|---|---|---|
| Immediate | Admin sends a broadcast manually via the portal | Selected residents | TO / BCC / CC |
| Maintenance Assigned | Admin presses the 📧 button on a maintenance issue and clicks Send Recipients are picked from the Residents sheet using the Assigned To field. Subject and body are fully editable before sending. Email design matches all other maintenance emails — header: Resident Task Assignment. The modal also has a 📋 Copy button (formatted message to clipboard, paste into any chat app), and on mobile a 💬 Open in WhatsApp button that opens WhatsApp with the message pre-filled. Logged to Broadcast History as Maintenance Assigned. |
Assigned residents (up to 2) | TO |
| Scheduled | Admin schedules a broadcast for a future date/time | Selected residents | TO / BCC / CC |
| Water Readings to Liscombe Park | Admin sends the quarterly water meter readings to Liscombe Park via the Water Meter Readings panel Intro and closing text are editable before sending. Includes a formatted table of property-level readings, water volumes, totals and the administration charge, plus a CSV of the readings as an attachment. Directors are CC'd (visible to Liscombe Park); replies are addressed to cmcdirectors@hotmail.com and iwoodland@hotmail.com. Subject defaults to "CMC The Courtyard — Water Meter Readings — YYYY QN". |
Liscombe Park (TO, from cmcwater R1); directors CC'd (from cmcsettings col A); overridable per send | TO / CC |
| Water Readings to Residents | Admin sends the quarterly water meter readings to all residents via the Water Meter Readings panel (Residents toggle) Same readings table, reading date and quarter heading as the Liscombe Park email, with resident-facing wording, a "Visit the Portal" button (to cmcthecourtyard.com) and a pointer to the CMC Water card. Residents are BCC'd so no one sees another's address; the directors' shared box sits in TO so directors get a copy. Replies are addressed to cmcdirectors@hotmail.com and iwoodland@hotmail.com. No CSV attachment. Subject defaults to "CMC The Courtyard — Water Meter Readings — YYYY QN". Logged to Send History as "Water Readings (Residents)". |
All residents BCC'd (from the Residents sheet, Email column); directors' shared box in TO (cmcdirectors@hotmail.com); overridable per send | TO / BCC |
| SIP Contact | Visitor uses the Contact form in the Seller’s Information Portal header Visitor enters their name and email, a recipient (often the seller’s solicitor), optionally CCs CMC directors, plus a subject and message. The portal forwards the message; the Reply-To header is set to the visitor’s email so recipients reply directly to them. Logged to Broadcast History as SIP Contact with the sender’s name and email in the Sent By column. |
Address entered by visitor; optionally CC cmcdirectors@hotmail.com | TO / CC |
| Water Invoices | Admin sends the quarterly water invoices via the Water Emails panel (Water Invoices mode) Sends one invoice per residence — each to that residence's own email(s) in TO (co-owners share the single To line), with no directors copied — plus one summary email to the directors. Subject: "CMC The Courtyard — Quarterly Water Invoice — YYYY QN — <property>"; the director summary uses "CMC The Courtyard — Water Invoices Sent — YYYY QN". The greeting uses residents' first names (e.g. "Dear Bruno & Ian"). Replies are addressed to cmcdirectors@hotmail.com and iwoodland@hotmail.com. Properties with no email on file are skipped and listed for the sender. Logged to Send History as "Water Invoices". What the invoice contains — an invoice date line with the billing quarter and month range, then the meter, previous and current quarter readings, water volume, water volume charge with the price per m³, standing charge, admin charge and the total quarterly water charge. "Paying your water bill" block — three labelled parts followed by the CMC bank details. Pay promptly: the bill should be paid as soon as possible, as CMC has already paid the full amount to Liscombe Park on the resident's behalf. Who pays: responsibility remains with the property owner — where a property is let, payment is made directly by the owner, not by a tenant or other third party. How to pay: electronic bank transfer only (CMC cannot accept cheque or cash), using a reference that identifies the payer, e.g. "No. 1 CMC Water". Portal pointer — a closing paragraph and a "Visit the Portal" button, directing residents to the CMC Water card, then Water Readings, Bills & Payments for the full picture or Property Water Statement for their own account. Full send vs targeted re-send — a full send goes to every address of every residence. The review picker also allows a targeted re-send to hand-picked addresses only, and this behaves differently in three ways: no director summary is sent (to avoid noise), the double-send warning is skipped (the pick is already deliberate), and Send History records it as "Water Invoices — YYYY QN (Re-send)" listing which property went to which address. Ticked addresses are re-checked against the directory at send time, so a change made between preview and send cannot send to a stale address. Double-send guard — applies to a full re-send only. If invoices for that quarter have already gone out, the portal asks for confirmation and shows the date they were previously sent before allowing "Send anyway". |
Each residence's own email(s) (TO); one summary to the directors (from cmcsettings col A) | TO |
| Automatic — triggered by Apps Script | |||
| Type | Trigger | Recipients | Mode |
| AGM Agenda | Resident submits an AGM agenda item Sends 3 separate emails: confirmation to submitting address, notification to directors, and a BCC notification to all other residents. |
Submitting address, directors & all other residents | Mixed |
| Maintenance In Progress | Admin changes a maintenance issue status to In Progress | All residents at submitting address | TO |
| Maintenance Resolved | Admin marks a maintenance issue as Resolved | All residents at submitting address | TO |
| Farmhouse Rent Invoice - January | 1 January each year — sends January rent invoices to farmhouse properties not yet paid for the current year | Residents at each farmhouse property + director summary | TO |
| Farmhouse Rent Invoice - July | 20 June each year — sends July rent invoices to farmhouse properties not yet paid; includes any outstanding January instalment | Residents at each farmhouse property + director summary | TO |
| Maintenance Submitted | Resident submits a new maintenance issue | All residents at submitting address + directors | TO |
| Maintenance Update Added | Resident or director adds an update to an existing maintenance issue via the resident portal Quick-pick phrases (e.g. "Please assign this issue to me", "Thank you — now resolved") are bold-highlighted in the email body. Director updaters appear tagged as "Name (House) · Director". |
Directors (To), updater + assignees (Cc) | TO / CC |
| Noticeboard Notify | Admin clicks Notify Residents on a noticeboard item | All residents | BCC |
| AGM Reminder | Automatic reminder sent 30 days, 7 days and 2 days before the AGM date Triggered by daily Apps Script timer. Can be suppressed via the AGM Agenda panel. |
All residents | BCC |
| AGM Date Reminder | Automatic safety-net reminder — sent 65 days before the conventional 2nd Sunday of December AGM, only if the AGM date in AGMAgenda!B4 is empty or in the pastSingle ping per year — never nags. If the date is already set, no email is sent. |
Directors only | TO |
| Farmhouse Smoke Check — Reminder | Sent on day 30 and day 40 since last Farmhouse smoke alarm check (initial reminder + follow-up) Triggered by daily Apps Script timer → checkFarmhouseSmokeCheckReminder(). |
Eligible checkers (non-tenanted 10–14 The Courtyard) + directors | BCC |
| Farmhouse Smoke Check — Completed | A smoke alarm check is saved via the Farmhouse page | Eligible checkers (non-tenanted 10–14 The Courtyard) + directors | BCC |
| Farmhouse Smoke Check — Fault | A Fail result is recorded on a smoke alarm check | Directors only | TO |
| Water Reading Reminder | 1 January, 1 April, 1 July and 1 October at 8am — reminds directors to take this quarter's water meter readings Triggered by daily Apps Script timer (acts only on quarter-start days) → quarterlyWaterReminderTrigger(). Includes a "Water Readings Portal" button linking to cmcwater.html. |
Directors only (from cmcsettings) | TO |
| Water Readings Submitted | A bulk batch of quarterly water meter readings is submitted via the Water Readings Portal Confirms the readings are in the system and prompts directors to send the quarterly summary to Liscombe Park via the admin portal. |
Directors only (from cmcsettings) | TO |
| Water Payment Reminder | Sent automatically 10 days after a water bill's generated date if the invoice is still unpaid Runs off the daily water trigger ( waterBillAutoGenerateTrigger, ~2pm) → checkWaterInvoiceReminders_(). One nudge per property and quarter (never repeats), and only for quarters where the invoices were actually sent. Part-paid bills are chased for the remaining balance. Shows the amount outstanding, CMC bank details and a "Visit the Portal" button; the greeting uses first names. Residents with no email on file are skipped. Replies go to cmcdirectors@hotmail.com and iwoodland@hotmail.com. Logged to Send History as "Water Payment Reminder".First of two — if a balance is still outstanding 7 days after this reminder, a firmer Water Payment Second Reminder follows (see the next row). There is no third. |
Resident(s) at the property (TO); directors CC'd (from cmcsettings col A) | TO / CC |
| Water Payment Second Reminder | Sent automatically 7 days after the first reminder — about 17 days after the bill — if a balance is still outstanding Runs off the daily water trigger ( waterBillAutoGenerateTrigger, ~2pm) → checkWaterSecondReminders_(). The 7 days count from the timestamp of the first reminder in Send History, not from the bill date. One send per property and quarter, and there is deliberately no third reminder — anything still outstanding after this is followed up personally. Part-paid bills are chased for the remaining balance; residents with no email on file are skipped. Replies go to cmcdirectors@hotmail.com and iwoodland@hotmail.com. Logged to Send History as "Water Payment Second Reminder", which also acts as the guard so it can never send twice.Firmer wording than the first — it names the date the first reminder went out, states how many days the invoice has been outstanding, opens with the fact that CMC has already paid Liscombe Park on the resident's behalf, and gives a payment-by date 7 days ahead. It keeps the "if you've already paid, just reply" line, the "Paying your water bill" block (without the Pay promptly heading, which has moved into the opening) and the "Visit the Portal" button. The greeting uses residents' first names, as the first reminder does. Styling — accents use the house red rather than the gold of the invoice and first reminder, so it is visibly distinct in the inbox. Subject: "CMC The Courtyard — Second Reminder — Water Payment — YYYY QN — <property>". Changing the timings — both intervals are set by WATER_SECOND_REMINDER_AFTER_DAYS (days after the first reminder) and WATER_SECOND_REMINDER_DUE_DAYS (payment-by date) at the top of the second reminder section in code.gs. |
Resident(s) at the property (TO); directors CC'd (from cmcsettings col A) | TO / CC |
| Spend Authorisation Requested | A director submits a new spend authorisation request via the Finance Authorisation Tracker on the CMC Finance Tracker page Sent immediately to all directors except the requestor; requestor CC'd. → submitDirectorRequest(). |
All directors except the requestor (CC: requestor) | TO + CC |
| Spend Authorised | A director authorises a pending spend request Sent to the requestor confirming authorisation; actioning director CC'd. → actionDirectorRequest(). |
Requestor (CC: actioning director) | TO + CC |
| Spend Authorisation Declined | A director rejects a pending spend request Sent to the requestor with the rejection reason; actioning director CC'd. → actionDirectorRequest(). |
Requestor (CC: actioning director) | TO + CC |
Email body text
Exact text sent for each auto-generated email. To change any wording, update code.gs and redeploy.
AGM Agenda
Confirmation to resident & notification to directors + all residents
▶
AGM Reminder — 30 Day
Sent automatically 30 days before AGM date
▶
AGM Reminder — 7 Day
Sent automatically 7 days before AGM date
▶
AGM Reminder — 2 Day
Sent automatically 2 days before AGM date
▶
AGM Date Reminder
Sent to directors 65 days before the conventional 2nd Sunday of December AGM, only if AGM date is unset
▶
Maintenance Submitted
Sent when a resident submits a new maintenance issue
▶
Maintenance In Progress
Sent when admin changes status to In Progress
▶
Maintenance Resolved
Sent when admin marks an issue as Resolved
▶
Noticeboard Notify
Sent when admin clicks Notify Residents on a noticeboard item
▶
Water Invoices — Resident
Sent to each residence when admin sends the quarterly water invoices
▶
Water Invoices — Director Summary
One summary sent to the directors alongside the resident invoices
▶
Water Payment Reminder
Sent 10 days after a bill if the water invoice is still unpaid
▶
Water Payment Second Reminder
Sent 7 days after the first reminder — about 17 days after the bill — if still unpaid
▶
When new email types are added to the system, add a row to the table above and an entry here, and add a matching chip to BH_TYPE_CHIP_MAP in admin.html.
Farmhouse Smoke Check — Reminder
Sent automatically on day 30 (initial) and day 40 (second reminder)
▶
Farmhouse Smoke Check — Completed
Sent automatically when a check is saved
▶
Farmhouse Smoke Check — Fault
Sent immediately when a Fail is recorded
▶
Maintenance Update Added
Sent when a resident or director adds an update to a maintenance issue
▶
Water Readings to Liscombe Park
Sent manually by admin from the Water Meter Readings panel
▶
Water Readings to Residents
Sent manually by admin from the Water Meter Readings panel (Residents toggle)
▶
Water Reading Reminder
Quarterly automatic reminder to directors — 1 Jan, 1 Apr, 1 Jul, 1 Oct at 8am
▶
Water Readings Submitted
Sent immediately after a quarterly batch of readings is submitted
▶
Spend Authorisation Requested
Sent immediately when a director submits a new spend authorisation request
▶
Spend Authorised
Sent immediately when a director authorises a pending spend request
▶
Spend Authorisation Declined
Sent immediately when a director rejects a pending spend request
▶
💧 Water Bills Input
This page is for entering a new quarterly supplier water bill. Press Save and it writes straight to the
cmcwaterbills sheet; when the quarter’s meter readings are already in, saving also generates the 14 per-property bills on the spot. Period start, end and days are filled in automatically. Bills already entered are read-only — see the list at the bottom.New bill
Bill ID
B
→
Bill date
Charges from the supplier bill
Price per m³
£
Site standing charge
£
Site users
Admin total inc VAT
£
Amount due
£
Filled automatically
The script fills these in when the bill is generated — you don’t touch them.
Notes (optional)
Saves the row and generates on the spot if the readings are in.
▸ All water bills
💧 Water Meter Readings — Email to Liscombe Park
Send the quarterly water meter readings to the water company. The intro and closing text are editable below before sending. The preview updates live.
Recipients
Editable for this send only — sheets are not modified.
Tip:
[reading date] is replaced with the most common reading date for this quarter.Email preview
Select a year and quarter to see the preview.
💵 Category Reference
How transaction categories in
cmcfinances and cmcbudget are routed to the BVA and I&E reports based on their prefix.| Prefix | Meaning | Where on BVA | Where on I&E | Affects Retained Surplus | Example |
|---|---|---|---|---|---|
| I- | Income | Income section | Income section | Yes (positive) | I-Service Charge |
| E- | Expenditure | Expenditure section | Expenditure section | Yes (negative) | E-Gardening |
| T- | Planned transfer to reserves — actuals | Planned Transfer line (actual column) | Transfer to Sinking Fund line | Yes (reduces retained) | T-Transfer to Sinking Fund |
| B- | Planned transfer to reserves — budget placeholder | Planned Transfer line (budget column only) | Not shown (budget-only) | Budget side only | B-Planned Transfer to Sinking Fund |
| R- | Reserve movement (non-operating) | Reserve Movements memo section | Reserve Movements memo section | No (memo only) | R-Transfer to Sinking FundR-Transfer from Sinking Fund |
How
B- and T- work as a pair
On the BVA,
B- is genuinely a budget-side proxy for the T- it expects to be matched against. The two prefixes are paired by design — one provides the budget figure, the other provides the actual.
Example:
B-Planned Transfer to Sinking Fund = £5,000 in cmcbudget sets the budget figure. When you later record T-Transfer to Sinking Fund = £5,000 in cmcfinances, the variance is £0. If only £3,200 is transferred, the variance is −£1,800 (red).
How
R- reserve movements work
Reserve movements come in two directions:
R-Transfer to <account> for money leaving the current account into a reserve, and R-Transfer from <account> for money returning. Both are recorded in cmcfinances — mirror entries on the sinking fund or contingency sheets exist for those sheets' own balances but are not read for reporting.
The Reserve Movements section appears on both BVA and I&E only when there is at least one
R- transaction in the year. It is hidden in the public BVA view (Hide Actual). It does not contribute to Operating Surplus, Planned Transfer, or Retained Surplus — reserve movements are balance-sheet reshuffles, not operating performance.
Bank Interest from reserve accounts
Interest earned on the sinking fund and contingency accounts is recorded as
I-Interest on those respective sheets. The portal automatically re-labels these as I-Bank Interest when merging them into the income flow on the BVA and I&E. You will see them grouped under Bank Interest in the income section, broken down by which account they came from.
Adding new categories under an existing prefix (e.g.
E-New Category) works straight away — no code change needed. Adding a brand new prefix requires a developer to update the portal logic.
Add Q&A
×