Product updates

What's new in TeachHero

The fixes, improvements, and new features we ship — as they happen.

October 2026

Oct 16, 2026

New

Welcome your families to the parent portal

Getting families into the portal used to mean writing your own instructions and hoping they matched what you'd turned on. Now TeachHero writes them for you.

New: Family onboarding

Under Website & Portal → Family onboarding, TeachHero builds a short letter that walks families through signing in and getting set up. The steps follow your settings, so families only read about what your school uses.

  • Download PDF to print or attach it. It carries a QR code that opens your sign-in page.
  • Email families to open it as a draft to your parents and guardians, then edit and send.

New: Get set up card for parents

Parents now see a Get set up card on their portal Home with the same steps. Each one ticks off as they finish it, and the card closes itself when they're done.

There's nothing to turn on. See Welcome Your Families to the Parent Portal.

Oct 15, 2026

Improved

Aim fee discounts at a group of families

Staff-family pricing, member rates, and scholarships used to mean adding the same discount by hand to each family's invoice. Now the discount on a fee can do that for you.

Improved: Choose who gets a fee discount

  • When you add a discount to a fee, Who gets this discount? lets you pick Everyone, one or more Saved groups, or Build an audience right there — parents who are teachers, students in a grade, families with a student in a class.
  • A student qualifies if they, or a parent in their family, is in the group. Brothers and sisters don't count, so a Grade 5 discount stays with Grade 5.
  • A student needs to match both the group and Applied when. The discount is applied when the student enrolls, as before.
  • While building an audience, turn on Save this group for next time to reuse it for other discounts, enrollment periods, and emails.
  • If a saved group behind a discount is deleted, the discount stops applying and shows Group deleted until you choose again. It never falls back to everyone.

Improved: One row per discount

  • In Fees & Discounts, each discount now sits on its own row under its fee. Use the ... menu on a fee to Add discount, and on a discount to Edit discount or Remove discount.
  • Existing discounts work as they did and apply to everyone until you choose a group.

Improved: Enrollment periods

  • An early-access period aimed at parents now lets their children enroll during it.
  • Switching a period back to Everyone now opens it to everyone.

Help articles updated: Managing Discounts and Enrollment Periods.

September 2026

Sep 09, 2026

Improved

Parents can find an open volunteer shift at a glance

A parent told us what sign-up night looks like from their side: open the Sign up tab, pick an opportunity, then scroll every date underneath it looking for one that still has room. If you run weekly shifts across a term, that's a long list — and plenty of it is already full.

The Sign up tab now does that hunting for them.

Improved: Open spots, grouped by opportunity

  • Each opportunity is a section with the number of open spots on its header. Anything with room sorts to the top and opens automatically; the rest collapse to a single line.
  • Every date shows its times and how many spots are left — 2 of 5 spots open — with Sign up beside it. No more opening a date to find out it's taken.
  • Parents see the next 30 days to start. They can widen the range, pull up one opportunity's full schedule with Show more dates, or turn off Only show openings to see full dates too.
  • About this opportunity shows the description you wrote without leaving the page.
  • Opportunities with no set dates keep working the same way — one row, one Sign up.

Improved: Families can see what they already took

A date someone in the family has signed up for stays on the list with their name on it, even once it fills. Checking what the family already committed to no longer means a trip to the Timesheets tab.

Fixed: Shifts with room that wouldn't accept anyone

If you increased the people needed on a shift that was already full, it kept reading as full and parents got a greyed-out Sign up button. Those shifts now reopen the moment you add the spots.

There's nothing to turn on, and nothing changes on your side — your opportunities and shifts stay exactly as you set them up.

Sep 01, 2026

New

Move charges to another invoice, apply payments by family, and catch unbilled students

A charge lands on the wrong bill more often than anyone likes to admit — a fee that belongs on January's invoice instead of September's, or a family with three open invoices who'd rather have one. Until now the fix was delete, re-key, re-apply. This update makes it one step, and clears up a few other places where money was harder to follow than it should be.

New: Move a charge to another invoice

  • On an invoice's items table, each row has a Move to another invoice action, and selecting several rows offers the same as a bulk action. Pick the destination from a list of the student's other invoices, each showing its due date (or Draft) and current balance.
  • Any payment, credit, or refund already applied to that charge goes with it, so the payment history stays attached to what it paid for. Interest and installment schedules are recalculated on both invoices, and both invoice timelines record the move.
  • Before you confirm, the window tells you what each invoice's total will be afterward. It also warns when the destination is a draft (the charge won't count toward the family's balance until you publish it), when the move would leave the source fully paid, when a discount for that enrollment would be left behind, and when the two invoices charge interest differently.
  • A move only ever goes between invoices for the same student, and only to invoices that are open or draft with autopay off. Interest lines and scheduled fees stay where they are. If you move every item off an invoice, it goes back to a draft.

New: Apply a payment to any invoice in the family

  • In a payment's Apply to invoice window, you now choose a family rather than the one person an invoice was billed to. Search by family, parent, or student name, and every open invoice billed to anyone in that family is listed — so a payment from one parent can settle an invoice addressed to the other.
  • The invoice list itself is now a proper picker: each invoice shows its number, the student balance it's billed against, and what it still owes, grouped by student so a family with several children reads one child's invoices together. A filter box appears when the list gets long.

New: See which students are unbilled

  • A student whose fees are all still on a draft invoice used to read Paid — settled on paper, never actually asked for. That balance is now badged Unbilled, the amount waiting on drafts shows under the balance, and the balance page lists it alongside the total.
  • A new Unbilled pill on Balances gathers those students, and a Publish draft invoices bulk action sends every draft behind the selected students to their families in one go.
  • When you enroll a student from the admin side, the billing checkbox now reads Create a draft invoice and says plainly that the family won't see it until it's published. The confirmation carries a Publish invoice button so you can do that on the spot.

Improved: Applying a payment to specific items

  • Ticking Apply to specific items on the payment page now lets the item amounts set how much is applied. The Amount applied figure follows the split and goes read-only while it's on, so you're no longer refused against a total you never typed.
  • The item fields start blank rather than pre-filled with the proportional spread, so every dollar is placed deliberately. Switching invoices clears a split entered against the previous one.
  • Typing into the item fields works again. A bug meant the amounts you entered were never sent, so every split was rejected as not adding up.

Improved: Teachers see their own classes

  • A teacher's dashboard schedule, class list, rosters, attendance, classwork, and announcements now cover only the classes they teach. The class announcements list previously showed every teacher's announcements, drafts included.
  • When a teacher composes an email, the recipient picker offers their own classes and the students on those rosters. School-wide audiences — terms, events, and segments — are for admins.
  • We also reviewed access rules across the admin, teacher, and parent portal and tightened them so a record is reachable only by people at that school, and in the portal only by the family it belongs to.

Fixed

  • Parents registering for a term or class that has enrollment forms attached now reach the forms page. Previously the registration was saved but the page errored before showing the forms.
  • The payment step of the parent portal's schedule checkout no longer errors for every family who reached it.
  • Choosing a payment plan at checkout is now a clear radio list per student, instead of a plain dropdown that read as non-interactive.
  • A percentage-off coupon entered on an application now takes the right amount off the application fee. It was being applied as a few cents.
  • The parent portal's balance page no longer lists voided invoices. The per-row download button is gone too; download an invoice from the invoice page itself.
  • The parent portal's timesheets list now respects the term picker, which is now labelled View by term.
  • Email subjects longer than 191 characters show a validation message instead of breaking the composer on every keystroke. The same cap applies to template subjects.
  • Long values in many other fields — school name, coupon codes, student IDs, names, fee and discount type names, classwork titles, and more — now show a validation message instead of a server error.
  • The Emails and Forms tabs on a person's record now list newest first.
  • When adding classwork, the grading category list shows your categories again. It had been empty.
  • When a pending payment is canceled, every invoice it was applied to now updates its balance.
  • The Connect Google account button on the Google Classroom page works again.

Help articles updated: Student Balances, Payments, Invoicing, and Enrolling a Student.

August 2026

Aug 27, 2026

New

See when a family's email address stops working

An address goes dead — the mailbox is closed, the domain has a typo, or a parent marked one of your emails as spam — and until now the only sign was that the family stopped replying. TeachHero now flags those addresses, stops sending to them, and shows you exactly who needs chasing for a current one.

New: Blocked addresses are flagged on the contact

  • A contact whose address has stopped accepting mail carries a red Email delivery badge on their profile, with the reason: Email bouncing, Marked as spam, or Email blocked. The same badge shows next to them in Contacts → All Contacts.
  • A new Email blocked filter in the contacts list gathers every affected family in one place — useful at the start of an enrollment season.
  • The block belongs to the address, not the person. Put a working address on the contact and the badge clears as you save.

New: Nothing is sent to a blocked address

  • Email broadcasts skip those recipients rather than sending into a void, and the automatic emails do the same — invoices and payment reminders, receipts, application and waitlist updates, and the login codes parents use to sign in to the parent portal.
  • In an email's Recipients list, a blocked recipient shows a Skipped status; hover the badge for the reason. When any recipient was skipped, a Skipped total joins Delivered, Failed, and Pending at the top of the page.
  • Resend still works: correct the address in the box and the message goes out to the new one.

Improved: Bounces are recorded against the recipient

  • An email that's accepted and then bounces no longer sits there reading Delivered. That recipient moves to Bounced, and hovering the badge shows the reason the receiving provider gave.

New help article: Blocked Email Addresses.

Aug 25, 2026

New

Apply a payment to specific invoice items

When a payment is meant for one thing — a charter that covers a single class, a sponsor paying for materials — you can now put it exactly there, and see where every dollar of a payment went.

New: Apply a payment to specific items

  • By default a payment is still spread across an invoice's charges in proportion to what each one owes. Tick Apply to specific items — in the Apply to invoice window on a payment, or the Make Payment window on an invoice — and set the amount for each charge yourself. The fields open pre-filled with the proportional split, each one says how much it can take, and the amounts must add up to what you're applying.
  • What you set carries through everywhere: the student's balance, the family's receipt, the Revenue report grouped by class, and the QuickBooks sync.

Improved: See where a payment went

  • A payment's Applied to table now lists one row per invoice charge — the invoice, the item (for example "PE — Tuition"), the student balance it belongs to, and the amount — instead of one row per invoice. Edit adjusts a single charge's amount and Remove takes back just that row.
  • You can apply more of a payment to an invoice it already partly covers. The invoice picker shows how much came from this payment, and the new amount is added on top of what's there.
  • Receipts and the family's payment page in the portal now name each item by its invoice line, with the term, student, and invoice number beneath it — so a payment for PE tuition and one for PE materials no longer read the same.

Fixed

  • Recording a payment from an invoice no longer writes a $0.00 item against discount lines, so they don't clutter the payment's items or reach QuickBooks.
  • The parent portal's This week calendar only shows classes that are in session in the current term, and — like the admin calendar — hides class sessions on published all-day holidays and no-school days. The holiday itself still shows.
  • A program catalog block on your school website that's pinned to a specific term now lists only that term's programs.

Aug 24, 2026

New

Summer 2026 update: text alerts, fee pass-through, QuickBooks & more

This is our biggest release in a while. You can now text your families, pass card and bank fees on to parents at cost, sync your payments to QuickBooks and your classes to Google Classroom, publish a real school website without a designer, and get set up faster with a guided checklist. Here's everything that's new — and if you'd like the plain-English story behind it, read our summer 2026 roundup on the blog.

New: Text Alerts

  • Send a text-message broadcast to the same audiences you already email — segments, individual people, students, programs, or classes — right away or on a schedule, with a live character counter and per-recipient delivery results.
  • The old Email area is now Communication, holding your emails, templates, and text alerts in one place.
  • Parents can get their sign-in code by text instead of email when they log in to the portal.
  • Staff can turn on text-message two-factor sign-in for an extra layer of security on their own account.
  • Volunteers get shift details by text and can reply YES or NO to confirm or decline, plus an automatic reminder the day before their shift.
  • Each school texts from its own local number after a one-time carrier registration. Every message starts with your school's name, and families can reply STOP at any time. Text Alerts is a $15/month add-on on every plan; on Scale, it's written into your contract.

New: Pass processing fees on to families

Where local rules allow, turn on one switch and the cost of processing the payment — Stripe's card or bank fee, with no TeachHero markup — is added to the family's total at checkout, so more of your tuition stays with your school. The fee is itemized on every receipt. A few states prohibit surcharging card payments (currently Connecticut, Maine, Massachusetts, and Puerto Rico), and the option is unavailable if your school's address is in one of them.

New: QuickBooks Online sync

Connect QuickBooks Online and your settled payments flow in automatically as sales receipts, with refunds recorded as refund receipts. Map your charge types to the right QuickBooks items and backfill past payments from a start date you choose. It's a one-way sync (TeachHero into QuickBooks) and it's included in every plan at no extra charge.

New: Google Classroom

Connect Google Classroom to create or link a Google course for each of your classes, add enrolled students to the roster automatically, and pull published grades back into your TeachHero gradebook. Included in every plan at no extra charge.

New: Flexible billing

  • Per-fee due dates. When you add a fee, choose when it's due: right away at checkout, on a specific date, or spread across the family's payment plan.
  • Fee-scoped discounts. Apply a discount to one specific fee — say, tuition but not materials — instead of the whole bill.

New: Emergency contacts

There's a new Emergency Contact role for the people in your school. Parents can mark a family member as an emergency contact right from the portal, and admins can set it on the person form. Phone and email are required, so you always have a reachable contact on file.

New: Build your school website

  • Portal Pages. Turn on a public website for your school — home, about, leadership, teachers, admissions, a class and program catalog, and contact — by filling in forms. No web designer needed.
  • Events calendar page. Publish a filtered calendar of your events for families and prospective parents to browse.
  • School blog. Write posts and publish them to a news or parent-hub page on your site.

New: Guided setup and an in-app Help Center

  • A dedicated Setup page with a checklist that adapts to your plan, points you to your next best step, and celebrates progress as you go. A short series of setup emails nudges you along, and you can stop them anytime.
  • A built-in Help Center with searchable guides, reference articles, and video tutorials. Help links throughout the app now take you straight to the right article.

Improved: Money and records

  • Automatic receipt emails. Families now get an emailed receipt with the PDF attached the moment a payment succeeds.
  • Per-student statements. Download a clean statement PDF for a student's school year — fees, discounts, the payment-plan schedule, payments made, and the remaining balance. Available to admins and to families in the portal.
  • Attendance in the portal. Parents and students can now see a read-only attendance summary and log for each class.
  • Bulk class import. Add a whole term's classes at once from a CSV instead of one at a time.

Improved: A refreshed look

  • A cleaner interface. The app has a fresher, easier-on-the-eyes design. Your navigation stays put — everything's in the same place, just tidier.
  • A redesigned parent portal. The family and student experience has been rebuilt for smoother, simpler navigation, so parents spend less time hunting for what they need.

Behind the scenes

We also rebuilt the platform on the latest version of our underlying framework. Together with the refreshed look above, it makes everything a little faster and sets us up to ship the next round of updates sooner.

May 2026

May 11, 2026

New

Seats are now held while families check out

When a parent adds a class to their schedule, that seat is now held for them for 30 minutes while they finish checking out. No more two families racing for the last spot and one ending up disappointed (or you ending up issuing a refund).

What you'll see in admin:

  • Seats Remaining in your classroom and program views now subtracts anyone currently in checkout, so the number you see is the number actually available to enroll.
  • A new active holds count shows how many families are mid-booking on a class right now.
  • If a family doesn't finish checking out within 30 minutes, the seat is released back to the pool automatically.

What families see:

  • A countdown timer on the schedule and checkout screens so they always know how long they have left.
  • A clear message if their hold expires, with a one-click way to try again.

This is on for everyone — nothing to configure.

April 2026

Apr 17, 2026

New

Automatic Failed Payment Handling

When a card payment fails, TeachHero now catches it right away and keeps your families and admins in the loop — no more hunting for failed charges in Stripe.

What happens when a payment fails

  • The payment is marked failed with the reason Stripe returned (e.g. "insufficient funds," "expired card")
  • Any invoices tied to that payment are re-opened and their balances recalculated
  • Auto-pay is turned off on the affected invoices and student balances so the same card isn't retried

For parents

  • A branded email is sent from your school letting them know the payment didn't go through
  • The email shows the card used, the reason it failed, and a button that takes them straight to the billing page to update their payment method

For admins

  • A failed-payment alert now appears at the top of the invoice view whenever the most recent auto-pay attempt failed, so you can see at a glance which invoices need attention
  • Admins are notified when a payment fails, with links to the affected invoices and balances

March 2026

Mar 29, 2026

New

Class Schedule Builder & Billing Improvements

New: Class Schedule Builder

  • Added a timetable-based schedule builder that lets families browse and select classes visually by time slot
  • Families can now enroll multiple students into multiple classes at once and make a single payment
  • The schedule builder automatically prevents period conflicts — you'll see a warning if a selected class overlaps with another
  • Each student group shows a section total at checkout for easy cost review

Improved: Enrollment Checkout

  • Redesigned the enrollment checkout pages with a cleaner layout
  • Payment plan options are now hidden for upfront-only fees to reduce confusion

Improved: Payment Plans & Installments

  • Balance installments are now tracked at the balance level, giving a clearer picture of what's owed and what's been paid
  • Payment plans get set up per schedule, with classes and programs automatically opted in

Improved: Portal Experience

  • Added a new student balance view with installment schedule and related invoices and payments

Improved: Admin Interface

  • Added dedicated description edit pages for classrooms and programs