Eduvella

Changelog

What's new in Eduvella. Newest at the top.

2026.06

Platform admin console + billing engine polish

  • Public /pricing page reading the live catalog — what you see is what you'll pay.
  • Optional coupon codes on subscribe (percentage or fixed kobo). VAT applied on the discounted amount per Nigerian B2B rules.
  • Customer self-serve 'Update card' flow — a ₦100 verification charge captures the new authorization, then it's refunded.
  • Smarter dunning emails — three distinct templates (gentle / escalation / final notice) based on which retry attempt failed.
  • Platform admin console at /admin: schools list with search and 7 filter chips, per-school drill-down, global billing dashboard with 12-month revenue chart, settlement reconciliation viewer, plan & coupon catalog editors, system page with cron status, audit and event viewers.
  • Support actions on the drill-down: mark invoice paid, force suspend, force restore (no charge), revoke stored card, edit billing contact. Every action writes a billing_audit_event row tagged with the operator's user id.
  • Bulk actions: select N schools, mark-paid or suspend in one go (capped at 200, audit-tagged with a bulk-operation id).
  • Billing audit log: every state change records who did what, when, with before/after JSON. Searchable by action, school, and actor.
2026.05

Billing v2 — platform billing, dunning, suspension UX

  • BillingCustomer / BillingSubscription / BillingInvoice / BillingTransaction / BillingPaymentAuthorization / BillingEvent / BillingAuditEvent / BillingCronRun tables.
  • Catalog-driven plans + add-ons. Three plans (Starter, Growth, Enterprise) + five add-ons (Parent App, CBT Module, SMS Bundle, Extra Storage, Additional Campus).
  • Paystack as charge rail. Stored authorization for unattended renewals.
  • Relay webhook receiver at /api/webhooks/paystack-relay verifying ts.body HMAC with 5-minute replay window.
  • Daily renewal cron with 3-step retry (24h / 48h / 72h) then SUSPEND.
  • 30-day read-only window after suspension before full lockout.
  • Nigerian VAT (7.5%) shown as a separate line on every invoice.
2026.04

Foundation

  • Standalone Eduvella SaaS — lifted from EcclesiaOne and de-Catholicized. NURSERY / PRIMARY / SECONDARY tenants supported in v1.
  • Per-school admin console: dashboard, students, classes, staff, admissions, fees, gradebook, attendance, exams, library, discipline, alumni, communication, public site + builder, announcements, term reports + transcripts (PDF).
  • Parent portal (/my/*) with children's attendance, grades, and fee status.
  • Per-school Paystack credentials for collecting fees from parents (Flow A).
  • Sentry observability, Playwright e2e on 4 golden paths, GitHub Actions CI.
  • RLS enforced on tenant-scoped tables as defense-in-depth (auth-gate.ts remains the source of truth).