A plain-language guide for TNCSC board members/volunteers covering role/permission setup, branding, membership tiers & renewal, events, Tamil Class terms/classes/attendance, classifieds moderation, benefits, Interac payment confirmation, website content editing, accounting guardrails, and troubleshooting. Menu paths and field labels verified against the live tncsc_site container rather than assumed from the module source. Also published as a shareable web page for non-technical staff (no repo access needed) - see the artifact link.
16 KiB
TNCSC CommunityOS Handbook
A plain-language guide for TNCSC board members and volunteers to configure settings and run the system day-to-day — no developer required for any of this. If something isn't covered here, or doesn't work the way this guide describes, that's a question for your technical support contact, not something to guess at.
Where to log in: your production site's /web/login page (ask your
technical contact for the exact address if you don't have it). Use the
account and password you were given.
Contents
- Understanding the system
- User roles — who can do what
- Branding: colours, logo, fonts
- Membership
- Events
- Tamil Class (School)
- Classifieds
- Benefits
- Interac e-Transfer Payments
- Website content
- Accounting basics
- Troubleshooting & getting help
1. Understanding the system
Once you log in, you'll see an app switcher — a grid of icons, one per area of the system:
| App | What it's for |
|---|---|
| Membership | Members, tiers/pricing, renewals |
| Events | Creating events, ticketing, check-in |
| School | Tamil Class terms, classes, students, attendance |
| Classifieds | The member classifieds board and its moderation queue |
| Benefits | Benefit centres (partner businesses) and member benefits |
| Interac Payments | Confirming e-Transfer payments |
| Website | The public website — pages, menus, content |
| Settings | Branding, org-wide configuration, user accounts |
If an app is missing from your switcher, it's almost always a permissions issue, not a broken install — see section 2 and troubleshooting.
Two databases exist during development/testing (tncsc_migration_test,
tncsc_site) — your technical contact will tell you which one is live
production once you go live. Everything in this guide applies the same way
regardless of which database you're in.
2. User roles — who can do what
Go to Settings → Users & Companies → Users, click a person's name, and under their groups you'll find TNCSC Roles. Check the box for the role that matches what they do:
| Role | What it grants |
|---|---|
| Board Admin | Everything — membership, school, classifieds, benefits, events, and Interac payments. Give this only to whoever runs the system day-to-day. |
| Treasurer | Confirms Interac payments and has invoicing access. |
| Events Officer | Creates/manages events and staffs check-in. |
| School Coordinator | Manages Tamil Class terms, classes, students, enrollment. |
| Teacher | Can only take attendance for their own classes. |
| Classifieds Moderator | Reviews and publishes classified listings. |
A person can hold more than one role — e.g. someone can be both School Coordinator and Teacher. Members themselves don't need a role checked here at all: once someone is a member, they get their own self-service member portal automatically (see section 4) — that's separate from these backend roles, and doesn't require a staff login.
Adding a new staff/volunteer account: Settings → Users & Companies → Users → New, fill in their name and email, save, then check the role(s) above. They'll get an email to set their own password.
3. Branding: colours, logo, fonts
Settings → General Settings → Theme (left-hand tab list).
- Primary / Secondary / Accent Colour — enter a colour as a hex code
(e.g.
#05091E). These apply instantly across the website, the member portal, and PDF documents like the membership card — no other setting to touch. - Logo — upload the image file to use in the site header and on generated PDFs. If left blank, the company logo (Settings → General Settings → Companies) is used instead.
- Heading Font / Body Font — enter a font name, e.g.
Inter, sans-serif. Needs to be a font available to browsers (a "web-safe" font, or one already loaded via Google Fonts) — ask your technical contact before entering something unusual.
Click Save at the top of the page after any change.
4. Membership
4.1 Settings
Settings → General Settings → Membership:
- Organization Name — used in renewal emails and the membership card.
- Member ID Format — the pattern new member IDs follow, e.g.
TNCSC-{year}-{seq}producesTNCSC-2026-014. Don't change the{year}/{seq}placeholders unless your technical contact confirms the change is safe — they drive the auto-numbering. - Renewal Reminder Offsets — comma-separated days-before-expiry to
send reminder emails, e.g.
30,14,7sends reminders 30, 14, and 7 days before a membership expires. - Member Portal — toggle to turn the self-service portal (
/my/membership) on or off site-wide.
4.2 Membership tiers and pricing
Membership → Configuration → Membership Tiers.
Each row is a plan (Individual, Family, Student, Senior, Life, or whatever TNCSC offers). To change a price, open the tier and edit Price — this is the only place pricing lives; there's no separate price to update anywhere else. To add a new tier, click New and fill in:
- Name — shown to members, e.g. "Corporate Sponsor"
- Code — a short internal code, e.g.
CORP(no spaces) - Price and Currency
- Period — Annual, One-Time, or Monthly
- Sequence — controls display order (lower numbers show first)
Deactivating a tier (rather than deleting it) keeps historical records intact for members who already hold it — use the Active toggle, found via the tier's kebab (⋮) menu → "Archive", instead of deleting.
4.3 Day-to-day membership work
- Membership → Members — the full member list. Open a member to see their tier, status (active/renewal due/expired), and expiry date.
- Renewal reminders and draft renewal invoices are generated automatically by a daily background job — you don't need to run anything manually. What you do need to do periodically: check Invoicing → Customer Invoices for draft renewal invoices and confirm/send them once payment is expected.
- Each member can view their status, download their QR membership card,
and renew from
/my/membershiponce logged into the website — you don't need to email cards out manually. - The membership card's QR code links to a public verification page
(
/membership/verify/<member ID>) — anyone scanning it (e.g. at an event door) sees only "valid" / "expired" / "not found," never personal details.
5. Events
Events → Events → New. This is standard Odoo event creation:
- Name, start/end date and time, location.
- Under Website, check Is Published to make it visible on the public Events page and the homepage's "Upcoming Events" section — unpublished events won't appear anywhere on the public site, even though they exist in the system.
- Add ticket types under the event's Registration tab if you're charging for entry (e.g. "General $0–$30").
Every registration automatically gets a signed QR ticket, emailed with the confirmation. At the door, staff with the Events Officer role use Events → Registration Desk to scan tickets (or type the ticket reference manually) — it shows valid / already checked-in / invalid, and a live count of registered vs. checked-in.
Events → Reporting → Attendees / Revenues gives you numbers after the fact without any setup.
6. Tamil Class (School)
6.1 Settings
Settings → General Settings → School: At-Risk Attendance Threshold — the attendance percentage below which a student is flagged "at-risk" in the report (see below).
6.2 Configuration — set these up before each school year
School → Configuration → Terms — create a term (e.g. "2026-27"), set start/end dates, and open it (State = Open) once registration should begin. Only one term should normally be open at a time.
School → Configuration → Levels — define your levels however TNCSC
teaches (e.g. "Beginner" through "Advanced", or "Grade 1" through "Grade
12"). Each needs a short Code (e.g. BEG) and optional min/max age.
Classes aren't under Configuration — create them directly from School → Classes → New: pick the term, level, teacher, weekday, time, location, and max students. This is what shows up as an option when a parent registers online.
6.3 Day-to-day
- School → Students / Enrollments — see who's enrolled where.
- School → Attendance Report — a pivot table of attendance by class.
- School → At-Risk Students — students below the configured attendance threshold, so you can follow up.
- Teachers take attendance themselves from their own portal page
(
/school/attendance) — a roster of today's/this-week's classes with a batch Present/Absent/Late/Excused save. An absence automatically emails the parent. Teachers only see their own classes there. - Parents register their child at
/school/registeron the public website (parent → student → class + payment, in three steps). If a class is full, the student is waitlisted and notified automatically when a seat frees up — no manual waitlist management needed. - Each class auto-creates and manages its own online course/materials channel — enrolling or withdrawing a student automatically enrols/unenrols them there too.
7. Classifieds
Settings → General Settings → Classifieds: Listing Duration — how many days a published listing stays live before auto-expiring.
Classifieds → Moderation is where every new submission lands first
(state: Pending Review). Open one to Publish or Reject it — only
published listings appear on the public /classifieds board. Posting
requires the member to be logged in with an active membership, so this
queue should only ever contain genuine member submissions.
8. Benefits
Two things to set up, then one thing to log ongoing:
- Benefits → Benefit Centres — the businesses/organizations offering a member benefit. Add their name, category, description, and logo.
- Benefits → Benefits — the actual discount/perk, linked to one or more Membership Tiers (only members holding one of those tiers will see it). Set the discount type (percent / fixed amount / perk) and validity dates.
- Benefits → Redemptions — a log a benefit centre (or staff) creates when a member actually uses a benefit, after confirming the member is active. This is mostly for your own record-keeping of usage, not something you need to set up in advance.
Members see only what their own tier qualifies them for at
/my/benefits; the public directory of participating centres is at
/benefits.
9. Interac e-Transfer Payments
9.1 One-time setup
Invoicing → Configuration → Online Payments → Payment Providers → open Interac e-Transfer:
- Interac Recipient Email — the real e-transfer address payments should be sent to.
- Interac Deadline Hours — how long an unconfirmed payment stays pending before it's automatically cancelled (defaults to 48 hours if left blank).
- Set the provider's State to Enabled so it appears as a checkout option.
9.2 Day-to-day (Treasurer role)
When someone chooses Interac at checkout, they're emailed instructions (recipient address, amount, a reference code, and the deadline) — this happens automatically, nothing for you to send.
Once you actually receive the e-transfer in your real bank/e-transfer account, go to Interac Payments → Pending Payments, find the matching transaction (match by amount and reference code), and click Payment Received. This confirms the linked invoice/registration/order. If nobody confirms it before the deadline, it auto-cancels and the payer is notified by email.
10. Website content
Website app, then click Edit on any page while viewing it on the public site to change text, images, and layout directly (drag-and-drop editor) — no code involved for routine copy changes. Site → Menu Editor lets you add, remove, or reorder navigation items.
Two things worth knowing about the current site before you edit it:
- The Sponsors page and a few header/footer text blocks (e.g. a placeholder phone number) still contain placeholder content carried over from the original site design — safe to edit or delete through the Website editor whenever real sponsor logos or a real phone number are ready.
- "Become a Member" buttons currently point to the Contact page, not a self-service signup form — TNCSC doesn't have public online membership signup yet (only renewal, for existing members). Don't redirect these to a form that doesn't exist; talk to your technical contact if/when online signup becomes a priority.
For anything beyond content edits — new page types, new sections with custom behaviour, structural changes — that's a developer task, not a Website-editor task.
11. Accounting basics
The chart of accounts, tax setup, and journals were seeded for a Canadian non-profit when the system was set up, including dedicated revenue accounts (Membership Dues, Event Revenue, Sponsorship, School Fees, Donations) and a Donations journal. You generally don't need to create new accounts for normal operations — membership tiers, event tickets, and school fees are already wired to the right ones.
Do not rename or delete existing accounts, or change the company's currency/country, without your accountant and technical contact both signing off — several of these are load-bearing for other parts of the system (e.g. renaming the dues account could silently break where membership payments post to). Day-to-day invoicing/payment work happens under the Invoicing app as normal.
12. Troubleshooting & getting help
| Symptom | Likely cause / fix |
|---|---|
| An app I should have access to isn't in my switcher | You're missing the matching role — see section 2. Ask a Board Admin to check the box for you. |
| I changed a setting and nothing changed on the site | Make sure you clicked Save. If it still looks wrong after a minute, it may need a technical restart — contact support rather than repeating the change. |
| A member says their QR card doesn't work | Check their membership state on their member record — the verify page only shows "valid" for members currently in the active state. |
| An event isn't showing on the website | Confirm Is Published is checked on the event (see section 5) — unpublished events are invisible on the public site by design. |
| A parent can't register for a class | Check the term is Open and the class isn't already full (School → Classes) — full classes waitlist automatically rather than blocking registration outright. |
| An Interac payment doesn't confirm | Double-check the reference code and amount match exactly before clicking Payment Received — mismatches usually mean it's a different transaction. |
For anything not covered here — a genuine error message, something that looks broken rather than misconfigured, or a request for new functionality — contact your technical support contact rather than experimenting on the live site. Screenshots and the exact steps you took help them fix it faster.
This handbook covers the CommunityOS suite as configured for TNCSC. It does not cover server maintenance, backups, or deployment — those remain your technical contact's responsibility.