Understanding the system
Once you log in, you'll see an app switcher โ a grid of icons, one per area of the system. Each app is where a specific part of TNCSC's work lives:
+ +Members, tiers/pricing, renewals
Creating events, ticketing, check-in
Tamil Class terms, classes, attendance
The member board and its moderation queue
Benefit centres and member perks
Confirming e-Transfer payments
The public website โ pages, menus, content
Branding, org configuration, user accounts
It's almost always a permissions issue, not a broken install. See User roles and Troubleshooting below.
+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.
+User roles โ who can do what
Go to SettingsUsers & CompaniesUsers, 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 | 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 Membership) โ separate from these backend roles, and it doesn't require a staff login.
+ +Adding a new staff or volunteer account
+-
+
- Go to SettingsUsers & CompaniesUsersNew +
- Fill in their name and email, then save. +
- Check the role(s) above for them. They'll get an email to set their own password. +
Branding: colours, logo, fonts
SettingsGeneral SettingsTheme (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 (SettingsGeneral SettingsCompanies) is used instead. +
- Heading Font / Body Font โ enter a font name, e.g. Inter, sans-serif. Needs to be a font available to browsers โ ask your technical contact before entering something unusual. +
Click Save at the top of the page after any change.
+Membership
Settings
+SettingsGeneral SettingsMembership
+-
+
- Organization Name โ used in renewal emails and the membership card. +
- Member ID Format โ the pattern new member IDs follow, e.g. TNCSC-{year}-{seq} produces TNCSC-2026-014. Don't change the placeholders unless your technical contact confirms it's safe โ they drive the auto-numbering. +
- Renewal Reminder Offsets โ comma-separated days-before-expiry to send reminders, e.g. 30,14,7. +
- Member Portal โ toggle the self-service portal on or off site-wide. +
Membership tiers and pricing
+MembershipConfigurationMembership 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. 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 tier's kebab (โฎ) menu โ Archive, instead of deleting.
+ +Day-to-day membership work
+-
+
- MembershipMembers โ the full member list. Open a member to see their tier, status, and expiry date. +
- Renewal reminders and draft renewal invoices are generated automatically by a daily background job โ nothing to run manually. What you do need to do periodically: check InvoicingCustomer 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/membership once logged into the website โ no 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 sees only "valid" / "expired" / "not found," never personal details. +
Events
EventsEventsNew โ 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 EventsRegistration 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.
+EventsReportingAttendees / Revenues gives you numbers after the fact without any setup.
+Tamil Class (School)
Settings
+SettingsGeneral SettingsSchool: At-Risk Attendance Threshold โ the attendance percentage below which a student is flagged "at-risk" in the report.
+ +Configuration โ set these up before each school year
+-
+
- SchoolConfigurationTerms โ 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. +
- SchoolConfigurationLevels โ define your levels however TNCSC teaches (e.g. "Beginner" through "Advanced", or "Grade 1" through "Grade 12"). Each needs a short Code and optional min/max age. +
- Classes aren't under Configuration โ create them from SchoolClassesNew: pick the term, level, teacher, weekday, time, location, and max students. This is what shows up as an option when a parent registers online. +
Day-to-day
+-
+
- SchoolStudents / Enrollments โ see who's enrolled where. +
- SchoolAttendance Report โ a pivot table of attendance by class. +
- SchoolAt-Risk Students โ students below the configured threshold, so you can follow up. +
- Teachers take attendance themselves from their own portal page (/school/attendance) โ a roster with a batch Present/Absent/Late/Excused save. An absence automatically emails the parent. Teachers only see their own classes. +
- Parents register their child at /school/register on the public website, in three steps. A full class waitlists the student automatically and notifies them 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. +
Classifieds
SettingsGeneral SettingsClassifieds: Listing Duration โ how many days a published listing stays live before auto-expiring.
+ClassifiedsModeration 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.
+Benefits
Two things to set up, then one thing to log ongoing:
+-
+
- BenefitsBenefit Centres โ the businesses/organizations offering a member benefit. Add their name, category, description, and logo. +
- BenefitsBenefits โ 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 and validity dates. +
- BenefitsRedemptions โ a log a benefit centre (or staff) creates when a member actually uses a benefit, after confirming the member is active. Mostly for your own record-keeping, not something 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.
+Interac e-Transfer Payments
One-time setup
+InvoicingConfigurationOnline PaymentsPayment 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 auto-cancelled (defaults to 48 hours if left blank). +
- Set the provider's State to Enabled so it appears as a checkout option. +
Day-to-day โ Treasurer role
+When someone chooses Interac at checkout, they're emailed instructions (recipient address, amount, a reference code, and the deadline) automatically โ nothing for you to send.
+Once you actually receive the e-transfer in your real bank account, go to Interac PaymentsPending 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.
+Website content
The 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 for routine copy changes. SiteMenu Editor lets you add, remove, or reorder navigation items.
+ +The Sponsors page and a few header/footer text blocks (e.g. a placeholder phone number) still carry content 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.
+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.
+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.
+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 User roles. 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 active. |
| An event isn't showing on the website | Confirm Is Published is checked on the event โ 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 โ 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.
+