SymbifoxUser guide Français

Part 9 · Schools

School

Keep students and families, open the portal to parents and students, get things signed, admit, and follow attendance, conduct, homework, hand-ins, courses, health, meals and lent computers.

Symbifox 18.0 (September 2026 catalogue) · Modules: School, School: family portal, School: announcements to families, School: authorisations, School: Law 25 consents, School: contract for educational services, School: admission and re-enrolment, School: parent-teacher meetings, School: attendance and absences, School: conduct and monthly follow-up, School: homework and calendar, School: health and medication, School: caterer meals, School: work handed in, School: course contents, School: students' computers, School: the student on the portal · Base applications: Customer Portal, Invoicing, Payment - Account, Surveys, eLearning · Revised 2026-10-06

Watch it

Video : Symbifox School
Video · Symbifox School · 1:03 · https://symbifox.com/videos/bf_school_core-en.mp4

The School app lets a private school keep its students, their families and its daily life in Symbifox. It is for the school office, which enrols, admits, contracts and bills; for teachers, who take attendance, record conduct and post homework; and for the nurse or the people named for health matters. Parents never open the app: they follow everything on the family portal, on a computer or a phone, where students with their own account also hand in their work. The result is one record per student, and every notice going to the right adult.

Overview#

Everything starts from three ideas. A school has school years, only one of which is current, and groups for the year (301, Les Hiboux, Secondaire 1 A) with their teachers. A student is a contact flagged as a student, with a birth date and a permanent code (the Québec code permanent); the student is enrolled in one or more groups. A family link ties an adult to a student.

The family link is the heart of the app. It does not just say "parent": it carries roles you tick, one by one. Parental authority, Receives notices, Signs, Pays, May pick up, Emergency contact, Lives with. Shared custody becomes two links that receive notices and sign, only one of which pays. A father's partner who picks the child up without parental authority gets a link with no signature and no notices. A grandmother to call in an emergency gets an Emergency contact link and nothing else. A grandparent or an "Other" link actually starts with no authority, no signature and no notices: the school ticks what it decides.

These roles drive everything else. An announcement goes to the adults who receive notices. A trip authorisation, a contract or a medication authorisation goes to the adults who sign. Meals are ordered by the adult who pays or by a holder of parental authority. Health, conduct and declaring an absence on the portal are for holders of parental authority. The parental authority links also feed the Law 25 consents (Québec's Act respecting the protection of personal information in the private sector): under 14, the parents are asked; from 14, the student.

The same roles govern school work. Homework can be handed in on the portal, as files or through a scored quiz; only a student with their own account and the holders of parental authority hand in work and read its mark. A group's online courses open to its students and to the adults who receive notices. Finally, every enrolled student can get an account in the school's directory: it opens the Blue Fox OS computers in the lab, the computer lent for home, and the portal.

Here is the record of a student of École Boréale, the demo's fictitious school, open on the student's guardians.

Record of Tom Bérubé-Haddad, 8, group 301: a severe peanut alert, then his two guardians with their roles ticked one by one
A student's record and guardians

The screenshots in this chapter come from the École Boréale demo database. You see the school office, a teacher of group 301 and a mother of three on the portal.

The app relies on base applications: Contacts for adults and students, Invoicing for admission fees and meals, Electronic signatures for the contract, Noticeboard for announcements, Privacy (Law 25 and other frameworks) for consents, Surveys for scored quizzes, Website, blog and eLearning for online courses and Blue Fox OS workstations for lent computers.

Configuration#

Access and permissions#

Three roles are set on each user's record, under the School category. A teacher is a Staff member listed as a teacher of a group.

Role What it opens
School / Staff Read schools, groups, students and families, without changing anything. A teacher takes attendance, records conduct, posts homework, corrects and returns work, writes to the families of their own groups, and sees their meeting schedule. The eLearning Officer role comes with it: staff write the courses they are responsible for and read the others. All staff see a student's health alert.
School / Administration The school office. Creates and edits everything, invites families, sends announcements, authorisations, contracts and consent requests, runs admissions, meetings, menus and meal accounts. Creates the students' directory accounts, gives them passwords and lends computers. Sees and returns all work, and ties a course to any group. This role also grants noticeboard editing, privacy management and sending for signature. It sees applications and their invoices, and asks for fees, without any accounting right.
School / Health The detailed health record, the emergency plan, medication authorisations and the register of doses. The school names the people in this group (the nurse, a designated office member). Administration does not get it by default: health is read on a need-to-know basis.

To record a payment made at the front desk (an admission fee, a meal account top-up), the school gives the Invoicing role separately to the people who handle it.

To write a scored quiz, a teacher also needs the Surveys User role, which the school grants separately. Without it, the homework's Quiz field does not show. The school's directory settings are for system administrators only.

Parents and students have no access right on the school's data. The portal reads everything from the signed-in adult's own links, or from the signed-in student's own record: a family never reaches another family's child. An adult who receives notices without parental authority sees the homework, but neither the work handed in nor the marks.

A student with their own account sees their own page on the portal: their work, homework and courses, not the parents' view. The school keeps the student's record and account: the student does not edit their record, change their password or delete their account. Under 14, a student neither sees nor gives their own consents: the holders of parental authority do. From 14, the student is the one who consents.

Settings#

The settings live on the school's record: School › Configuration › Schools. At the top, two buttons act on the whole school: Invite families to the portal and Ask this year's consents. The Students shortcut button counts the students enrolled this year.

École Boréale's record: ministry code, current year 2026-2027, invitation and consent buttons, and the School years, Groups, Contracts and Meals tabs
The school's record
  • Ministry code: the organization code the Québec ministry of Education gives the school.
  • School years tab: the years, with their dates. Make current makes a year the current one; there is only one at a time.
  • Contracts tab: Educational services on the permit, Language of instruction and the Print section 14 of the regulation box, to check if the school provided a security. These three mentions print on every contract.
  • Meals tab: Meal payment ("Prepaid balance", "Monthly invoice" or "The family chooses"), Order ahead (days) and Cancel until (hour, same day).
  • Work handed in tab: under Emails offered to the families, Offer an email when work is returned and Offer a daily summary. An offered email only goes to the people who tick it on the portal (see Offer the work emails).
  • Computers tab: the Create this year's accounts button and the Directory section, for system administrators only: Directory (Authentik) URL, Directory API token (stored encrypted, never shown again), Student group, Directory folder and Student sign-in. The Accounts and Lent shortcut buttons count the student accounts and the lent computers.

Student sign-in is the OpenID provider of the school's directory, through which students sign in to the portal. It must use the authorization code flow, because Authentik 2026.8 refuses the flow Odoo's own sign-in uses. All its addresses must be on the directory's host. The module's callout, under Modules that extend this application, says what to install.

Base data#

The app comes with lists already filled in, to adapt under School › Configuration:

  • Levels: from "Pre-K (4 years)" to "Secondary V", with their code and stage (preschool, elementary, secondary).
  • Authorisation types: "Field trip", "Extracurricular activity" and "Overnight stay". The last one needs the agreement of every guardian who signs.
  • Absence reasons: illness, medical or dental appointment, family reason, trip during school days, other, unjustified. Each reason says whether it is Justified and whether Families may choose it on the portal.
  • Rules of conduct and Sanctions: those of the regulation on rules of conduct (civility, cell phone, image captured without consent, respect, schedules, bullying, violence, sexual violence), and the sanctions by level, from a warning to an external suspension, plus the restorative gesture.
  • Food allergens: Health Canada's priority allergens.

A scored quiz is prepared in Surveys, with scoring (the Assessment mode, for example), before it is tied to a homework.

Before the first student, create the school, its current year and its groups with their teachers. The Law 25 consent texts need adapting before the first request (see Ask this year's consents).

Getting started#

This walk-through enrols a student in a group, links two parents with shared custody, and invites them to the portal.

  1. Open School › Groups and check that the group exists for the current year, with its teacher.
  2. Go to School › Students and select New.
  3. Enter the name, the Birth date and the Permanent code (four letters, then eight digits).
  4. In the Enrolments tab, add a line and choose the group.
  5. In the Guardians tab, add the mother: Relationship "Mother", then check Parental authority, Receives notices, Signs and Lives with.
  6. Add the father the same way, and also check Pays on the line of whichever parent receives the invoices.
  7. Save, then select Invite these guardians to the portal, above the list of guardians.

Result: the student shows in the group, both parents get a portal invitation, and their My children page shows the child, the group, the teacher and the roles recorded for each of them.

Common tasks#

Enrol a student and their guardians#

Each adult is linked only once to a given student; their roles are ticked on that one link.

  1. Open School › Students, then the student's record or New.
  2. Fill in the birth date, the permanent code and, if needed, the Food allergies.
  3. In Enrolments, choose the year's group.
  4. In Guardians, add each adult and tick their roles.
  5. If needed, add a Note on the link: only staff see it.

Result: the record shows the computed age, the Personne mineure box (minor) and the list of guardians. When a student leaves a group, the enrolment's Leaves button keeps it as history.

Invite families to the portal#

Only the adults who receive notices are invited.

  1. For one student: open the record and select Invite these guardians to the portal.
  2. For the whole school: open School › Configuration › Schools, then the school's record.
  3. Select Invite families to the portal.

Result: a message says how many invitations went out, how many adults already had access and how many have no usable email, then names the records to fix. An adult already on the portal, or a staff member, is never invited twice.

On the portal, the My children page is the door to everything else: absences, follow-up, authorisations, health, homework, work to hand in, courses, meals, meetings, announcements and consents.

My children page on Amélie Bérubé's portal: three children with their group, their teacher, the mother's roles and the re-enrolment status
My children, on the portal

Publish an announcement to families#

An announcement goes to the whole school or to chosen groups. Each adult gets one email, in their language, whose subject names their children: a parent of three gets one email, not three.

  1. Open School › Announcements and select New.
  2. Enter the title and the content.
  3. Keep the "School families" audience and choose the School.
  4. Leave School groups empty for the whole school, or choose groups.
  5. Check Lecture obligatoire (mandatory reading) if the school wants a read receipt.
  6. Select Publier (publish).

Result: the announcement shows on the portal under School announcements and goes out by email. On the record, the Suivi de lecture section (read tracking) lists who confirmed and when.

The "Journée photo" announcement published to every family, mandatory reading, 45 recipients, and the read tracking that lists who confirmed
An announcement and its read receipts

Send a trip authorisation#

The office writes the authorisation; each adult who signs gets a personal link that works without an account.

  1. Open School › Authorisations and select New.
  2. Choose the Type, the Groups, the Event date and Answer by.
  3. Write the text in the Text tab.
  4. Select Send to families.
  5. Later, select Remind those who have not answered if needed.

Result: one answer per student enrolled in those groups; the Authorised, Refused and Waiting counters stay up to date, the Answers tab details them, and the chatter (the message thread at the bottom of the record) logs each answer. Once sent, the text can no longer change: its fingerprint proves what the parents answered.

The "Sortie au Biodôme" authorisation sent to group 301: answer counters, text fingerprint, and the parents' answers in the chatter
An authorisation and its answers

Ask this year's consents#

Four school purposes are ready: photos and videos inside the school, photos and videos published outside the school, the contact list of the group's families, and outside educational platforms.

  1. Before the first request, adapt the texts: the name of the person in charge of personal information, and the list of the school's educational platforms.
  2. Open the school's record and select Ask this year's consents.
  3. Check the students proposed in the dialog, then select Créer les demandes (create the requests).

Result: one request per student and purpose, sent to the adults with parental authority under 14, and to the student from 14. Students already asked are skipped. Follow-up happens in Privacy (Law 25 and other frameworks).

Prepare and sign a contract for educational services#

The contract follows Québec's Private Education Act: itemised price, caps and mandatory mentions.

  1. Open School › Contracts and select New.
  2. Choose the Student, the School and the School year; the Clients (signers) fill in from the guardians who sign.
  3. Enter the Admission or registration fee, the Educational services, the Instalments and, under Accessory services, each service with its price.
  4. Check the computed Total price and Maximum cancellation indemnity or penalty.
  5. Select Send for signature.

Result: each parent who signs receives the electronic signature request. The contract turns Signed once every one of them has signed. What they sign is frozen from the moment it is sent.

Record a contract termination#

When a family terminates, the contract computes what the school may keep and what it must refund.

  1. Open the signed contract.
  2. In the Termination tab, enter Notice of termination received on and Amount already paid.
  3. Select Record the termination.

Result: the contract turns Terminated, with the Amount the school may keep, the Amount to refund and the Refund by date, ten days after the notice.

Romy Lambert's terminated contract: notice received September 30, $3,010 already paid, $1,624 the school may keep, $1,386 to refund by October 10
A computed termination

Open an admission campaign#

A campaign receives applications for a coming school year.

  1. Open School › Admission › Campaigns and select New.
  2. Choose the Kind "Admission of new students", the School, For the school year and the Levels offered.
  3. Enter Opens on, Closes on and the Fee, at most $50 to study an application.
  4. Fill in the Admission exam, the Exam location, then the Public form and Exam instructions tabs.
  5. Select Open.

Result: the campaign's public form answers at its web address. Close stops it; a closed campaign receives nothing more.

École Boréale's 2027-2028 public admission form: the student, one or two parents, then the documents
The public admission form

Process an application#

An application filed through the public form waits for payment; its invoice stays a draft until the office has checked it.

  1. Open School › Admission › Applications, with the Awaiting payment filter.
  2. Check the application and its documents, then select Ask for the fee.
  3. When the family pays at the front desk, someone with the Invoicing role opens the invoice from the application and selects Pay.
  4. On the submitted application, select Convene to the exam.
  5. After the exam, enter the score and select Evaluated.
  6. Choose Accept, Waiting list or Refuse.
  7. For an accepted student, select Enrol.

Result: each step emails each parent, and the family's personal status page updates. Enrol creates the student with their family links, the adult who paid marked Pays.

Ask for the fee first checks that the invoice amount equals the campaign's fee; if not, it refuses and asks you to correct the invoice. A fee invoice tied to an application cannot be deleted: to cancel it, withdraw the application with Withdrawn.

Purge the applications not retained#

Once the campaign is closed, the applications of students not enrolled are purged.

  1. Open the closed campaign.
  2. Select Purge the applications not enrolled.

Result: the documents, the student's identity, the evaluation and the history of each application not retained are destroyed, the status link stops working, and the contacts the form created are deleted or emptied. The fee invoice is kept for accounting. An application accepted but not yet enrolled is not purged.

Open re-enrolment#

  1. Create a campaign of Kind "Re-enrolment", with its levels and a Fee of at most $200.
  2. Select Open.

Result: on the portal, each child enrolled this year shows Re-enrol for followed by the year, to the adult who signs. On the page that opens, Confirm the re-enrolment issues the registration fee invoice; the re-enrolment is confirmed once it is paid. A child has only one re-enrolment per campaign.

Organize parent-teacher meetings#

  1. Open School › Parent-teacher meetings › Meetings and select New.
  2. Enter the name, the Groups, the Slot length (minutes), the Location, Booking opens and Booking closes.
  3. Under Teachers' hours, enter each teacher's hours.
  4. Select Generate the slots.
  5. Select Open the booking.

Result: on the portal, each child shows the teachers of their groups and their free slots. One click books, one click cancels, until booking closes. Teachers see their schedule under My schedule.

The "Rencontres du premier bulletin" session: nine groups, 10-minute slots, 240 slots of which 24 are booked, and each teacher's hours
A meeting session

Take attendance#

Teachers take attendance for their groups, by half-day in elementary or by period in secondary, depending on the group's Attendance Mode.

  1. Open School › Attendance › Take attendance and select New.
  2. Choose the Group and the Date.
  3. In Half-day or period, enter "am" or "pm" in half-day mode, or the period number.
  4. Mark each student Present, Absent or Late, with the minutes late.
  5. Select Attendance taken.

Result: every student starts as present; absences the family already declared are filled in, justified. When the roll call closes, the adults who receive notices are told the same day about any unjustified absence, at most once per student and day. Correct reopens a closed roll call.

Group 301's roll call on the morning of October 1: the students with their status, the reason and the Justified box
A roll call

Record an absence reported by phone#

Families declare absences themselves on the portal. For a phone call:

  1. Open School › Attendance › Declared absences and select New.
  2. Choose the student, the dates, the part of the day and the reason.
  3. Choose the source "School office" and save.

Result: the declaration justifies the roll calls it covers, even those already taken.

Record a breach and inform the parents#

  1. Open School › Conduct › Breaches and select New.
  2. Choose the student and the Rule, then describe what happened.
  3. Read the Previous breaches of this rule and the Suggested sanction, then choose the Sanction.
  4. Enter the Restorative measure if needed.
  5. Select Inform the parents.
  6. Select Close once the matter is settled.

Result: the adults who receive notices and hold parental authority get an email, and the breach shows on their portal under Follow-up. A breach the family was not told about never shows there.

List of breaches: cell phone, respect, schedules, civility, captured image, and a bullying case in red, with the sanction and the date the parents were informed
The year's breaches

Keep the monthly follow-up#

A student at risk of failing, whose conduct is out of line with the rules, or who is covered by an intervention plan is owed news every month.

  1. Open School › Conduct › Monthly follow-ups and select New.
  2. Choose the student, the Case and the Responsible teacher.
  3. For each communication, add a line: date, channel and summary.

Result: news sent by email goes to the family and shows on its portal; a phone call or a meeting is only noted. At the start of each month, the responsible teacher gets an activity for every student whose parents had no news the month before.

Post homework#

  1. Open School › Homework and select New.
  2. Enter the name, the Group and the Kind ("Homework", "Study", "Project" or "Announced test").
  3. Enter Given on and Due on, then the description.

Result: the homework shows on the portal under Homework, sorted by date, for each child of the group; a student with their own account also sees their own homework there. Each person has their own calendar address: whoever subscribes to it also sees the homework in Google Calendar or Apple Calendar.

Receive work online#

On a homework, the teacher chooses how the work is handed in.

  1. Open School › Homework, then the homework or New.
  2. Under For the students, choose the Hand-in mode: "Not online" (on paper or in class), "Files" or "Online quiz".
  3. Attach the Documents for the students if needed.
  4. Enter Marked out of, or leave 0 for work that is not marked.
  5. Clear Accept late work if the portal should refuse work handed in after the due date.
  6. Save.

Result: a hand-in waits for each student of the group, and the Handed in shortcut button counts the work handed in against the work expected. On the portal, under Work to hand in, a student with their own account or a holder of parental authority hands in up to five files of 25 MB each: PDF, images, office documents, audio, video, zip archives or Scratch projects. The files can be replaced until the work is returned. After the end of the due date, at the school's time, the work shows as late.

The summer essay homework for group 301: handed in as files, late work accepted, marked out of 20, instructions attached and the Handed in 3 / 6 button
Homework handed in online

Correct and return work#

The group's teacher, or the school office, gives the work back with a mark, a comment and a corrected copy.

  1. Open School › Hand-ins: the list opens on the work To correct, grouped by homework.
  2. Open a student's hand-in and download the work handed in.
  3. Enter the Mark and the comment for the student and the parents.
  4. Attach the Corrected copy, annotated in the tool of your choice.
  5. Select Return.

Result: the family sees the mark, the comment and the corrected copy on the portal, under Returned by the teacher; before the work is returned, it sees none of them. To return several at once, check them in the list and choose Return from the Actions menu. Reopen hides the mark again and lets the work be handed in again. If the return email has not gone out yet, it is withdrawn. The hand-in's chatter records it: “Return email withdrawn: the work was reopened.”

A work page on Amélie Bérubé's portal: Tom's essay, handed in, then returned with 17 / 20, a comment and the corrected copy
Returned work, on the portal

Set a scored quiz#

Before you start: the Surveys User role, and a scored quiz ready in Surveys.

  1. Open the homework under School › Homework.
  2. Choose the Hand-in mode "Online quiz".
  3. Choose the Quiz.
  4. Enter Marked out of, then save.

Result: on the portal, the student or a holder of parental authority selects Start the quiz. A finished quiz counts as handed in, and its score, scaled to the homework's total, becomes the mark. Reopening the hand-in starts a new attempt; the first answer stays in the survey's results.

Offer the work emails#

There are two emails. The school decides which ones it offers; each person chooses on the portal the ones they want.

  1. Open School › Configuration › Schools, then the school's record.
  2. In the Work handed in tab, check Offer an email when work is returned, Offer a daily summary, or both.
  3. Save.

Result: the portal's Work to hand in page shows an Emails section, with one box per email offered. Nothing goes out until the person ticks it. The return email gives the mark and a link to the work; it does not go out for a student who has left the group. The daily summary lists work returned, work due within two days, work not handed in after its due date and new course contents. It covers only the current year's groups of the schools that offer it, and goes out only when there is something new, and each return or content appears in it once. It goes out once per company of the children's schools, in that company's name. A parent whose children attend schools of two companies therefore gets two.

The portal's Work to hand in page: four of Tom's assignments with their status and due date, one returned 17 / 20, then the two Emails boxes to tick
Work and email choices, on the portal

Give an online course to a group#

Course contents live in eLearning; the app ties them to groups.

  1. Open School › Courses and select New.
  2. Enter the course name.
  3. In the Options tab, School section, choose the School groups.
  4. Clear Parents follow the course if only the students should attend.
  5. Add the contents, then publish the course.

Result: the groups' active students are its attendees, along with the adults who receive notices for them, unless the box is cleared. A student who joins the group is added, and one who leaves is removed. The course shows on the portal under Courses, for its attendees only, with no comments, reviews or karma, and no email for each content published or at the end of the course.

Renew a course#

  1. Open the ending year's course under School › Courses.
  2. Select Renew for another year.
  3. Enter the Name of the copy and choose the Groups of the new year.
  4. Select Renew.

Result: a copy of the course, with its contents, their files and their quizzes, tied to the new groups and unpublished. Check it, then publish it. The original course does not change. Only the person responsible for the course, or the school office, renews it.

Create the student accounts#

Before you start: a system administrator has set up the school's Directory section.

  1. Open School › Configuration › Schools, then the school's record.
  2. In the Computers tab, select Create this year's accounts.
  3. To give a password, open School › Computers › Student accounts, then the student's account.
  4. Select New password and confirm.
  5. Write the password down or give it to the student, then select Done.

Result: one account per student enrolled this year, which reaches the directory at the next sync, within fifteen minutes. The user name is drawn from a sequence ("e00001"), never from the permanent code, which spells out the name and birth date. Directory groups follow the level and the class. The password, two words and four digits ("renard-lune-4821"), is stored nowhere: it shows once, for five minutes at most.

Lend a computer to a student#

Before you start: a computer installed under a shared seat profile of type "Loan (one borrower)" (see Blue Fox OS workstations), and an active account for the student.

  1. Open School › Computers › Lent computers and select New.
  2. Choose the Computer and the Student.
  3. Check Lent on and Due back, which proposes the end of the school year.
  4. Note the Condition when lent: charger, case, visible damage.
  5. Save.
  6. When it comes back, select Returned and note the Condition when returned; for a loss or breakage, Lost or damaged.

Result: the computer opens to the student at its next policy sync, within the hour while online. The adults who receive notices get an email at the loan, seven days before the due date and, once only, when it is overdue. Returned or lost, the computer closes again. On the portal, the child's card shows the lent computer and its due date.

Open the portal to students#

Before you start: an active directory account for the student, and Student sign-in set on the school's record.

  1. Open School › Computers › Student accounts, then the student's account.
  2. Check that it is Active and that Portal user names the student's user.
  3. Give the student the portal address: on the sign-in page, the student goes through the school's directory, with the user name and password of the school's computers.

Result: the student lands on their own page, "Hello …: your work, your homework and your courses are here." The portal user follows the account: archived when the student is no longer enrolled this year, active again on re-enrolment. A new password is given from the account, never on the portal.

Prepare a medication authorisation#

For the Health group only. School staff give only prescribed medication.

  1. Open School › Health › Medication authorisations and select New.
  2. Enter the student, the Medication, Prescribed by, the Dosage and the Route.
  3. For an as-needed medication, check As needed (PRN) and fill in When to give it.
  4. Enter Valid from, Valid until and Where it is kept.
  5. Select Ask the family to sign.

Result: the parents who sign get the request and answer on the portal with I authorise or I refuse. The Signature section keeps who signed, when, from which IP address, and the fingerprint of the text signed.

EpiPen Jr 0.15 mg authorisation for Tom Bérubé-Haddad, authorised: as needed for a severe allergic reaction, kept in his backpack, signed by his mother
A signed medication authorisation

Record a dose or emergency epinephrine#

  1. For a planned dose: open School › Health › Doses given and select New.
  2. Choose the student and the authorisation, then enter the dose.
  3. In an emergency: open School › Health › Emergency epinephrine.
  4. Choose the student, check the proposed dose, then select Save.

Result: no dose is recorded without a valid authorisation that day, except emergency epinephrine, which any staff member records. The family is told right away. The register always names the person who recorded the dose, and a recorded dose is never rewritten: a note is added instead.

The Emergency epinephrine dialog: the student to choose, the box checked, the time, the proposed "1 auto-injector" dose and the person giving it
Emergency epinephrine

Publish menus and close a day#

  1. Open School › Meals › Meals and create each meal with its Price and what it Contains.
  2. Open School › Meals › Menus and create the menu for each school day.
  3. For a storm or a professional day, open that day's menu and select Close the day, with a reason.

Result: families order on the portal up to the school's deadline. Closing a day credits all its orders at once.

October menu calendar: one or two meals per school day, and the October 9 professional day shown as Fermée (closed)
The month's menus

Manage meal accounts#

Each adult who pays has an account, as a Prepaid balance or a Monthly invoice.

  1. Open School › Meals › Meal accounts and the adult's record.
  2. Read the Balance, then the Movements, Top-ups and Orders tabs.
  3. When a family pays a top-up at the front desk, someone with the Invoicing role opens its invoice and selects Pay.

Result: the balance is credited with what was actually paid. On the portal, the family tops up on its own or switches to the monthly invoice, if the school allows it.

The portal's Meals page: a $40 balance, the top-up amount, the link to switch to a monthly invoice, then each child's meals by day
Meals, on the portal

Run the annual report on bullying and violence#

  1. Open School › Conduct › Annual report.
  2. Filter on the year you need.

Result: a pivot table counts bullying and violence breaches by rule and by year, to report to the ministry before December 31.

The menus, one by one#

School: the app's root, with its submenus in this order.

School › Students: the list of students, with their current groups, age, health alert and permanent code. It is the office's opening screen.

École Boréale's list of students: name, current groups, age, health alert and permanent code
Students

School › Attendance: a group of three screens.

School › Attendance › Take attendance: roll calls by group, date and half-day or period, with absences, late arrivals and status. The Today and My groups filters are for teachers.

School › Attendance › Declared absences: absences declared on the portal by families or recorded by the office, with dates, part of the day, reason and who declared them.

School › Attendance › Repeated unjustified absences: the students with three or more days of unjustified absence in thirty days. An aid for the office, not a decision.

School › Conduct: a group of three screens.

School › Conduct › Breaches: the year's breaches, with the student, the rule, the sanction and the date the parents were informed; bullying and violence stand out in red.

School › Conduct › Monthly follow-ups: the students being followed, with the case, the responsible teacher and the date of the last communication.

Zoé Bérubé-Haddad's monthly follow-up: risk of failing, the responsible teacher, and two communications to the parents, by phone and by email
A monthly follow-up

School › Conduct › Annual report: the bullying and violence pivot table (see Run the annual report on bullying and violence).

School › Homework: homework, studies, projects and announced tests for every group, as a list or a calendar, with the group, the kind and the teacher.

List of homework sorted by due date: group, kind, name and teacher
Homework

School › Groups: the groups of the current year, with the school, the year, the levels, the teachers and the number of students.

School › Hand-ins: each student's hand-in for each homework handed in online. The screen opens on the To correct filter, grouped by homework, with the due date, the group, the student, the state, the date the work was handed in, the Late box, the mark, blank until the work is returned, and the total. The Not handed in, Late and Returned filters complete the sorting. A teacher sees the hand-ins of their own groups; the school office sees them all.

Group 301's teacher's list of hand-ins, filtered on To correct and grouped by homework: a summary handed in late, in red, and an essay
Work to correct

School › Health: a group of screens for the Health group, except Emergency epinephrine.

School › Health › Emergency epinephrine: the dialog to record epinephrine given in an emergency, open to all staff.

School › Health › Medication authorisations: the authorisations, with the student, the medication, the dosage, the route, the end date and the state (draft, sent to the family, authorised, refused, revoked).

School › Health › Doses given: the register of doses, with the date, the student, the authorisation, the dose, the emergency epinephrine box and the person who gave it.

School › Health › Health records: the students' detailed records, with allergies, health problems, the attending physician and the emergency plan.

School › Courses: the eLearning courses, as cards, a list or a form, opening on the School courses filter, which keeps those tied to groups (see Give an online course to a group).

School › Meals: a group of four screens.

School › Meals › Kitchen list: opens on the meals ordered for the next day, grouped by meal, with the date, the group, the student, their allergies and the state. It is the list you hand to the caterer; the With allergies filter singles out the students to watch.

The kitchen list filtered on Ordered and grouped by meal: each order with its date, group, student, allergies as tags and state
The kitchen list

School › Meals › Menus: the calendar of each day's menu (see Publish menus and close a day).

School › Meals › Meals: the meals on offer, with the school, the price and the allergens they contain.

School › Meals › Meal accounts: the accounts of the adults who pay, with the mode and the balance.

School › Announcements: the announcements to families, with the audience, the read receipts received, the recipients and the publication date.

School › Authorisations: the authorisations, with the type, the groups, the dates, the answer counters and the status.

School › Families: a group of two screens.

School › Families › Guardians: the adults linked to at least one student, with their contact details.

School › Families › Family links: each link, with the student, the adult, the relationship and the ticked roles. The Pays and Receives no notices filters help check the roles across the school.

School › Parent-teacher meetings: a group of two screens.

School › Parent-teacher meetings › Meetings: the meeting sessions, with the booking deadline, the number of booked slots and the status.

School › Parent-teacher meetings › My schedule: the signed-in teacher's slots, with the children's names and the adult who booked.

School › Admission: a group of two screens.

School › Admission › Applications: the applications, with the campaign, the level, the state and the rank. The To decide and Awaiting payment filters sort the day's work.

List of applications: student, campaign, level requested, fee paid, score, rank and status
Applications

School › Admission › Campaigns: the admission and re-enrolment campaigns, with their dates, fees and number of applications.

The 2027-2028 admission campaign: kind, levels offered, dates, a $50 fee, the exam and its applications
An admission campaign

School › Contracts: the contracts for educational services, with the student, the year, the total price and the status.

School › Computers: a group of two screens, for the school office.

School › Computers › Lent computers: the loans, opening on the Lent filter, with the computer, the student, the dates lent, due back and returned, and the status; an overdue loan stands out in red. The Overdue and Student no longer enrolled filters sort the follow-up, and Returned or lost keeps the history.

School › Computers › Student accounts: the directory accounts, opening on the Active filter, with the user name, the student, the directory groups, the state and the synchronisation error, which stands out in red. The Waiting for the directory, Synchronisation error and No password yet filters guide the follow-up.

School › Configuration: a group of reference lists.

School › Configuration › Schools: each school's record (see Settings).

School › Configuration › Levels: the levels from preschool to Secondary V, with their code and stage.

School › Configuration › Answers (evidence): each guardian's answer to an authorisation, with the decision, the date, the channel and the evidence. For the office only: teachers see who is authorised, not the IP address or the browser.

Guardians' answers: authorisation, student, guardian, decision, answer date and channel (family portal or personal link)
The evidence of the answers

School › Configuration › Authorisation types: the types, and the box that requires every guardian who signs.

School › Configuration › Food allergens: the priority allergens, to tick on meals and on the student.

School › Configuration › Absence reasons: the reasons, with Justified and Families may choose it.

School › Configuration › Rules of conduct: the rules, with the boxes that count a breach in the annual report (bullying or violence) and that flag sexual violence.

School › Configuration › Sanctions: the sanctions by level, with the Suspension and Restorative measure boxes.

Reference#

Field Description Required or default
Adult The person linked to the student. An adult is linked only once to the same student. Required
Relationship Mother, father, parent, legal tutor, grandparent, other. "Parent"
Parental authority Holds parental authority or tutorship. Only these adults consent and sign for a minor. Checked, except grandparent and other
Receives notices Receives the school's announcements and messages about the student. Checked, except grandparent and other
Signs Can sign authorisations, contracts and medication authorisations. Checked, except grandparent and other
Pays Receives and pays this student's invoices. Cleared
May pick up May pick the student up at school. Checked
Emergency contact To call in an emergency. Cleared
Lives with The student lives with this adult. Checked
Note Seen by staff only, never by the family. Empty

Fields of the Contract form#

Field Description Required or default
Student, School, School year The student concerned and the year of the contract. Required
Start, End The dates of the services. Required
Clients (signers) The adults who sign; by default, each guardian of the student who signs. Filled in automatically
Eligibility fee At most $50. $0
Admission or registration fee At most $200 or a tenth of the total price; the only amount payable before services begin. $0
Educational services The price of the educational services. Required
Instalments At least two roughly equal instalments. 2
Total price Computed: admission, educational services and accessory services. Computed
Maximum cancellation indemnity or penalty The lower of $500 and a tenth of the total price, minus the admission fee. Computed
English version requested on The date the client expressly asked for an English version. Empty

Fields of the Admission campaign form#

Field Description Required or default
Kind Admission of new students or re-enrolment. Admission
For the school year For example 2027-2028. Required
Levels offered The levels that can be requested on the form. Empty
Opens on, Closes on The period during which the form takes applications. Required
Fee Admission: at most $50. Re-enrolment: at most $200. $0
Fee label on the invoice Empty: application fee or registration fee, depending on the kind. Empty
Admission exam, Exam location The date and place of the exam notice. Empty

Fields of the Medication authorisation form#

Field Description Required or default
Medication, Prescribed by Only prescribed medication is given at school. Required
Dosage Quantity and frequency, as prescribed. Required
Route The routes the law allows school staff, including the epinephrine auto-injector. Required
As needed (PRN), When to give it An as-needed medication requires clear conditions of use. Cleared
The student takes it alone Staff only hand the medication over. Cleared
Valid from, Valid until The period of the authorisation. Today, required
Where it is kept Auto-injectors stay within reach, never locked away. Empty

Fields of the Homework form, For the students section#

Field Description Required or default
Hand-in mode Not online (on paper or in class), files handed in on the portal, or an online quiz whose score becomes the mark. "Not online"
Quiz A scored survey, visible only to people with the Surveys User role. Required for a quiz
Accept late work After the due date, work can still be handed in and shows as late; cleared, the portal refuses it. Checked
Marked out of The total of the mark; 0 for work that is not marked. 0
Documents for the students Served on the portal to the group's students and their parents. Empty

Reports and exports#

The contract for educational services prints from its record with Print › Contract for educational services. It is written in French and reproduces word for word sections 70 to 75 of the Private Education Act and the uncovered-face clause. The conduct Annual report reads as a pivot table and exports like any Odoo view (see Common actions in every application). The Kitchen list exports for the caterer.

Automations#

What happens on its own When
Close the authorisations whose deadline has passed; students without an answer show "No answer". Every day
Clear the Personne mineure box (minor) on the birthday when the student reaches the age set by the company's privacy framework. Every day
Tell families about an unjustified absence, when a roll call closes. When the roll call closes
Create, for the responsible teacher, one activity per followed student without news the month before. At the start of each month
Issue the monthly meal invoice of each account billed monthly. At the start of each month, for the month just ended
Produce the official PDF of fee and top-up invoices, so that the portal does not show them as pro forma. Right after they are issued
Send the work-returned email to the people who ticked it. When the work is returned
Send the daily summary of the work to the people who ticked it, when there is something new. Every day, at 21:00 UTC, late afternoon in Québec
Keep the attendees of school courses in line with the groups. At each enrolment change, and every day
Carry the student accounts to the directory: creation, groups, name, suspension of a student no longer enrolled. An error is written on the account without stopping the others. Every 15 minutes
Bring each student's portal user in line with their account. At each sync, and every day
Tell the families about a computer loan. When the loan is recorded
Send the reminder for a computer due back within seven days, then, once only, the overdue notice. Every day

Public pages and portal#

The family portal starts from My children (address /my/school) and gives the adults entitled to it:

  • Absences: declare an upcoming absence or justify one after the fact (thirty days back at most, and thirty days long at most; beyond that, the family calls the office);
  • Follow-up: the monthly follow-up news and the breaches the family was told about;
  • Authorisations: answer with I authorise or I refuse;
  • Health: the alerts, the medication authorisations to sign, what is authorised and what was given in the last 60 days; the detailed record never shows there;
  • Homework: what is due for each child (their own homework, for a student with their own account), and the personal calendar address, with Get a new address (the old one stops working);
  • Meals: order, cancel, top up the balance or switch to the monthly invoice;
  • Parent-teacher meetings: book and cancel one slot per teacher;
  • School announcements: read and confirm with I have read it;
  • Consents: the Law 25 consents page;
  • Work to hand in (/my/school/work): for a student with their own account and for holders of parental authority, each child's work with its status and, once returned, its mark, then the Emails section. Each piece of work opens its own page: Documents from the teacher, The work with Hand in, then Returned by the teacher. Under each homework, the Hand in, documents and mark link leads to the same page;
  • Courses (/my/school/courses): the school's published courses the person attends, their own for a student, their children's for a parent.

Each child's card also shows the computer lent by the school and its due date. A student signed in with their own account lands on their own page, without the parents' view.

On a phone, the same pages stack into one column.

The My children page on a phone: the section buttons, then each child's card
The portal on a phone

Three pages answer without an account: the admission form of an open campaign (/school/admission/…), an application's personal status page, and the page where a parent answers an authorisation through the personal link. The homework calendar feed is public but secret, one per person: each adult has their own, and so does a student with their own account.

Modules that extend this application#

Understanding#

Why roles rather than a parent. A school portal stands or falls on one question: which adult learns what about which child. Families are not "a parent and a child". The module records the answer once, as data, so that every other module asks the same question and gets the same answer.

Why a refusal wins. Towards a third party in good faith, one parent is presumed to act with the other's agreement (Civil Code of Québec, article 603): one parent is enough. But when parents disagree, the school needs a rule written down before the trip, not a phone call on the morning of it. One parent's "no" keeps the child at school.

Why an answer is final. An authorisation, a medication signature or an admission decision is evidence. It cannot be rewritten, on the screen or otherwise: states move through their buttons only. To change their mind, the family calls the school.

Why a person decides. The admission rank and the suggested sanction are aids. Law 25 forbids a decision based exclusively on automated processing: the decision records who took it and when.

Why the school's time. A family on the portal, or a visitor to the public form, often has no time zone. Every time a family reads (exam, slot, answer) is given in the school's time zone.

Why the school offers and each person chooses. Work emails carry marks. The school decides what it offers, and each person ticks what they want on the portal, where they can also untick it. Nothing goes out by default. A student's record often carries a parent's address: an email with marks goes there only if the address belongs to the student, or to an adult who could already receive it.

Why a directory account. The same account opens the lab computer, the lent computer and the portal, and it follows enrolments without the office having to think of it. Its user name never comes from the permanent code, which spells out the name and birth date.

What the suite does not do yet. No installable app and no push notification for parents; no text message notices; no payment with an authorisation; no reminder the day before a meeting; teachers do not enter their own hours or send authorisations to their groups. The copy cannot be annotated in the browser; work is due at the end of a date, never at a set hour; marks do not yet carry over to a report card. eLearning quizzes give no mark: scored quizzes are the homework's. Course videos come from YouTube, Vimeo or Google Drive, which is no place for a video of students. The contract has not been reviewed by a lawyer yet, and spreading the balance over monthly instalments still needs checking against section 70.

Troubleshooting#

Symptom Likely cause Fix
A parent does not receive announcements. Receives notices is not checked on their link, or their record has no email. Check the box under Guardians; add the email. Adults without an address are counted in the announcement's chatter.
A student is left out of the consent request. No birth date, a minor without anyone holding parental authority, or an address already used by another account. Read the note on the school's record, fix the record, then ask again.
The portal refuses a meal. The meal contains an allergen declared for the student, or the prepaid balance does not cover it. For an allergy, this is intended: choose another meal or correct the allergies. For the balance, the family tops up, or someone with the Invoicing role records the payment.
Ask for the fee refuses to act. The draft invoice amount does not match the campaign's fee. Correct the invoice (Invoicing role), then ask for the fee again.
Inform the parents refuses to act. A suspension without reasons or support measures, or sexual violence at 14 or over without the student's consent. Fill in the required fields, or tick the student's consent.
A parent does not see a teacher's slots. The teacher does not teach a group of the session, or booking is closed. Add the group to the session, or check the booking dates.
A contract does not save. An amount exceeds a legal cap, or there are fewer than two instalments. Correct the amount reported.
A parent does not see the Emails section under Work to hand in. The school offers neither email, or the parent's link lacks parental authority or does not receive notices. Check the emails in the school's Work handed in tab, or fix the link's roles under Guardians.
A parent ticked the return email and gets nothing. Their record has no email, their portal account is no longer active, or the student has left the homework's group. Add the email, or invite the adult to the portal again. For a student who has left the group, no return email goes out.
Lending a computer is refused. The student has no active directory account, or the computer is not installed under a loan profile. Create this year's accounts from the school, or have the computer enrolled under a "Loan (one borrower)" profile.
A student cannot sign in to the portal. Student sign-in is not set, the provider is not the school's own directory or does not use the authorization code flow, or the student is no longer enrolled this year. Have a system administrator set up the school directory's OpenID provider, then check that the student's account is Active.

See also#