diff --git a/docs/TNCSC_Handbook.html b/docs/TNCSC_Handbook.html new file mode 100644 index 0000000..94a035c --- /dev/null +++ b/docs/TNCSC_Handbook.html @@ -0,0 +1,846 @@ + + + + + + +TNCSC Handbook + + + + + + + + +
+
+ Community OS ยท Operations Guide +

TNCSC Handbook

+

How the Tamil Nadu Cultural Society of Canada configures, runs, and troubleshoots its own system โ€” written for board members and volunteers, not developers.

+ +
+
Membership
+
Events
+
School
+
Classifieds
+
Benefits
+
Interac Payments
+
Website
+
Settings
+
+
+
+ +
+ + +
+ +
+
01

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:

+ +
+
Membership

Members, tiers/pricing, renewals

+
Events

Creating events, ticketing, check-in

+
School

Tamil Class terms, classes, attendance

+
Classifieds

The member board and its moderation queue

+
Benefits

Benefit centres and member perks

+
Interac Payments

Confirming e-Transfer payments

+
Website

The public website โ€” pages, menus, content

+
Settings

Branding, org configuration, user accounts

+
+ +
+ If an app is missing +

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.

+
+
+ +
+
02

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:

+ + + + + + + + + +
RoleGrants
Board AdminEverything โ€” membership, school, classifieds, benefits, events, and Interac payments. Give this only to whoever runs the system day-to-day.
TreasurerConfirms Interac payments and has invoicing access.
Events OfficerCreates/manages events and staffs check-in.
School CoordinatorManages Tamil Class terms, classes, students, enrollment.
TeacherCan only take attendance for their own classes.
Classifieds ModeratorReviews 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

+
    +
  1. Go to SettingsUsers & CompaniesUsersNew
  2. +
  3. Fill in their name and email, then save.
  4. +
  5. Check the role(s) above for them. They'll get an email to set their own password.
  6. +
+
+
+ +
+
03

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.

+
+
+ +
+
04

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.
  • +
+
+
+ +
+
05

Events

+
+

EventsEventsNew โ€” this is standard Odoo event creation:

+
    +
  1. Name, start/end date and time, location.
  2. +
  3. 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.
  4. +
  5. Add ticket types under the event's Registration tab if you're charging for entry (e.g. "General $0โ€“$30").
  6. +
+

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.

+
+
+ +
+
06

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.
  • +
+
+
+ +
+
07

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.

+
+
+ +
+
08

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.

+
+
+ +
+
09

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.

+
+
+ +
+
10

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.

+ +
+ Known placeholder content +

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.

+
+ +
+ No public signup yet +

"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.

+
+ Don't, without sign-off +

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

+
+ + + + + + + + +
SymptomLikely cause / fix
An app I should have access to isn't in my switcherYou'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 siteMake 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 workCheck their membership state on their member record โ€” the verify page only shows "valid" for members currently active.
An event isn't showing on the websiteConfirm Is Published is checked on the event โ€” unpublished events are invisible on the public site by design.
A parent can't register for a classCheck 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 confirmDouble-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.

+
+
+ +
+
+ + + + + +