TS TradeSchool Manager
Documentation

TradeSchool Manager Docs

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.

Getting Started

Welcome to TradeSchool Manager. This walks you through the first 15 minutes of setup.

1. Install the free core

  1. From WP admin, go to Plugins → Add New.
  2. Search for Tradeschool Manager, click Install Now, then Activate.
  3. Open TradeSchool → Setup and run the 4-step wizard.

2. Configure your school

Visit TradeSchool → Settings → General and set:

  • School name (used on every PDF and portal header)
  • School logo URL (square or rectangular, both render cleanly)
  • Brand color (the portals and PDFs all inherit it)

3. Create your first school year

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.

4. Add programs and classes

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.

5. Add students

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.

6. Wire up the portals

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 & Rollover

School years are the spine of TradeSchool Manager. Every roster, gradebook entry, and report card is scoped to a year.

The Active School 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.

Year Rollover

When a new academic year begins, run School Years → Rollover and pick a source year. The rollover:

  • Copies class definitions and assignment structures into the new year, so you don't rebuild your curriculum every year.
  • Does NOT copy rosters, grades, attendance, or dates. The new year starts as a fresh slate.
  • Preserves the source year's data exactly as-is. Historical report cards and reports continue to render forever.

Archiving a year

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.

Gradebook

Each class can use one of three grading methods. Pick whichever fits how the class is actually taught.

Points

Every assignment is worth a fixed number of points. The class grade is (points earned / points possible) × 100. Best for traditional, accumulative courses.

Weighted Categories

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.

Pass / Fail

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

  • Pass - earns credit but is excluded from GPA.
  • Fail - counted as 0% (an F drags the GPA, same as a failing letter-graded class).
  • The transcript shows "P" or "F" for the class with no percentage, credit hours still appear.

Assignment status

Every grade row carries a status that drives whether and how it counts toward the class average:

StatusCounts?Earned value
UngradedNo
Completed On-timeYesRaw × (1 − Late Penalty %) + Bonus
Completed LateYesRaw × (1 − Late Penalty %) + Bonus
IncompleteYes0
MissingYes0
ExcusedNo
ExcludedNo

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.

Grading scale

Edit the global letter-grade scale under Settings → General → Grading Scale. One letter per line:

A: 90
B: 80
C: 70
D: 60

Portals

The plugin ships three front-end portals, each a single shortcode you drop on a WordPress page.

Student Portal - [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".

Teacher Portal - [tsm_teacher_portal]

Tabs: Classes, Gradebook, Attendance, Announcements. Teachers see only their assigned classes. Includes the Active School Year switcher.

Parent Portal - [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.

Branding

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.

Shortcodes

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.

Core shortcodes

  • [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

Add-on shortcodes (when installed)

  • Applications - [tsm_applications], [tsm_application_form], [tsm_application_thank_you]
  • Invoicing & Contracts - [tsm_program_price], [tsm_contract_sign], [tsm_pay_invoice]
  • Reports & Transcripts - [tsr_my_reports]

Email & Brevo Delivery

TradeSchool Manager sends transactional email (parent invites, payment receipts, certificate notifications, etc.). You have two delivery paths.

Option A - Use any SMTP plugin you already run

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.

Option B - Built-in Brevo (recommended)

Brevo (formerly Sendinblue) offers a free transactional plan with 300 emails/day. To enable:

  1. Create a free Brevo account at brevo.com.
  2. Generate an SMTP/API v3 key in your Brevo dashboard.
  3. Paste the key into TradeSchool → Settings (Email section).

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.

Activate add-ons

  1. Buy any add-on on this site.
  2. Download the add-on ZIP from your Freemius account.
  3. Upload via Plugins → Add New → Upload and activate.
  4. Paste your license key when prompted, the add-on auto-validates with Freemius.

Auto-discovery of new add-ons

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.

Need help?

Email [email protected] or browse the community forum.