Everything you need to install the free core, wire up portals, and add modules as your school grows. Most schools are live in under an hour.
From zero to a working LMS in 15 minutes.
Multi-year history without rebuilding curriculum.
Points, weighted, pass/fail, status, GPA.
Student, teacher, and parent portals.
Drop-in shortcodes for the whole front-end.
Built-in transactional delivery with auto-fallback.
Activate paid modules with a license key.
New add-ons appear inside your admin automatically.
Welcome to TradeSchool Manager. This walks you through the first 15 minutes of setup.
Visit TradeSchool → Settings → General and set:
Open TradeSchool → School Years and add a year with start and end dates. The current year becomes the default Active Year. Use the year switcher in the admin topbar to jump between years.
A program is a multi-year course of study (e.g. "HVAC Technician - 1 Year"). Each program holds multiple classes. Create them under TradeSchool → Classes, assign a teacher, choose a grading method (points / weighted / pass-fail), and start adding assignments under TradeSchool → Assignments.
Add students manually under TradeSchool → Students, or with the Applications add-on, open enrollment to the public and convert applicants to students with one click.
Create three WordPress pages and paste the matching shortcode into each:
[tsm_student_login][tsm_student_portal][tsm_teacher_portal]Then go to Settings → Portal Pages and select each page from the dropdown. Students and teachers will be redirected to the right page after login.
School years are the spine of TradeSchool Manager. Every roster, gradebook entry, and report card is scoped to a year.
A global switcher in the admin topbar lets each user pick which year they're working in. Dashboards, student lists, gradebooks, and reports all respect this selection. Workshops are intentionally outside school years and remain visible regardless.
When a new academic year begins, run School Years → Rollover and pick a source year. The rollover:
Mark a year archived to lock it. Archived years are read-only; classes, grades, and assignments can no longer be edited or deleted. Reports and PDFs from archived years still render normally. Dropped students stay attached to their original year for transcript continuity.
Each class can use one of three grading methods. Pick whichever fits how the class is actually taught.
Every assignment is worth a fixed number of points. The class grade is (points earned / points possible) × 100. Best for traditional, accumulative courses.
Assignments are grouped into categories (Homework, Labs, Final, etc.), each with a weight that sums to 100%. The class grade is the weighted average of category averages. Best for courses where one bad quiz shouldn't tank the final grade.
No points, no percentages, just Pass or Fail per assignment, with a class-level threshold (e.g. 80% of assignments must pass). Pass/fail classes with no graded work yet show "—", never "Fail".
Every grade row carries a status that drives whether and how it counts toward the class average:
| Status | Counts? | Earned value |
|---|---|---|
| Ungraded | No | — |
| Completed On-time | Yes | Raw × (1 − Late Penalty %) + Bonus |
| Completed Late | Yes | Raw × (1 − Late Penalty %) + Bonus |
| Incomplete | Yes | 0 |
| Missing | Yes | 0 |
| Excused | No | — |
| Excluded | No | — |
Assignments you haven't entered yet don't drag a student's grade down, they stay Ungraded until you grade them. Per-row fields: Bonus, Late Penalty %, Submitted Date (auto-stamped, editable), and Comments.
Edit the global letter-grade scale under Settings → General → Grading Scale. One letter per line:
A: 90
B: 80
C: 70
D: 60
The plugin ships three front-end portals, each a single shortcode you drop on a WordPress page.
[tsm_student_portal]Tabs: Overview, Grades, Assignments, Payments & Invoices, Certificates, Workshops, Settings. Students see only their own data. The Settings tab also hosts My Documents if the Custom Fields & Student Documents add-on is installed. Pass/fail classes with no graded work show "—" instead of a misleading "Fail".
[tsm_teacher_portal]Tabs: Classes, Gradebook, Attendance, Announcements. Teachers see only their assigned classes. Includes the Active School Year switcher.
[tsm_parent_portal]Read-only view of every linked student: grades, attendance, announcements, payment status. Parents are created from the Parents admin screen and emailed a secure invite link.
The portals inherit your theme's typography and the plugin's Brand Color automatically. There are no separate "portal theme" knobs, keep the brand consistent in one place.
The full, live list lives at TradeSchool → Shortcodes inside the admin (with a copy-to-clipboard button on each one). It automatically includes shortcodes registered by any installed add-ons.
[tsm_student_login] - student sign-in form[tsm_student_portal] - student portal[tsm_student_gradebook] - standalone gradebook view[tsm_student_payments] - standalone payments view[tsm_teacher_login] - teacher sign-in form[tsm_teacher_portal] - teacher portal[tsm_parent_portal] - parent portal (read-only)[tsm_parent_signup] - parent invite acceptance / password-set form[tsm_applications], [tsm_application_form], [tsm_application_thank_you][tsm_program_price], [tsm_contract_sign], [tsm_pay_invoice][tsr_my_reports]TradeSchool Manager sends transactional email (parent invites, payment receipts, certificate notifications, etc.). You have two delivery paths.
Do nothing. The plugin sends through wp_mail(). Any reputable SMTP plugin (WP Mail SMTP, Fluent SMTP, Post SMTP, etc.) will route those messages through your provider.
Brevo (formerly Sendinblue) offers a free transactional plan with 300 emails/day. To enable:
The plugin tracks your daily send count and automatically falls back to wp_mail() if you hit the 300/day cap, so no email is ever silently dropped.
The core polls https://tradeschoolmanager.com/wp-json/tsm/v1/addons daily. New add-ons show up under TradeSchool → Add-ons in your admin automatically - click Get add-on to be sent straight to Freemius checkout.
Email [email protected] or browse the community forum.