Skip to main content
Skip to content
AI-Assisted School ERP
Try Free

Built for schools that run on records

The school ERP where the AI does the work

Admissions, attendance, timetables, examinations, fees, payroll, transport and hostel in one system — with an AI agent that can operate all of them on your behalf, under your permissions, with every action logged and reversible.

  • Free plan, no card required
  • Your data in your own tenant
  • Every subprocessor named
RBAC-Gated AI Agent76 Registered ToolsEvery Action Audit-Logged
See how Iris works
Autonomous ERP WorkflowsLive Agent Simulation

Plain language in. Completed school operations out.

Instead of navigating through dozens of disconnected menus or manually cross-referencing spreadsheets, administrators and educators simply issue business commands. Iris verifies role permissions, coordinates multi-step actions across academic and financial databases, and produces a tamper-proof audit record.

AI
Iris S1 Execution Console

Initiated by P. Sharma (Accounts Desk)

Granted
Generate demand bills for students with overdue fees above ₹2,000 in Class 8 and stage WhatsApp payment reminders.
Completed
Authorized · Role: Accountant (Tenant: Demo Public School)scope: fees.write + system.notify

Multi-Step Agentic Tool Chain

get_fee_defaulters

Scanning Class 8 fee ledgers for outstanding balance > ₹2,000

18 student accounts identified with aggregate overdue of ₹64,500

generate_demand_bills_bulk

Batch-generating official demand notices with UPI QR vouchers

18 demand bills generated (Vouchers #DB-801 through #DB-818)

send_whatsapp_notification

Staging WhatsApp payment notices with direct parent portal links

18 notification payloads queued for delivery with fee breakdowns

18 Demand Bills Generated & WhatsApp Queue Staged

Official payment links and QR vouchers assigned to student fee accounts.

Total Overdue Captured

₹64,500

Demand Notices Issued

18 Students

WhatsApp Status

18 Queued

Student NameClass / SectionOverdue BalanceOverdue AgeDemand Voucher
Rohan Verma8-A · Roll 14₹4,50045 daysNotice #DB-801
Ananya Sen8-B · Roll 09₹3,80030 daysNotice #DB-802
Dev Patel8-A · Roll 22₹2,50015 daysNotice #DB-803
Kavya Nair8-C · Roll 05₹5,20060 daysNotice #DB-804
Audit Trace: AUD-89214-FEEExecuted in 0.42s
Reversible ActionZero manual data entry

Every Iris execution runs under strict role-based access control (RBAC). The agent cannot bypass module boundaries or execute writes without the signed-in user possessing explicit grants. All database mutations are recorded in your school’s central immutable audit log with full payload and timestamp traceability.

Try it yourself

Everything above this line is scripted. This is not.

Type a question and the ERP’s own intent resolver reads it — the same classify() the signed-in dashboard’s question bar reaches through /api/ai/query, imported here rather than copied. It picks the report, pulls the class and the threshold out of your wording, and the figures are then counted from a fixed demonstration school. Ask it something it does not cover and it will tell you so.

Real parsingFictional data

The parsing is the product’s. The figures are a fixed demonstration set for Demo Public School, a fictional school of 1,284 across 42 sections — never a live tenant’s records. No model is called on this path and no request is sent; it runs in this tab.

Six reports are in scope: student counts, teacher counts, salary expense, low attendance, fee dues and timetable lookups.

Or start from one of these

Nothing asked yet. Whatever you type is resolved here, in this tab.

Only the first of the route’s two tiers runs here, and that is deliberate. A question the rules cannot place is the only one the dashboard hands to a model, and that call needs a verified sign-in, a school on the caller’s own claims and a daily quota to meter it. Exposing it publicly would spend a paying school’s AI allowance on anonymous traffic with no role to check it against, so this section stops where the rules stop. In the dashboard the figure is also a second, explicit step after the question is read — here both are shown at once.

Built by 2 independent developers in Patna. No customers to name yet —judge it on what it does
ERP Modules
21
Permission-Gated AI Actions
76
Interface Languages (incl. RTL)
6
Students Free, Forever
250
Reproducible Timetables
Seeded
Subprocessors, All Named
11

How Iris works

Five checkpoints between a request and a changed record

Every change Iris makes goes through the same order, and the order is the point: the request is narrowed to a handful of tools before any of them is offered, the signed-in role is checked against the permission the tool declares and refused rather than served if it does not carry it, the record is read back after it is written, and the change lands in the audit log with the state that preceded it.

The order of one write

Diagram, not a live run.

  1. classifyIntent() — The registry narrows to the family the request names, before any schema is sent.
  2. checkRBAC() — The signed-in role must carry the permission the tool declares, or its handler never runs.
  3. update_student — One typed tool with a declared permission and risk class, not open database access.
  4. ref.get() — The document is read back after the update, and the reply carries that verification.
  5. writeAuditLog() — One row per change: the actor, the collection, the record, and the state before and after.
  6. AuthorizationError — Stage 3 never ran: "Your role (teacher) does not have permission for this action (students.write)."
See a full annotated trace

Everything You Need, All in One Place

Powerful Modules for Every Need

Elevate ERP ships 21 modules covering admissions through payroll. The 12 with a documentation page of their own are below.

Teaching and assessment

Build the session once — departments, streams, classes, sections, houses and the subject directory — then map curriculum and competencies onto it. Promotion between sessions runs off rules you set rather than a manual re-entry.

In the code

A change log with both sides of the change

Creating, editing, deleting, archiving, publishing or cloning a session, class or subject records the field values before and after, and the person who made the change.

Open the Academics page

The school day

People and places

Money and evidence

Works with what you already run

Seven things it plugs into, not seven things to replace

Switching systems usually means abandoning the attendance machine on the wall and the spreadsheets the office actually works in. These are the integrations that exist in the code today, each stated as the specific thing it does.

  • ZKTeco & eSSL attendance devices

    Existing machines push their own punches over the iClock protocol — no CSV, no PC agent on site

  • WhatsApp Cloud API

    Sends through your own Meta Cloud API number, and refuses before the network call if it is not configured

  • MSG91 transactional SMS

    Flow API with your registered DLT sender header carried on every send

  • Your mail sender

    SMTP or Resend, and an unconfigured mailer fails loudly instead of dropping the mail

  • Razorpay

    Parents pay online; the return webhook is rejected unless its HMAC signature verifies

  • Excel & CSV

    Import and export both ways, from a template pre-filled with your own roster

  • Printable PDF

    Registers, fee bills and report cards open as A4 in millimetres; ID cards at true card size or tiled onto a sheet

There is no board or government integration, and this page will not imply one. Nothing here files with CBSE, reads UDISE or issues APAAR IDs; reports come out as PDF and Excel for you to submit. If a direct board filing is what you need, Elevate is not it yet. WhatsApp and SMS are the two above that need your own provider credentials before they send anything: until those are configured each one refuses the send outright rather than holding it in a queue, so nothing silently waits and nothing silently disappears.

Where Elevate differs

Six things that are built rather than promised

Every school ERP lists the same modules. These are the parts of Elevate that are specifically engineered, and each one is a claim you can test in a trial tenant.

01

An agent that writes, not a chatbot that answers

Most school software has bolted a Q&A box onto a dashboard. Iris operates the ERP: it creates records, adjusts timetables, posts fee entries and files results through permission-gated tools, then logs and can reverse each one.

Test it yourself

Ask Iris to create a record in a trial tenant, then find that same action in the audit log — with the user, the tool and the payload it was called with.

02

A timetable solver, not a drag-and-drop grid

Scheduling runs as a constraint solver over teacher availability, subject load and room limits. Tie-breaks come from a seeded generator, so the same inputs reproduce the same timetable — which is what makes a disputed slot arguable.

Test it yourself

Generate a timetable twice from identical inputs. The same seed returns the same grid, down to the tie-breaks.

03

Attendance from the hardware you already own

A working gateway for ZKTeco and eSSL iClock devices, not a CSV import. Each punch is identified by a hash of its own contents, so a device replaying its buffer after a network drop cannot double-mark a student.

Test it yourself

Drop a device’s network mid-session and let it replay its buffer when it reconnects. The repeated punches are refused by their own content hash.

04

Question papers grounded in your syllabus

Paper generation reads the syllabus you uploaded and builds to a blueprint you set. It draws from your material rather than inventing questions from the model’s general knowledge.

Test it yourself

Upload a syllabus, set a blueprint, and trace each generated question back to the material it was drawn from.

05

The whole fee lifecycle, including the awkward parts

Structures, concessions, online payment from the student portal, and the case every school actually has: a payment made off-platform, declared in the portal and verified by the office before it counts.

Test it yourself

Declare a cash payment from the student portal, then approve it from the office. It does not move the balance until someone verifies it.

06

A migration you can reverse

Bringing years of records across is the risk that stops schools switching. The import runs as a pipeline with a rollback, so a bad mapping is undone rather than lived with.

Test it yourself

Import a class with a deliberately wrong column mapping, then roll the whole import back and confirm the tenant is as it was.

Your records, and who can reach them

Separate from every other school, and still yours

A school ERP holds children’s names, their guardians’ phone numbers, their addresses and every day they were absent. Under the DPDP Act 2023 your institution is the data fiduciary for those records and we process them on your instructions — the data processing agreement sets that out. Below are six safeguards, each one a check that runs in the database or on the server rather than a promise about how carefully we work.

  • One school cannot see another

    Every record sits under your school’s own id, and the database checks that the school on the login matches the school on the record — on every read and every write. The check runs inside the database rather than in the browser, so it is not something a modified page can talk its way past. The rule file closes with a refusal of anything it has not explicitly allowed, so a path nobody thought about is denied rather than open.

  • A student login reaches one student

    A student or parent login is not a junior staff login. It opens that student’s own attendance, fee bills, receipts and marksheet — matched against a student id carried on the login itself — and nothing else. It cannot open the class list, so it cannot read another family’s phone number or address. A login with no student attached to it matches no record at all rather than matching everything.

  • The payment keys are in a locked drawer

    The keys that let money move — your gateway’s secret key and its callback secret — are held in a document the security rules refuse to every signed-in user, including you. The settings record your office staff can read is a different document, and the rules block the secret field names from ever being written into it, so a mistake in the app cannot put a key somewhere readable.

  • Fees settle into your bank, not ours

    The merchant account is the school’s, not ours. A parent’s online payment is opened against your own gateway credentials, so the money settles into your school’s bank account. If those credentials have not been set up, the payment is refused with a message saying so — it is never quietly routed somewhere else.

  • A receipt is written once, for the right amount

    When a parent pays online, the server reads the bill itself and refuses the payment unless the amount matches the outstanding balance to the paisa — an amount edited in the browser is rejected, not charged. The gateway’s confirmation is then checked against a signature computed over the exact message received, before any receipt exists. And the receipt id is derived from the payment id, so if the gateway sends the same confirmation twice, the second one writes nothing.

  • Your principal can read the log; nobody can edit it

    Changing a staff member’s permissions, editing the school profile and clearing fee data each write an entry under your school’s own audit log, recording who did it, when, and what changed. The rules let your principal and school owner read that log, and refuse every attempt to edit or delete an entry — so an entry can be added by a signed-in user but never quietly amended by one.

What we do not have: Elevate ERP holds no certification of its own — no ISO 27001, no SOC 2, no independent penetration test. Google Cloud holds those for the infrastructure underneath, and they are Google’s rather than ours. There is no two-step sign-in yet either. The security page lists what is in force and what is not, at the same level of detail as the six above, and it is longer on the second list than the first.

Plans & pricing

One price per school, not per student

Every figure below is read live from the plan catalog the product itself enforces, so the ceiling you see here is the ceiling your school actually gets.

Billing cycle

Free Forever

₹0forever

Free forever, no card required

Attendance, fees, academics, notices and reports for one small school, at no cost.

Students
250
Staff seats
18
Storage
2 GB
AI papers / mo
—

8 everyday modules, and none of the 12 add-ons

Core

₹1,499/mo

₹1,499 billed every month

Adds online payments, payroll, examinations, timetabling, transport and the Iris AI agent.

Students
800
Staff seats
60
Storage
20 GB
AI papers / mo
100

8 everyday modules, plus 10 of 12 add-ons

Get started with Core

Registration is free. Core is chosen and paid for in billing settings once your school is set up.

Our pick for most schools

Plus

₹2,199/mo

₹2,199 billed every month

Adds the library and the bookstore, and raises every capacity ceiling above Core.

Students
2,100
Staff seats
150
Storage
100 GB
AI papers / mo
1,000

8 everyday modules, plus 12 of 12 add-ons

Get started with Plus

Registration is free. Plus is chosen and paid for in billing settings once your school is set up.

Max

₹3,499/mo

₹3,499 billed every month

Unlimited staff seats, admin accounts and AI papers, on the same modules as Plus.

Students
5,000
Staff seats
Unlimited
Storage
400 GB
AI papers / mo
Unlimited

8 everyday modules, plus 12 of 12 add-ons

Get started with Max

Registration is free. Max is chosen and paid for in billing settings once your school is set up.

Enterprise

Unlimited students, staff and storage, priced against your deployment. Every limit key on this tier is set to unlimited in the catalog — students, staff seats, administrator accounts, storage and AI usage alike.

Opens a form. We reply by email.

Compare capacity and modules

Every row is one key in the plan catalog, read live. Four of the 6 capacity rows — students, staff seats, storage and AI credits — are ceilings the server holds you to while you work, reserved before the record is created. The other two, administrator accounts and AI question papers, are catalog numbers that nothing in the product enforces today. 9 of the 12 module rows are refused at the route without the key, and the AI agent is refused at its API. The remaining 2 — online payments and the ID card studio — differ by tier in the catalog but are not blocked inside the product today.

Capacity

Students included
Free Forever
250
Core
800
Plus
2,100
Max
5,000
Enterprise
Unlimited
Staff & faculty accounts
Free Forever
18
Core
60
Plus
150
Max
Unlimited
Enterprise
Unlimited
Administrator accounts
Free Forever
1
Core
3
Plus
6
Max
Unlimited
Enterprise
Unlimited
Cloud storage
Free Forever
2 GB
Core
20 GB
Plus
100 GB
Max
400 GB
Enterprise
Unlimited
AI question papers per month
Free Forever
Not included
Core
100
Plus
1,000
Max
Unlimited
Enterprise
Unlimited
AI credits per month
Free Forever
Not included
Core
1,000
Plus
4,000
Max
20,000
Enterprise
Unlimited

On every plan, including the free one

Students, staff, attendance, fees, academics, notices, reports and settings — and the right to take your data out again. None of these is held back for a higher tier, which is why none of them is a row in the table above.

On no plan, at any price

Single sign-on. A public API for your own developers. Outbound webhooks to your systems. A separate login for parents. An uptime commitment, because we do not yet measure uptime. And no plan buys a faster answer from us than any other — paying more does not move you up a queue, which is what our service level terms say as well. When any of this ships it will appear in the table, on the tier that carries it.

From nothing to a running term

Five steps, and only one of them asks anything of you

This is the sequence the product actually runs, with the real amount of work against each step — including the part that takes an afternoon and the one thing the free plan will not let you finish.

01

Create an account

Pick "School Admin", then name, email and a password — or Google. No card, no trial clock and no confirmation email to wait for. Students and parents cannot create their own accounts at all; only the school issues those logins.

Effort

Two minutes

A login. The school itself does not exist yet — that is the next step.

02

Answer six setup screens

Identity, campus structure, academic logic, brand identity, contact details, then provisioning. Have your logo file ready — the branding screen will not let you past without one. You cannot skip forward, but progress is saved after every screen, so closing the tab and resuming later works.

Effort

About fifteen minutes

Everything below. This is the only step that asks you for information.

03

The workspace builds itself

Seven provisioning stages run on their own. They create the academic session on an April–March year with Term 1 and Term 2 inside it, every class across the grade range you gave, their sections, the subject list, a fee structure per class, and your branding. Nothing here is a template you then have to edit into shape, and the routine is safe to re-run if it half-finishes.

Effort

Under a minute, unattended

A term you can actually take attendance against. No session, terms, classes or fee heads to hand-build.

04

Import your roster

Students → Bulk Operations → Import from a File: upload or paste, map your own column names onto the fields, review, commit. It needs first name, last name, class, parent name and parent phone; rows that fail come back as a spreadsheet to fix and re-upload. Staff have no spreadsheet import yet — you add them one at a time from the staff console, and that is the only route in.

Effort

An afternoon for a whole school, minutes for one class

Attendance, fee demands and ID cards, on real names.

05

Run the term

Mark attendance, raise and collect fees, post notices and pull reports — all on the free plan, up to 250 students, with no expiry date on it. The examination loop is the one thing gated: schedules, grade entry and report cards that generate once marks are published start on Core. The grading system and both terms are already configured from your setup answers when you get there.

Effort

Ongoing — this is the product

A term of real records, and the point at which you can judge it.

Start at step one

No card, and the free plan has no expiry in code — it cannot lapse.

No Reviews Yet

This section stays empty until a school that actually uses Elevate ERP writes something. Nothing here is written for them.

Using Elevate ERP at your school?

Send a review and it will appear here under your own name and your institution's name, once we have confirmed with you that you wrote it.

Before you commit

The questions schools ask, with the awkward answers included

One of these is a flat no, and most of the rest carry a caveat. They are here because the alternative is you finding out after you have moved a term of records across.

What makes Elevate ERP different from every other school ERP?
Flat, predictable pricing

Elevate is flat: ₹1499/month for the whole school, any size up to 800 students on Core. There is no per-student multiplier anywhere in the plan, so your bill stays the same whether you admit 50 more kids or 200.

Free plan: 250 students, 8 modules, no card on file, no trial clock — enforced in code, not a sales promise.

Iris — AI that acts on your records, not just answers questions

Elevate has Iris, a full agentic AI that acts on your records rather than just answering questions about them. Tell it "admit Rahul to Class 5A" and it creates the student record, assigns a roll number, provisions the student's own portal login, and confirms what it did — and if the login could not be created it tells you that instead of pretending. Tell it "collect ₹5,000 from Priya for Term 2" and it finds the right fee instalment, records the payment, updates the balance, and offers to generate the receipt.

76 tools across admissions, fees, attendance, payroll, library, transport, hostel, timetable, exams, notices, assignments, ID cards. Multi-step instructions, cross-conversation memory, a before-and-after audit entry for everything it changes, three-layer authorisation. A separate student-facing AI handles Hindi, Hinglish, and 6 languages. Guardians are records on the student, not accounts — there is no parent login.

Your data, your export, no ticket

In Elevate, you open Settings, click export, and download your entire school as JSON or Excel.

No ticket, no fee, no "we will get back to you."

Migration with a real undo button

We built a five-step migration system with validation, preview, and a 48-hour rollback window that actually undoes the import if the mapping is wrong.

Privacy & tenant isolation

Every vendor that touches your data is named publicly — there are 11, no hidden analytics, no ad networks. Your school's data sits in its own isolated tenant with access enforced at the database level, not just in application code.

Direct support — no escalation chain

The 2 people who built this are the same ones answering your WhatsApp. No sales team, no channel partner, no six-month implementation project, no "let me escalate this."

That is the difference.

Is the free plan actually free, and what does it leave out?

Free means ₹0 with no card, and there is no trial clock — the plan has no expiry in code, so it cannot lapse. It covers 250 students, 18 staff records and 1 admin login, across students, staff, attendance, fees, academics, notices, reports and settings. What it leaves out is the AI: Free carries zero AI credits and zero AI question papers, so Iris, timetabling, examinations, payroll, transport, hostel and online payments start on Core at ₹1499 a month for the whole school, not per seat.

What happens when we outgrow the free plan mid-term?

The first admission past 250 is refused and nothing else changes. The limit is checked at the moment a record is created, against a live count of your own students, so exceeding it blocks the next add — it does not delete records, lock the modules you were already using, or hold your data hostage behind an upgrade. Attendance, fees and reports keep running on the students you have while you decide.

Can we bring years of existing records in — and undo it if the mapping is wrong?

Yes, and the undo is real rather than a flag. Import runs as five steps — preflight, upload, validation, reconciliation preview, confirm — where validation stages every row and writes nothing into your live collections, and the preview cannot be skipped: the commit endpoint refuses any session that has not been previewed and requires you to type MIGRATE. After a commit you have 48 hours to roll it back, which deletes the migrated payments and resets each fee instalment to unpaid rather than marking them cancelled, with an audit entry for the reversal. The rollback button is in the payroll migration screen today; for a fee migration in the same 48-hour window we run it for you.

Where does our data live, and can another school ever see it?

In Firestore on Google Cloud, in the asia-south1 region — Mumbai. One part of the system sits elsewhere and is worth naming: the Realtime Database instance that carries presence and live bus tracking is in asia-southeast1, Singapore. Firebase Auth and Storage are not pinned to a region we can state, and the subprocessors page says so rather than implying otherwise. Each school is a separate tenant: access is decided by a schoolId claim signed into your ID token rather than by anything the browser sends, and a request for a document outside your own school is refused by the database itself, not by application code that could be bypassed. Students and parents are separately walled off from staff-level data — they reach their own records and explicitly shared collections only — and that rule is enforced in the database as well as in the app, so it applies to sessions that were already signed in when it landed.

Who else touches our data?

11 vendors, all named. Each is listed publicly with what it is used for and what it receives — cloud infrastructure and the database, media storage, application hosting, the AI models the assistant runs on, the payment gateway, the identity-verification service behind the optional Aadhaar check, and transactional email. Each entry either states where that vendor holds data or says plainly that we have not established it, rather than guessing. There is no analytics broker, no ad network and no data reseller in that list, and nothing touches your data that is not on it. The full list is on the subprocessors page.

If we leave, can we take our data with us?

Yes, and without asking us. The Data & Storage pane in settings downloads seven collections — settings, students, staff and teachers (three collections between them), classes and subjects — as a single JSON archive, plus a separate Excel export, and it runs on your own owner login rather than as a support ticket we have to fulfil. There is no export fee, no notice period and no retention hold on the way out.

Does it work offline?

No. Elevate is a browser application against a live database, and with the connection down you cannot take attendance or post a fee. The one exception is the part that matters most: attendance devices buffer their own punches locally and replay them when the network returns, and each punch is identified by a hash of its own contents, so a replayed batch rewrites the same records instead of marking students present twice. A day of school captured on the device is not lost — but the office cannot work through an outage.

What languages does it run in, and does the AI understand Hinglish?

The interface ships in 6 languages — English, Hindi, Marathi, Tamil, Arabic and Chinese — and a language is only offered if it has a real dictionary behind it, so nothing silently falls back to English. Indian locales group figures as lakh and crore rather than thousands. Hinglish is handled by the AI rather than by the interface: the student assistant replies in whatever the student wrote in, Hinglish included, but there is no Hinglish interface language and no transliteration layer.

Who actually supports this, and how fast?

The 2 people who build it, directly — there is no support tier staffed by anyone else, and pretending otherwise would be the easiest thing on this page to disprove. Reach them on WhatsApp or at [email protected]. There is deliberately no phone line: the published number is WhatsApp-only, because a sales number that never answers a call is worse than no number. The one committed figure is 48 hours as the outside bound on the grievance channel. No plan buys a faster answer than another — there is one queue, worked in the order things arrive, with anything that risks data loss taken first.

The full subprocessor list, with locations, is at /legal/subprocessors, and what is and is not measured is at /security.

Set it up on your own school’s data

Create a tenant, import a class, and run a real term through it. The free plan does not expire and does not ask for a card.