Title: TradeSchool Manager
Author: CJ Burleigh
Published: <strong>June 13, 2026</strong>
Last modified: June 13, 2026

---

Search plugins

![](https://ps.w.org/tradeschool-manager/assets/banner-772x250.png?rev=3571204)

![](https://ps.w.org/tradeschool-manager/assets/icon-256x256.png?rev=3571204)

# TradeSchool Manager

 By [CJ Burleigh](https://profiles.wordpress.org/cburleigh/)

[Download](https://downloads.wordpress.org/plugin/tradeschool-manager.1.1.19.zip)

 * [Details](https://wordpress.org/plugins/tradeschool-manager/#description)
 * [Reviews](https://wordpress.org/plugins/tradeschool-manager/#reviews)
 *  [Installation](https://wordpress.org/plugins/tradeschool-manager/#installation)
 * [Development](https://wordpress.org/plugins/tradeschool-manager/#developers)

 [Support](https://wordpress.org/support/plugin/tradeschool-manager/)

## Description

**TradeSchool Manager** is a purpose-built student-information and gradebook plugin
for trade schools, vocational programs, certification academies, apprenticeships,
and hands-on training providers. Everything runs inside your own WordPress install–
no SaaS accounts, no per-student fees, no monthly subscriptions for the free core.

Built and maintained by **CJs Web Service** ([cjswebservice.com](https://cjswebservice.com/)).
Product home, demos, and documentation live at [tradeschoolmanager.com](https://tradeschoolmanager.com/).

#### Why TradeSchool Manager?

Most school plugins are built for K-12 or higher-ed and bury trade-school workflows
under features you’ll never use. TradeSchool Manager starts from the trade-school
workflow:

 * Cohort-based **programs** that run across **school years**, with a one-click 
   rollover that copies class definitions and assignments into the new year while
   preserving every prior year’s grades, rosters, and attendance untouched.
 * A **gradebook** that supports points, weighted categories, **and pass/fail** (
   because hands-on competencies aren’t a percentage).
 * A global **Active School Year** switcher so dashboards, rosters, and gradebooks
   always reflect the year you’re actually working in.
 * Admin-side, branded, print-ready **PDF report cards and class rosters** out of
   the box.
 * **Student and teacher portals** as front-end shortcodes you drop onto any WordPress
   page – no separate app to host.

#### What’s in the free core

 * **Students & Teachers** – Profiles with photos, emergency contacts, and portal
   credentials.
 * **Sponsors & Authorized Contacts** – Optional accounts for family members, employers,
   sponsors, or other approved contacts linked to one or more students.
 * **Programs & School Years** – Multi-year programs with enrollment, GPA computation,
   year rollover, and historical preservation.
 * **Classes & Gradebook** – Points-based, weighted-category, or pass/fail grading;
   assignment categories; extra credit; teacher-scoped views.
 * **Attendance** – Daily attendance tracking with per-class and per-student reports.
 * **Announcements** – Post school-wide or class-specific announcements visible 
   in the portals.
 * **Student, Teacher, and Sponsor Portals** – Front-end shortcodes for grades, 
   assignments, rosters, payments, and linked-student access.
 * **CSV Import/Export** – Move students, classes, and assignments without lock-
   in.
 * **Admin PDF Reports** – Unified PDF engine renders administrator report cards,
   class rosters, and statements on your school letterhead.
 * **Active School Year context** – One global switcher scopes every list, dashboard,
   and gradebook.
 * **Email delivery via Brevo** – Built-in, optional. 300 transactional emails/day
   on Brevo’s free plan; automatic fallback to native `wp_mail()` if the daily cap
   is reached. You can also skip Brevo entirely and use whatever SMTP plugin you
   already run.

#### Optional paid add-ons

The free core is fully functional on its own. These capabilities ship as separate
add-on plugins from [tradeschoolmanager.com](https://tradeschoolmanager.com/) and
are detected at runtime – any UI tied to an add-on stays hidden when that add-on
isn’t installed.

 * **Certificates** – Auto-issued PDF certificates of completion with reminder emails.
 * **Reports & Transcripts** – Multi-year transcripts, summary report cards, GPA,
   credits.
 * **Workshops** – Short-form, year-agnostic courses with their own gradebook and
   completion certificates.
 * **Applications** – Public application forms and an admissions pipeline.
 * **Invoicing & Contracts** – Tuition invoicing, payment plans, e-sign contracts,
   and optional Stripe checkout.
 * **Custom Fields & Student Documents** – Per-program metadata plus audit-logged
   document uploads for government compliance.

#### Who it’s for

 * Trade schools (electrical, plumbing, HVAC, welding, automotive, construction)
 * Cosmetology, esthetics, and barbering schools
 * CDL, heavy-equipment, and aviation training
 * Allied health, nursing assistant, and phlebotomy programs
 * Coding bootcamps and short-form vocational programs
 * Apprenticeship and union training programs
 * Anyone running cohort-based, hands-on training out of WordPress

#### External services

The free plugin makes **no calls to external services** until you opt in to Brevo
email delivery (which requires a free Brevo account and an API key). Optional add-
ons may integrate with Stripe (payments); those add-ons are downloaded separately
and have their own privacy disclosures.

 * Brevo (optional, free core): Transactional email via the Brevo HTTP API. Only
   the message payload (to/from/subject/body) is sent, and only when you supply 
   an API key in **TradeSchool > Settings > Email**. Brevo terms: [brevo.com/legal/termsofuse](https://www.brevo.com/legal/termsofuse/).
   Privacy: [brevo.com/legal/privacypolicy](https://www.brevo.com/legal/privacypolicy/).

#### Support & contributing

 * Product site, demos, docs: [tradeschoolmanager.com](https://tradeschoolmanager.com/)
 * Author: CJs Web Service – [cjswebservice.com](https://cjswebservice.com/)
 * Issues and feature requests: through the WordPress.org support forum for this
   plugin

## Screenshots

[⌊Admin dashboard with class averages and active-school-year context.⌉⌊Admin dashboard
with class averages and active-school-year context.⌉[

Admin dashboard with class averages and active-school-year context.

[⌊Student profile management with enrollment, class, and portal account details.⌉⌊
Student profile management with enrollment, class, and portal account details.⌉[

Student profile management with enrollment, class, and portal account details.

[⌊Gradebook entry with weighted categories and extra credit.⌉⌊Gradebook entry with
weighted categories and extra credit.⌉[

Gradebook entry with weighted categories and extra credit.

[⌊Program setup with schedule, passing percentage, and tuition defaults.⌉⌊Program
setup with schedule, passing percentage, and tuition defaults.⌉[

Program setup with schedule, passing percentage, and tuition defaults.

[⌊Attendance session history with roster status details.⌉⌊Attendance session history
with roster status details.⌉[

Attendance session history with roster status details.

[⌊Student portal payments and profile overview in the focused portal layout.⌉⌊Student
portal payments and profile overview in the focused portal layout.⌉[

Student portal payments and profile overview in the focused portal layout.

[⌊Teacher portal class assignment view with workshop access and grading actions.⌉⌊
Teacher portal class assignment view with workshop access and grading actions.⌉[

Teacher portal class assignment view with workshop access and grading actions.

## Installation

 1. Upload the plugin via **Plugins > Add New > Upload Plugin**, or extract to `/wp-
    content/plugins/tradeschool-manager/`.
 2. Activate **TradeSchool Manager** through the **Plugins** screen.
 3. Visit **TradeSchool > Settings** to set your school name, logo, currency, and email-
    from address.
 4. Create your first **School Year**, then your first **Program** and **Classes**.
 5. Create dedicated WordPress pages for the portals and add the shortcodes (see **
    TradeSchool > About** for the full list):
 6.  * `[tsm_student_portal]`
     * `[tsm_teacher_portal]`
     * `[tsm_parent_portal]`

## FAQ

### Does the free plugin require a license key or external account?

No. The free plugin runs entirely on your own WordPress install with no key validation
and no calls home. Email via Brevo is opt-in and requires only a free Brevo account.

### Can I migrate to a new school year without losing history?

Yes. The Year Rollover tool copies class definitions and assignments into a new 
year while preserving the source year’s roster, grades, and attendance exactly as
they were. Prior-year report cards and reports continue to render correctly forever.

### Can students see only their own data?

Yes. The student portal authenticates against the student record and scopes every
query to that student. Teachers similarly only see their assigned classes. Sponsors
and authorized contacts only see students they’re linked to.

### Does it support pass/fail grading?

Yes. Each class can use points, weighted categories, or pass/fail. Pass/fail classes
with no graded work display ” – ” rather than a misleading “Fail”.

### How do I take payments or issue tuition invoices?

Install the optional **Invoicing & Contracts** add-on from [tradeschoolmanager.com](https://tradeschoolmanager.com/).
The free plugin does not handle invoicing or payments.

### Where are student documents stored?

Document uploads ship in the optional **Custom Fields & Student Documents** add-
on. When installed, files are stored in a private `tsm-private/student-docs/` directory
inside `wp-content/uploads`, protected by an `.htaccess` deny rule and SHA-prefixed
filenames, with a full upload/download/delete audit log for government chain-of-
custody.

### Does it work with my theme?

Yes. The portals render inside your active theme via shortcodes and inherit your
theme’s colors and typography. Optional portal-theme polish is built in and can 
be disabled per page.

### Is it translation-ready?

Yes. All user-facing strings use the `tradeschool-manager` text domain. WordPress
4.6+ auto-loads translations hosted on WordPress.org.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“TradeSchool Manager” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ CJ Burleigh ](https://profiles.wordpress.org/cburleigh/)

[Translate “TradeSchool Manager” into your language.](https://translate.wordpress.org/projects/wp-plugins/tradeschool-manager)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/tradeschool-manager/),
check out the [SVN repository](https://plugins.svn.wordpress.org/tradeschool-manager/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/tradeschool-manager/)
by [RSS](https://plugins.trac.wordpress.org/log/tradeschool-manager/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.19

 * Fixed PDF generation when the saved school logo URL cannot be read by TCPDF on
   the server.
 * Shared PDF headers now resolve Media Library images to local upload paths and
   fall back to the school name when needed.
 * Added admin download buttons for core report-card PDFs and class roster PDFs 
   under Gradebook > Class Reports.
 * Kept student-facing report-card downloads reserved for the Reports & Transcripts
   add-on.

#### 1.1.18

 * Reordered the branded admin sidebar into Manage, Add-ons, and System sections.
 * Added core fallback sidebar entries for installed add-ons so Certificates and
   Applications appear consistently.
 * Hid the default WordPress admin footer on TradeSchool Manager screens.

#### 1.1.17

 * Fixed student portal tab actions so links and panels initialize reliably in the
   focused portal layout.
 * Fixed teacher portal subtab initialization timing for class and add-on views.

#### 1.1.16

 * Converted remaining first-party inline portal, sponsor, email, add-on, and admin
   UI assets to WordPress enqueue APIs.
 * Updated extension hook names and uninstall cleanup symbols to the long `tradeschool_manager_`
   prefix for Plugin Check.
 * Updated bundled Chart.js to 4.5.1 and TCPDF to 6.11.3.
 * Kept first-run and add-on notices limited to TradeSchool Manager admin screens.

#### 1.1.15

 * Limited first-run and add-on data notices to TradeSchool Manager admin screens.
 * Converted reviewer-named inline portal/theme, feedback, attendance, page-title,
   and focus-mode assets to WordPress enqueue APIs.
 * Sanitized grade, class, student, and program hook payloads before passing data
   to extension hooks.
 * Sanitized preserved active-year request values before reuse.
 * Added the requested WordPress.org contributor username to the readme.

#### 1.1.14

 * Added narrow PHPCS suppressions for intentional public extension hooks that Plugin
   Check does not accept through its inferred prefix.

#### 1.1.13

 * Updated custom extension hooks to start with the literal `tradeschool-manager`
   plugin slug used by Plugin Check.
 * Scoped uninstall cleanup variables inside a local closure so the uninstall routine
   does not declare temporary globals.

#### 1.1.12

 * Updated extension hook names and uninstall helper names to the long `tradeschoolmanager_`
   prefix used for Plugin Check inference.

#### 1.1.11

 * Renamed core extension hooks to a registered plugin prefix for WordPress Plugin
   Check compliance.
 * Cleaned uninstall-only variable and helper names so the uninstall routine passes
   prefix checks.

#### 1.1.10

 * Updated the Add-ons settings screen to use stable Freemius license routes for
   Reports & Transcripts and Workshops.

#### 1.1.9

 * Resolved WordPress Plugin Check naming warnings for core teacher portal and grade-
   save hooks.
 * Cleaned uninstall helper naming to use the full TradeSchool Manager prefix.
 * Normalized the main plugin file line endings for repository checks.

#### 1.1.8

 * Added invoice context fields so add-ons can link invoices to a specific workshop
   instance or other future record.

#### 1.1.7

 * Moved the core class report into a Gradebook tab.
 * The dedicated Reports navigation now appears only when the Reports & Transcripts
   add-on is installed.

#### 1.1.6

 * Added teacher portal extension hooks for add-ons.
 * Enables the Workshops add-on to show assigned workshop dashboards inside the 
   teacher portal.

#### 1.1.5

 * Improved the shared PDF engine so add-ons can render wide reports in landscape
   layout.
 * Aligned the plugin header version and runtime version constant.

#### 1.1.4

 * Moved Stripe setup out of core Settings navigation and pointed administrators
   to Invoicing > Stripe.

#### 1.1.3

 * Updated the Add-ons settings screen to use Freemius license popup triggers for
   inactive registered add-ons, matching the working Plugins screen activation flow.

#### 1.1.2

 * Improved the Add-ons settings screen so inactive Freemius add-ons point to license-
   key activation and show the correct inactive state.

#### 1.1.1

 * Updated the Add-ons dashboard to use stable add-on license management pages instead
   of direct Freemius account URLs.

#### 1.1.0

 * Stable launch release of TradeSchool Manager.
 * Students, teachers, classes, programs, school years, and year rollover.
 * Status-driven gradebook with weighted categories, bonus, late penalty, and per-
   assignment entry screens (admin + teacher portal).
 * Student, teacher, and sponsor portals with branded layouts, password management,
   and portal page setup.
 * Attendance, assignments, announcements, and built-in PDF engine for report cards
   and transcripts.
 * CSV import/export for students, classes, and grades.
 * Email notifications with native wp_mail() delivery settings, sender identity 
   controls, template review, and activity logging.
 * Setup Checklist, in-admin Documentation, and Shortcodes reference on the About
   page.
 * Add-on framework for optional Certificates, Reports & Transcripts, Workshops,
   Applications, Invoicing & Contracts, and Custom Fields & Student Documents.

## Meta

 *  Version **1.1.19**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [attendance](https://wordpress.org/plugins/tags/attendance/)[GradeBook](https://wordpress.org/plugins/tags/gradebook/)
   [lms](https://wordpress.org/plugins/tags/lms/)[school](https://wordpress.org/plugins/tags/school/)
   [students](https://wordpress.org/plugins/tags/students/)
 *  [Advanced View](https://wordpress.org/plugins/tradeschool-manager/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/tradeschool-manager/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/tradeschool-manager/reviews/)

## Contributors

 *   [ CJ Burleigh ](https://profiles.wordpress.org/cburleigh/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/tradeschool-manager/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://tradeschoolmanager.com/)