Parthnex delivers a fully unified, multi-tenant ERP platform designed for modern school networks. Secure database isolation, real-time telemetry tracking, and automated cash flow management built on a scalable cloud framework.
Legacy school software is typically built on fragmented, shared databases with poor access controls and slow server response times. This results in data vulnerabilities, high maintenance costs, and frequent synchronization failures.
Parthnex solves these operational bottlenecks by providing a containerized, multi-tenant cloud application. Each institution runs on its own isolated PostgreSQL database schema, protecting sensitive family, grade, and transaction history.
A unified system mapping the entire operational footprint of your institution.
Automate enrollment registers, applicant processing, file indexing, and portal token creation.
Configure Class Teacher or Subject Teacher modes with automated absentee SMS alerts.
Schedule periods, map teacher rooms, and resolve double-booking conflicts dynamically.
Track payments, sibling concessions, wallets, automated penalties, and payment gateways.
Input marks, configure CBSE/ICSE calculations, and export clean digital grade sheets.
Monitor real-time GPS locations, route boundaries, bus speeds, and battery levels.
Every feature is built to serve real operational demands with zero bloat.
Separate database schemas per school ensuring high security.
System automatically lock target periods to avoid attendance errors.
Apply sibling or custom discount rules directly to accounts.
Track real-time bus locations with active telemetry endpoints.
Import entire class registers or teacher profiles in one action.
Configure custom standard metrics or state grading profiles.
Publish school notices to selected groups via SMS and WhatsApp.
Algorithm prevents assigning a teacher to two places at once.
Organize books, track reservation dates, and auto-bill penalties.
Record all financial updates, modifications, and invoices.
Auto-generate warnings when students are absent during roll call.
Cross-school database access for notes and past papers.
Toggle attendance settings by standard grades.
Connect physical biometric sensors to the school network database.
Separate admission, quarterly tuition, and transport fee schedules.
Accept advanced fee deposits and store balance in internal wallets.
Gated API calls requiring JWT token signatures for security.
Daily offsite backup snapshots stored in encrypted object layers.
Full system theme preference stored locally on user devices.
Protect historic student records with soft database deletes.
Track teacher attendance, calculate salaries, and pay slips.
Generate alerts if a school transport vehicle exceeds limits.
Manage hostel allocations, room numbers, and parent details.
GPS trackers store coordinates in networks deadzones.
Compute performance and grade trends automatically.
Apply local board or international grading system schemas.
Map individual school subdomains to the system core.
Print dynamic UPI QR codes directly on parent invoices.
Log administrator modifications with user IP references.
Scale API servers dynamically to handle peak traffic load.
Serve static assets and PDF report cards from local edge nodes.
Configure daily fines for late payments automatically.
Allow students to view their schedule right in the portal.
Push critical notices straight to parents' verified WhatsApp.
Teachers draft digital lesson scopes directly in the app.
Verify exactly where school vehicles are on active maps.
Configure optional subject streams for senior standards.
Both admin and teachers operate in the same app architecture.
Continuous database cluster operations with automated hot standbys.
Trigger alerts for pending balances with direct payment links.
A double-entry cash flow ledger engine mapping school collections, refunds, and invoices.
Parthnex integrates with major processing networks (Razorpay, Cashfree, Stripe) to allow direct online transactions. Parents can settle fee invoices using card transactions, net banking, or direct UPI payments. Invoices display unified QR codes to simplify payments.
Every transaction writes an immutable record to the ledger database. Administrators can track manual adjustments, sibling concessions, installment updates, and late-fee calculations with full user ID and IP address references.
Parthnex ERP runs on a modern, containerized, multi-tenant backend built for high uptime.
All database tables are encrypted at rest with 256-bit AES algorithms. Communications are secured via TLS 1.3 endpoints with role-based JWT access keys.
API servers scale horizontally during high-traffic events (such as fee deadlines). Caching is optimized using Redis instances to achieve sub-100ms response times.
Automated database snapshots are written daily to separate storage zones, ensuring disaster recovery capabilities with minimal RPO.
See why modern institutions choose Parthnex over legacy offline databases.
| Operational Category | Traditional Legacy ERPs | Parthnex ERP Platform |
|---|---|---|
| Database Security | Shared database tables. Data leak risks are high. | Isolated DB Schemas. 100% tenant separation. |
| Vehicle Tracking | Manual driver updates or separate expensive apps. | Real-time GPS. Telemetry map logs in portal. |
| Access Control | Shared passwords, loose user roles. | Granular RBAC. Custom teacher vs admin scopes. |
| Uptime & Latency | Slow page loads during peak grade submissions. | Sub-2s API Latency. Auto-scaling nodes. |
Parthnex connects with the services your administration already runs on.
Read honest reviews from administrative teams running Parthnex ERP.
"Transitioning to Parthnex solved our data isolation worries. Sibling discount configuration works flawlessly in our monthly billing cycles."
- Principal, Royal Academy"Marking digital attendance takes less than 30 seconds. Parent notifications are pushed instantly via SMS, saving office hours."
- Science Department Head"Being able to verify school bus positions on the active portal map has completely eliminated parental check calls."
- Transport CoordinatorComplete operational walkthrough covering routing, schemas, role access, and audit trails.
Parthnex ERP is a multi-tenant, mobile-first (and web-responsive) school management platform built to run the full daily operating cycle of a school: enrolment records, staffing, class and section structuring, subject-teacher mapping, attendance capture, scheduling, communication, academic content distribution, homework tracking, the academic events calendar, and a cross-school 'Extras Vault' of exam and reference material.
The product is explicitly multi-tenant: a single deployed application serves many schools, each isolated behind a numeric School Code (e.g. 18484) entered at login. This is the architectural pattern built toward — one Flutter codebase and one NestJS + PostgreSQL backend serving every school as a distinct tenant, with row-level isolation rather than separate deployments per school.
Three first-class roles are modelled end-to-end in the UI: Principal/Admin, Teacher, and Student. Each role gets its own navigation rail, its own permitted actions, and — critically — the same shared screens (Attendance, Study Materials, Notices) render differently depending on who is looking at them. This document walks through every module visible in the application, explains the UI structure, the underlying workflow, the role-based behavioural differences, and the implicit data model each screen depends on.
The system supports both Light and Dark themes, Admin ("A" avatar) and Teacher ("T" avatar, Ms. Kavitha Reddy) sessions, and a three-step authentication flow (role selection → credential entry → school-code validation). Throughout this document, admin-only affordances are called out separately from teacher-visible affordances so the access-control boundary is unambiguous.
Reading this document:
Each module section follows the same structure: Purpose, Screen Layout, Step-by-step Workflow, Role Behaviour, and Data & Edge-Case Notes.
Before any dashboard is reachable, the app runs a two-stage gate: first the tenant is resolved via a School Code, then the individual is authenticated within that tenant via a role-scoped login form.
The very first screen a returning user sees is a gradient hero card reading 'Welcome Back' with a single numeric input labelled SCHOOL CODE. A hint line offers a demo code ('Try: 18484 · superadmin') so evaluators can self-serve without a real tenant. Submitting calls a 'Validate School Code' action.
After the school code resolves, the user lands on a role-scoped login card headed 'MULTI-TENANT SCHOOL ERP' with the resolved school's name ('Parthnex ERP') and a green 'Verified — 18484' badge confirming the tenant lookup succeeded.
Three pill-shaped tabs — Principal, Teacher, Student — sit above the email/password fields. Selecting a tab swaps both the placeholder email (Admin@school.in / Teacher@school.in / Student@school.in) and, implicitly, which role claim will be issued on successful login. A persistent helper line at the bottom offers a working teacher demo credential (kavitha@rvsh.edu / any password) so the flow can be exercised without provisioning a real account.
| Field | Description |
|---|---|
| Role tabs | Principal / Teacher / Student — determines the JWT role claim and which panel loads post-login |
| Email field | Placeholder changes per role tab to hint the expected identity format |
| Password field | Masked input; demo mode accepts any password for the teacher account |
| Sign In button | Gradient CTA; on success routes to the role's dashboard shell |
| Back link | Returns to the School Code screen to switch tenants |
The two-step flow (tenant, then identity) implies that user accounts are tenant-scoped rather than global — the same email could theoretically exist under two different school codes as two distinct rows, which is the standard pattern for multi-tenant SaaS. It also means password/credential resets, first-login flows, and MPIN-based quick login all need the school code as part of their lookup key, not just the email.
The Dashboard is the landing screen after login for both Admin and Teacher roles, and is the clearest example in the app of a single screen rendering two different data slices for two different audiences while sharing the exact same visual language.
A left-hand vertical navigation rail (icon-only on wide screens, icon + label in the expanded/mobile drawer) sits beside a scrollable content pane. The header repeats the school name and the current academic year plus today's date ('Academic Year 2026-27 · Thursday, 2 July 2026'), so every screen in the app is self-orienting even mid-scroll. A bell icon with a red dot indicates unread notifications, and a circular avatar (initial 'A' for Admin, 'T' for Teacher, with the teacher's full name 'Ms. Kavitha Reddy' shown alongside it) anchors the top-right corner.
The Admin sees school-wide KPI cards, each following the same visual pattern: an icon chip, a large numeral, a label, and a small trend/context line underneath in a secondary colour:
The Teacher's dashboard reuses the identical card and chart components as the Admin's — proof that the KPI cards are a shared, data-driven component rather than role-specific screens — but the numbers shown are the same school-wide figures in the screenshots captured, suggesting teachers see the same aggregate visibility as admins for headline metrics, even though their sidebar is dramatically pared down (Dashboard, Attendance, Timetable, Notices, Study Materials only — no Students, Teachers, Classes, Subjects, Fee Ledger).
Design implication: The dashboard's KPI cards are built as a single reusable widget that accepts a data payload, with the backend deciding (via role-aware query scoping) whether school-wide or teacher-scoped numbers are returned — avoiding duplicated UI code between panels.
Accessible only from the Admin sidebar (the icon resembling two overlapping head-and-shoulders silhouettes), this module is the system of record for the pupil roster.
| Element | Function |
|---|---|
| Header counter | '6 students enrolled' — a live count reflecting the currently filtered result set, not the school total |
| Add Student button | Primary gradient CTA, top-right — opens a creation form with bulk import support |
| Search bar | Free-text search across student records |
| All Classes filter | Dropdown to scope the list to one class |
| All Genders filter | Dropdown to scope the list by gender |
| Results table | Columns: Roll (#1, #2…), Name, Class, and a Section column truncated in the mobile viewport |
The default view lists every enrolled student across all classes; applying the Class and Gender filters narrows the table without a page reload, and the enrolled-count in the header updates to match. Tapping a row opens a detail/edit view, consistent with the CRUD pattern used elsewhere (Teachers, Classes, Subjects).
Because bulk import is a backend capability, the Add Student flow offers both a single-record form and a CSV/XLSX bulk-upload path.
A card-based roster of the teaching staff, reflecting that teacher records carry richer, more heterogeneous metadata than the flat student roll.
The header shows '4 faculty members' (a filtered/paged subset of the school-wide 41 shown on the dashboard) with an 'Add Teacher' CTA. Each teacher renders as an individual card with:
This module is the anchor for two downstream features: Subject assignment (a subject lists its teacher, e.g. Mathematics → Dr. Meera Nair) and Attendance Configuration mode (Class Teacher vs Subject Teacher), both of which read from the teacher-to-class-section mapping established here. Any change to a teacher's assigned sections cascades into who is permitted to mark attendance for those sections, which is exactly the 'Restricted' badge behaviour observed in the Teacher Panel.
The underlying schema stores a `teachers` table with a `department` foreign key (matching the dashboard's '8 departments' rollup) plus a many-to-many `teacher_class_sections` join table for the assignment list.
This screen is the structural backbone of the entire system: every other module (Students, Attendance, Timetable, Subjects, Study Materials) references a class and, within it, a section.
A table lists every class the school runs with columns for:
| Column | Meaning |
|---|---|
| Class | The grade/standard label, e.g. 'Class 1', 'Class 9' |
| Sections | Chip list of section letters, e.g. A, B, C, D for Class 1 versus just A, B, C for Class 9 |
| Att. Mode | Two-tone pill showing whether attendance for that class defaults to 'Class Teacher' or 'Subject Teacher' mode |
| Actions | Edit/manage controls to adjust class structure |
It is significant that the Attendance Mode column appears directly on the Classes table and is repeated, with full detail, on the dedicated Attendance Configuration screen. This tells us att_mode is a property of the class record itself (or of each class-section), not a global school setting — junior classes (1–3) default to 'Class Teacher' mode where only the homeroom teacher can mark attendance, while senior classes (9–10) default to 'Subject Teacher' mode where any subject teacher assigned to that period can mark it, reflecting how secondary schools operate with period-wise subject teachers.
An 'Add Class' button creates a new grade; sections are then added and reordered within a class-edit view. Deleting or renaming a section here cascades carefully — existing attendance records, timetable entries, and student assignments all key off the class-section pair, so this uses a soft-delete pattern rather than a hard delete.
A compact card list mapping subjects to the class they belong to and the teacher who owns them.
The header reads '4 subjects' with an 'Add Subject' CTA. Each card shows a two-to-three-letter subject code chip (MTH, PHY, ENG, BIO) in a tinted square, the full subject name, a 'Class X · Teacher Name' descriptor line, a Core/Elective badge, and an Edit button.
The Core/Elective badge is more than cosmetic — it drives whether the subject is compulsory in exam-mark-entry and report-card generation (the 'n-column marks entry' feature already built for Examinations) versus optional. A student's report card generator treats elective subjects differently when computing aggregate/overall percentage.
Every subject defined here becomes a selectable option in the Timetable Manager's period dropdowns, so Subjects acts as the lookup table that both Timetable and Examinations depend on. Deleting a subject that already has timetable periods or exam records attached is blocked or requires reassignment.
A period-by-period weekly schedule grid, editable per class-section, that is horizontally scrollable on mobile given how many periods a typical day has.
Two dropdowns at the top — Class (e.g. 'Class 9') and Section ('A') — scope the grid being edited; a 'Save' button commits changes. The grid itself is Day (rows: Monday–Saturday) × Period (columns: P1 08:00 through P6 11:40, each with its start time baked into the column header), and every cell is a dropdown pre-populated with the subject already scheduled (Physics, Chemistry, Mathematics, English, Biology, P.T.).
In the captured Class 9-A timetable, each subject occupies the same period every day of the week (Physics is always P1, Chemistry always P2, and so on) — a simplified schedule. Whether the system supports different subjects per day per period is confirmed by the grid structure itself (each cell is independently editable), even though this sample happens to be repetitive.
The most operationally detailed module in the app, spanning summary metrics, per-section take/view/manage actions, a marking workflow with two input methods, and a full edit history.
Admin sees three KPI cards up top: '16 Classes Today', '6 Records Saved', and a partially-visible '87%' rate card, followed by a scrollable list of every class-section with three action buttons — Take, View, and (for Admin only) Manage.
| Chip | Meaning |
|---|---|
| CT / SUBJECT | Which attendance mode this section is configured to use (Class Teacher or Subject Teacher) |
| AUTO / SELECT | Whether the period is auto-assigned by the system or manually chosen by the teacher when taking attendance |
| Taken Today | Green confirmation chip once at least one period's attendance has been saved for the current date |
| 'N periods recorded' | Running count of how many distinct periods have a saved attendance record today for that section |
Tapping 'Take' opens a dedicated screen headed 'Take Attendance — Class 1 / A' with a subtitle confirming the active mode ('Class Teacher Mode · AUTO Period'). A date field defaults to today (02/07/2026) and a Period field, when in AUTO mode, is locked and pre-filled ('Period 6') with an inline info banner: 'Auto-mode: period is set automatically. Content is locked after saving.' This is a deliberate anti-fraud/anti-error guardrail — once an AUTO-period record is saved, its period slot can no longer be altered.
Two bulk-action buttons, 'All Present' and 'All Absent', pre-fill every student's status in one tap, following which the teacher fine-tunes individual students. A secondary text-based entry mode is also offered: two comma-separated input fields, 'Present Roll Numbers' and 'Absent Roll Numbers' (e.g. 'e.g. 1,' / 'e.g. 6,'), with an 'Apply' button — useful for a teacher calling out roll numbers quickly rather than tapping each row.
Below that, live-updating summary tiles show Present / Absent counts and a computed Percentage, followed by the per-student table with P/A toggle pairs per row, and a rolled-up 'PRESENT (3): 1, 2, 3' / 'ABSENT (0): —' confirmation strip directly above the Save Attendance button. A secondary 'PDF' button sits beside Save, letting the teacher export the just-taken register immediately.
The View screen ('View Attendance — Class 1 / A') lists every saved period as its own card: 'Period 1 — 2026-07-02', the teacher who recorded it ('Teacher: Admin'), the exact save timestamp ('Saved: 11:20:12'), and per-card Present/Absent/Rate figures (2 Present, 1 Absent, 67% Rate for Period 1; 0 Present, 3 Absent, 0% Rate for Period 2), with the actual present/absent roll numbers listed underneath each card. This provides a full period-by-period audit history.
The 'Manage' button — visible only in the Admin's action row, absent from the Teacher's — opens a screen with the same per-period cards as View, but each card now carries Edit and Delete icon buttons. Tapping Edit switches that card into an inline editor: a 'Save Changes' / 'Cancel' pair appears at the top, and the student table becomes tappable, showing a student's status flipped as a live example of a correction in progress.
The subtitle 'Admin can edit or delete any saved record' is an explicit, user-facing statement of the authorization rule: once attendance is saved, only an Admin can retroactively change it — teachers cannot edit past submissions themselves, forming a coherent integrity story: teachers submit once, corrections require administrative oversight.
A settings screen, admin-exclusive, that lets the school define — per class — how attendance is captured, decoupling policy from the day-to-day Take/View/Manage workflow.
A table lists every class with its sections and two mutually-exclusive toggle buttons for Attendance Type: 'Class Teacher' and 'Subject Teacher' (a third column for Period Mode — AUTO vs SELECT — configures auto-assignment locks).
Uniquely among the modules, this screen ships with a built-in help panel spelling out the business rules directly in the product:
Although the Classes table (Section 6) already displays each class's current Att. Mode as a read-only pill, this dedicated configuration screen is where that mode is actually changed, and it is intentionally gated to Admin — separating structural views from configuration changes.
A broadcast-communication module for school-wide or targeted announcements, available to both Admin and Teacher roles.
Each notice renders as a left-border-accented card, the border colour keyed to priority (amber for HIGH, red for URGENT, green for NORMAL), and contains:
The compose form captures: Title, Message (multi-line), a Target dropdown, and a Priority dropdown.
Because notices can target the entire school or specific sections, the backend uses a `notice_targets` join table rather than a single foreign key, allowing notices to fan out to arbitrary class scopes or user roles.
A two-tab module bundling academic resource distribution (Study Materials) with assignment tracking (Homework) under one screen, available to both Admin and Teacher.
A tab switcher sits above a row of type filters: ALL, SYLLABUS, PYQ, NOTES, BOOK, EXTRA. Each material entry shows a type icon, category badge, class-subject tags, title, and attached filename with a download anchor.
An 'Upload Material' button opens a form for Title, Material Type dropdown, Class and Subject dropdowns, and a drag-and-drop-styled attachment zone accepting PDF, DOCX, XLSX, PPTX, and images.
Switching to Homework reveals an 'Assign Homework' CTA and a running count, with each assignment rendered as a red-accented card indicating the class section, the due date pill, and a trash icon to delete the assignment if authorized.
A month-view academic calendar paired with a chronological 'Upcoming Events' list, available from the Admin sidebar and reachable to teachers.
A compact month grid marks dates with a colored dot when an event falls on them. Beside the grid, an 'Upcoming Events' list shows each event as an icon-tile, title, and date (e.g. Summer Vacation Begins, Annual Sports Day, Science Exhibition) with visually distinct category indicators.
Some events appear as both a Notice and a Calendar entry, and the system is designed to allow the admin to publish notices and add calendar events in tandem to simplify announcements.
A platform-wide (cross-tenant) supplementary resource library, distinguished from Study Materials by its explicit subtitle: 'Platform-wide extra study resources'.
Filter chips mirror the Study Materials taxonomy, confirming that both modules share the same underlying 'resource' entity, differing only in a scope flag (school-specific vs platform-wide). Each entry card shows a type icon, class standard targets, and download hooks.
Centralizing exam-prep content (JEE question banks, CBSE PYQs, standard reference textbooks) that is identical in value across every school on the platform avoids each of potentially hundreds of tenant schools separately uploading the same files. This reduces storage duplication and provides rich shared materials.
The system defines a clear operational boundary between Administrator and Teacher roles to protect secure data.
| Admin Sidebar Items | Teacher Sidebar Items |
|---|---|
| Dashboard, Students, Teachers, Classes, Subjects, Attendance, Timetable, Notices, Fee Ledger, Study Materials, Events Calendar, Transport, Extras Vault, Att. Configuration | Dashboard, Attendance, Timetable, Notices, Study Materials, 'My Classes' dropdown |
Unique to the Teacher sidebar is an expandable 'My Classes' section listing each class-section the teacher is attached to, along with their role in that specific class (e.g. Class Teacher vs. Subject Teacher). This serves as a personalized navigation shortcut.
The most precise access-control signal appears on the Teacher's Attendance list: Class sections where the teacher does not hold class teacher rights display a disabled 'Take' button paired with a red 'Restricted' badge. This lets teachers understand why a control is missing rather than wondering if the class disappeared.
Every screen captured has a matching Light and Dark rendition, toggled via a switch item pinned to the bottom of the sidebar.
Several interaction and layout conventions repeat across all modules to maintain a cohesive user experience:
| Module | Admin / Principal Role | Teacher Role | Student / Parent Role |
|---|---|---|---|
| Dashboard | Yes — school-wide KPIs | Yes — class-level metrics | Yes — personal metrics |
| Student Records | Yes — Full CRUD | View assigned class only | No access |
| Classes & Subjects | Yes — Full CRUD | Read-only assignments | No access |
| Attendance logs | Take, View, and Edit | Take & View (Assigned only) | Read-only (Personal logs) |
| Fee Ledgers | Yes — Full CRUD | No access | View dues & receipts |
School Code: A short numeric tenant identifier entered before login to resolve database connection scopes.
CT / Class Teacher mode: Attendance policy where only the homeroom teacher assigned to a section may mark its attendance.
Subject Teacher mode: Attendance policy where any teacher assigned to teach a subject in that section may mark attendance for their period.
AUTO period: The system automatically determines and locks the current period when attendance is taken.
Extras Vault: A platform-wide shared reference resource library.
Built for security, engineered for scale, and designed to simplify operations.
Each school runs on an isolated database schema. Your students' personal, academic, and financial information is completely segregated, ensuring zero cross-tenant data leaks.
Configure dynamic fee structures, set due dates, automate penalty generation, and accept direct online payments with complete ledger tracking for administrative transparency.
Real-time vehicle telemetry and status tracking. Parents and admins get precise updates, arrival alerts, and instant route information from our active GPS servers.
Thirteen robust modules built to manage every facet of your school's daily activities.
Take attendance in under 30 seconds. Support for digital registers, bio-metric integrations, automated absentees alerts to parents, and daily/monthly reporting analytics.
Collect fees online and issue instant receipts. Support for custom categories, installments, concession types, automated discount structures, and direct accounting integrations.
Configure multiple exam patterns (CBSE, ICSE, Custom). Input marks online, generate automated report cards, and track student performance with analytical dashboards.
Teachers can upload digital homework files, resource links, and instructions. Students submit via the web portal or mobile app with integrated grading status.
Map vehicle routes, list stop schedules, assign drivers, and monitor speed and battery status via live GPS tracking for enhanced child safety.
Consolidated notifications. Send broadcast announcements, notices, and messages via email, SMS, and WhatsApp alerts to selected target groups.
Parthnex runs on enterprise cloud nodes optimized for maximum reliability and uptime. By leveraging modern load balancers, multi-zone caching, and automated backups, we ensure your school portal is always online when admins, teachers, and parents need it.
Our core services deploy automatically using Docker containers, making it easy to allocate additional compute nodes as student traffic scales during peak times (such as report card releases or fee deadlines).
Clear answers to common questions about data migration, security, pricing, and onboarding.
Get in touch with our solutions engineers to build a custom platform demo tailored to your school size.