Signup analytics improvement.
The signup page now keeps better track of which campaign or link brought a visitor in, so we can understand what's helping new schools find NavEd. No change to the signup experience itself.
See what's new in NavEd. Product updates, new features, and improvements for micro school, co-op, and small school management.
Signup analytics improvement.
The signup page now keeps better track of which campaign or link brought a visitor in, so we can understand what's helping new schools find NavEd. No change to the signup experience itself.
Fix: teacher dropdowns now show only your own school's staff.
When assigning a teacher to a subject or a staff member to a cohort, the selection list could include names of people from other schools. Those lists are now limited to your school's own staff, and a teacher assignment is always confirmed against your school before it's saved.
Club registration payment wording now reads correctly for every school.
The payment confirmation on the club sign-up page now refers simply to "my account" instead of naming a specific school, so the text is accurate no matter which school a family is registering with.
Club sign-up now reminds families that registration fees are non-refundable.
The payment box on the club registration page now clearly states that registration fees are non-refundable, so parents see the policy before they pay.
Fix: guest club & form payments now actually confirm after a successful charge.
A guest could pay successfully (card charged) and see the "registered" page, but the registration could stay on "payment pending" with no transaction recorded — because the webhook that confirms the payment failed when the school had a connected Stripe account. Guest/form charges are destination charges that live on the platform, but the confirmation handler was re-reading the Checkout Session on the connected account, where it doesn't exist, and aborting. Fixed: it now reads in platform context, so the registration flips to confirmed and the payment is recorded.
Fix: guest club checkout no longer says "online payments are not yet set up" for verified schools.
A school whose Stripe account was fully verified could still see "Online payments are not yet set up for this school" at the guest checkout step. The check only accepted the intermediate "complete" onboarding state and rejected the fully-enabled "verified" state. It now accepts both, so a verified school can take guest payments.
See payments that are still in progress on your Payments dashboard.
Your Payments dashboard now has a "Pending / awaiting payment" section showing registrations and form submissions where the payment was started but not yet completed — so an in-flight or abandoned payment is visible instead of silently missing. Each row shows who, what, the amount, and how long it's been pending; anything over an hour is flagged as likely abandoned. The pending total now includes guest club registrations too, not just forms.
Fix: guest club & form payments now confirm reliably after checkout.
When a family paid for a public club registration (or a NavEd form), the charge succeeded at Stripe but the registration could stay stuck on "payment pending" and never show in your Payments dashboard. These one-time payments are destination charges whose completion event arrives at the platform (billing) webhook, which had no code to confirm them — only the (unprovisioned) Connect webhook did. The billing webhook now routes those events to the right handler, so a completed payment flips the registration to confirmed and records the transaction.
Sharper Google search listings for blog posts and the free attendance tracker.
We tightened the titles and descriptions that show up in Google search results so they no longer get cut off mid-sentence — making NavEd easier to find for new families.
Turn a club's public sign-up page on or off yourself.
Each club on your Clubs list now has a Public page on/off toggle. Flip it on to open that club to public guest sign-ups (the "Public" badge and "Copy public link" button appear instantly); flip it off to take it private again — no need to ask us. Toggling public only controls whether the page is reachable; it doesn't change your registration dates or capacity.
Fix: completing annual Checkout no longer accidentally double-subscribes the customer with a monthly plan.
Fix: annual checkout no longer silently fails after a successful purchase.
After completing the annual Checkout, the payment handler was crashing due to an internal error, so your free student limit was never lifted and your subscription plan was never updated. The billing page would then create a duplicate monthly subscription, double-charging customers and showing "You're on the None plan." This is now fixed.
Fix: production deploy no longer fails with "column billing_cycle already exists".
New: Annual pricing now visible on the public pricing page.
The pricing calculator at nav.education/pricing-calculator/ now shows a Monthly/Yearly toggle. Switch to Yearly to see our flat-rate annual plans — Microschool ($99/year, up to 15 students), School ($299/year, up to 40 students), and Co-op ($699/year, up to 100 students) — with all 26 features included in every tier. The existing monthly per-student calculator is unchanged.
New: Monthly/Yearly toggle on the billing tab's Plan Comparison.
You can now switch the Plan Comparison view between monthly per-student tiers and yearly flat-rate tiers right from your billing tab — toggle between "Monthly" (Standard / Premium / Enterprise) and "Yearly" (Microschool $99 / School $299 / Co-op $699) to find the right fit. Each yearly card has a one-click button that takes you to Stripe Checkout for that tier.
Fix: billing page Plan Comparison no longer shows annual plans as $0/student/month.
Fix: billing dashboard no longer triggers a failed invoice-preview request for schools without an active subscription.
Schools on the free plan (first 5 students free, no paid subscription yet) were causing a guaranteed-to-fail Stripe API call on every billing dashboard load. Stripe rejected the request with a 400 error, which was silently swallowed — no user ever saw a crash — but it generated noise in Stripe's API logs on every visit. The billing dashboard now returns immediately without contacting Stripe when there is no active subscription on file.
Fix: adding a student no longer fails with "Reverse for 'annual_tier_upgrade' not found" on the add-student page.
Fix: saving a transcript final-grade override now works.
Setting an official final grade on a transcript could fail with a "network error" message. Saving now goes through reliably. Grades already recorded are unaffected.
Record an official final grade on a student's transcript.
Sometimes a course's official final grade needs to differ from the live gradebook average — a grade your school has confirmed, a credit carried over from an earlier decision, or a correction made after the year has closed. Directors can now set that official grade right on the transcript: open a student's transcript, click the pencil next to a course, enter the final percentage and a short reason, and the transcript, GPA, and report cards all reflect it. Your gradebook and quarter grades are never changed, the adjustment is clearly marked for your records, and you can revert to the calculated grade at any time.
Page 10 of 24
Sign up for NavEd to get notified about new features and improvements
Get Started Free