Edit 100 students at once. No more 'open profile, edit, save' loops.
A spreadsheet-style bulk editor for student records — pick the fields you want, filter the students you want, edit inline, save in one click. 50+ editable fields across profile, academic, parents and address. Multi-language input for Hindi and regional scripts. Per-row results so partial success doesn't break your run.

Why every school office needs this — and almost none have it
The school session opens on April 1st। In the first week, the office has to:
- Assign roll numbers to 50 newly-promoted students in Class 5 A.
- Update father's mobile number for 12 students whose parents called the office about wrong numbers.
- Mark the 8 RTE students in Class 1 A after EWS certificate verification.
- Fix Aadhaar typos in 7 student records flagged by the document compliance audit.
- Update mother's occupation for 3 students who called about a job change.
- Add the new permanent address for 5 students who relocated during summer break.
In most school ERPs, that's 85 separate operations — open student profile, click edit, change one field, click save, navigate back to list, find next student, repeat. Eighty-five times. Six minutes per operation. Eight and a half hours of one office assistant's day, just to do these six routine corrections — every single week.
We built Bulk Update Students to make this feel like editing a spreadsheet. Filter the students you care about. Pick the fields you want to edit. The rows show as a grid — you tab between cells, type the new value, save once. Eighty-five operations become one bulk save.

How it works
Open Students → Bulk Update। The view loads with up to 100 active students from the current session, sorted alphabetically by first name.
Step 1 — Filter the scope. Class, section, gender, free-text name search। The grid updates as you filter। You'll typically narrow to a Class section (40–60 students) or a specific cohort (e.g., 'all students with missing Aadhaar')।
Step 2 — Pick the fields. Click the field selector। 50+ fields appear, grouped into four categories: Profile, Academic, Parent, Address। Tick the ones you need। Each tick adds a column to the grid। Fields with a multi-language icon support per-locale input — typing the father's first name will let you enter both English and Hindi (or your regional script) for the same field।
Step 3 — Edit inline. The grid renders the right input for each field type — text input for names, date picker for date of birth, dropdown for blood group, photo picker for profile photo, toggle for RTE student। Tab between cells। Paste from Excel works। Empty cells stay unchanged। Edit only what you mean to change।
Step 4 — Save। Click Update। Inkwelly applies your changes per student in a single batch। Results dialog opens — every student row shows success, partial success (some fields updated, some failed validation), or full failure with the specific error। You can re-edit failed rows and submit again। No all-or-nothing rollback — 24 successful updates ship, 1 failure stays editable।
Every editable field, in 4 groups
- **Profile (24 fields):** Title, first/middle/last name (with multi-language input), admission number, registration number, date of birth, gender, mobile, email, blood group, religion, nationality (multi-lang), mother tongue (multi-lang), Aadhaar number, caste category, PE Number, ABC ID, APAAR ID, profile photo, active status, RTE student flag.
- **Academic (2 fields):** Roll number, registration number — the two fields office staff change every April after promotion.
- **Father (8 fields):** Title, first/middle/last name (multi-lang), mobile, occupation (multi-lang), education (multi-lang), work address (multi-lang) — entire father profile updatable from one row.
- **Mother (8 fields):** Title, first/middle/last name (multi-lang), mobile, occupation (multi-lang), education (multi-lang), work address (multi-lang) — mirrors father, separately addressable.
- **Address (6 fields):** Line 1, line 2, city, state, country, postal code — the permanent address that drives transport route assignment, scholarship eligibility, and HR mailings.
- **More than 50 fields total** — covering everything except marks, attendance, and fee details (which have their own dedicated bulk tools in their own modules).
Walkthrough — four screens, end to end




Filter scope first — don't open the whole school
Most school ERPs that have any kind of bulk view dump every student into one giant table। 1,200 students render at once, the page lags, and the office assistant scrolls forever to find the 8 students they actually wanted to edit। We don't do that।
The filter bar at the top supports class (and section), gender, and free-text name search — with the grid limiting to 100 students per page। Filter to Class 5 A — 47 rows। Filter to all girls in Class 8 — 32 rows। Filter to a name match like 'Ahmed' — 4 rows। You only see the students you intend to edit। Less to scroll, less to misclick, faster to save।


Pick only the fields you're editing today
If you're updating roll numbers, you don't need to see Aadhaar, religion, mother's occupation and 47 other columns। Pick only Roll Number from the field selector — the grid shows one column, every student। Tab → type → tab → type, like a real spreadsheet।
Fields are grouped into 4 sections — Profile, Academic, Parent, Address — with a 'Select all' shortcut per group। The fields with a multi-language icon (Languages icon from Lucide) are translatable — typing in them shows English + Hindi (or whatever locales your school has enabled), so you can update both at once। Common selections for an Indian school office: Roll Number + Registration Number for promotion week, Aadhaar + Mobile for verification cleanup, Father's Mobile + Mother's Mobile for parent contact updates after a parent meeting।
Inline grid — every input the right type
The grid renders a different input control for each field type, automatically:
- Text for names, addresses, Aadhaar number, mobile.
- Email input with format validation for email fields.
- Date picker for date of birth, with Indian DD/MM/YYYY format.
- Dropdown for gender, blood group, religion, caste category, title — enums shown as the localised label, value stored as the database enum (
MALE,A_POSITIVE,HINDU). - Boolean toggle for active status, RTE student flag.
- Number input for roll number with leading-zero support.
- Photo picker for profile photo — opens the school's media library.
Paste from Excel works for plain text columns। Tab moves to the next cell horizontally; arrow keys move vertically। The keyboard-driven flow matches what office staff already do in Excel — zero learning curve।


Multi-language input for state-board paperwork
Indian state boards — UP, Maharashtra, Karnataka, Tamil Nadu, West Bengal — frequently require student records in both English and the regional script। Transfer Certificates, Bonafide Certificates, scholarship application forms in Devanagari, Bengali, Tamil, Telugu, Kannada, Punjabi or Marathi। Most school ERPs make you maintain two records per student or accept one and ignore the other।
In Inkwelly's bulk update, fields marked with the multi-language icon (Languages) accept both English and your enabled regional locales in the same cell। Father's first name appears as 'Rajendra' (English) + 'राजेन्द्र' (Hindi/Devanagari) side by side। Save once, update both। Used by the Student Information module automatically when generating certificates in the parent's preferred language। Translatable fields include: student first/middle/last name, nationality, mother tongue, father's name + occupation + education + work address, mother's name + occupation + education + work address — the things that actually appear on certificates।
Per-row results — partial success works
The nightmare of bulk operations in most school ERPs: one student's record fails validation — maybe the Aadhaar is 11 digits instead of 12, or the email is malformed — and the entire batch rolls back। So you fix that one row, hit submit again, find another error, fix it, submit again। What was 1 batch becomes 5।
We handle this differently। Each row is processed atomically — success or failure independently। The Results dialog shows: 24 students updated successfully, 2 students partially updated (some fields applied, some failed), 1 student failed entirely। You see the specific error per row — 'Aadhaar must be 12 digits', 'Email format invalid', 'Mobile already exists for another student'। The 24 successful updates are saved। The 3 problematic rows stay in the grid for you to fix and re-submit। No data loss, no rollback churn। The audit log captures every change with who, when, and the previous value।

“April mein roll number assign karne mein pehle 2 din lagte the। Ab Class 5 A filter karke, Roll Number column pick karke, sab ko number type kiya, save — 12 minute mein sab ho gaya। Year-end mein documents bhi multi-language mein hain ab — Hindi medium parents ko Devanagari mein mil rahe hain।”
Real-world office routines this turns into 5-minute tasks
Five routine school office operations that traditionally take hours:
1. Promotion week roll-number assignment (April) — 100+ students promoted to new sections, each needing a new roll number। Without bulk update: 100 separate profile edits, 6 hours। With bulk update: filter to Class X Section Y, pick Roll Number column, type sequentially, save। 12 minutes for an entire class।
2. RTE student tagging after EWS verification (May) — 25 students admitted under the RTE 25% reservation, need their RTE student flag set after the District Education Officer verifies EWS certificates। Without bulk update: 25 separate profile edits। With bulk update: filter to admitted-this-year, pick RTE Student column, toggle 25 cells, save। Under 5 minutes।
3. Aadhaar cleanup audit (any month) — the document compliance dashboard shows 14 students with malformed Aadhaar numbers। Office assistant pulls the list, opens bulk update, filters by 'Class 1-12 with missing Aadhaar', pastes the corrected 12-digit numbers from a verification spreadsheet। 14 corrections in 6 minutes।
4. Parent contact campaign update (any month) — office calls parents to verify mobile numbers, collects updates from 30 parents। Bulk update with Father Mobile + Mother Mobile columns selected, type new numbers, save। 60 corrections (30 fathers + 30 mothers) in 10 minutes — vs 60 separate profile edits।
5. Multi-language migration (one-time, then ongoing) — your school is preparing CBSE renewal paperwork that requires student records in both English and Hindi। Filter to all students, pick the translatable fields (first/middle/last name, parent names), and add Devanagari versions to all 800 records। Bulk update lets the school complete this in two afternoons instead of two weeks। The certificates start generating in both languages from day one।
Common bulk operations Indian schools run every month
- **Promotion-week roll number assignment** — update Roll Number across an entire class section after annual promotion.
- **RTE 25% student tagging** — toggle RTE Student flag for verified EWS/DG admissions.
- **Aadhaar / APAAR / ABC ID cleanup** — fix malformed numbers identified by the document compliance dashboard.
- **Parent contact updates** — update father's and mother's mobile after parent verification campaigns.
- **Address updates after summer/winter break** — students who relocated, families who changed permanent address.
- **Caste category updates** — after caste certificate verification by the office.
- **Religion / mother tongue corrections** — routine corrections after admission week.
- **Active status updates** — mark students as inactive in bulk after they transfer out (with [TC generation](/modules/student-information) workflow).
- **Photo updates** — bulk-attach the new academic-year ID card photos taken during the photography session.
- **Multi-language record completion** — add Hindi/regional script versions of names and parent details for state-board paperwork.
- **Mother / Father occupation updates** — routine corrections when parents change jobs.
- **ABC ID + APAAR ID backfill** — add the new NEP 2020 identifiers across existing students.
See bulk update on your school's data, live in 30 minutes
Bring 5 routine office tasks you currently do one-by-one. We'll set up your school's classes during the demo, run all 5 tasks live with your real student list, and show how each becomes a single bulk operation.
Limits, safety, and the small print
100 students per page. The grid loads up to 100 students at once — enough for a typical class section, an entire grade, or a filtered cohort। To bulk-update across a larger set, page through using the filter (e.g., Class 1, then Class 2, then Class 3 — 100 students each) and run successive bulk saves। Each bulk save is its own atomic batch with its own results।
Empty cells stay unchanged. This is critical — the bulk update only writes fields you actually edited। If you select 5 fields but only edit 2 cells, only those 2 cells are updated। Empty cells in your edit are not interpreted as 'set this field to blank' — they're interpreted as 'don't touch'। To clear a field, type a single space then save (or use the individual profile edit which has explicit 'Clear field' affordance)।
Per-row atomicity. Each student is processed as its own transaction। Validation failures on one student never block updates on others। Partial-success rows preserve every successfully-applied field; failed fields stay editable।
Audit log per change. Every field change writes to the audit log — user, timestamp, IP address, previous value, new value, source ('Bulk Update Students')। The audit log is exportable from the school admin panel। If a wrong value spreads across many students, you find it, you trace it, you fix it।
Role-based access. Bulk update is gated to school admin and principal roles by default। Class teachers and other staff see only individual student profile edits in their assigned section। Configure permissions per role from school IAM settings।
Multi-tenant isolation. Like every Inkwelly module, your school's bulk update operates strictly on your school's student records। Multi-school trusts can run bulk updates per-school independently — no cross-tenant access, no risk of editing the wrong school's records।
Belongs to
1 moduleFrequently asked
7 questionsHow many students can I bulk-update at once?
Up to 100 students per page — enough for an entire class section or a filtered cohort. To update more, page through using the filter (Class 1, then Class 2, etc.) and run successive bulk saves. Each bulk save is its own atomic batch with its own per-row results.
What happens if one student's record fails validation?
Other students still update successfully. Each row is processed independently — if 24 of 25 students update fine and 1 has an Aadhaar format error, the 24 successes are saved and the 1 failure stays in the grid for you to fix. No all-or-nothing rollback. The Results dialog shows the specific error per row.
Can I bulk-update fields that need Hindi or regional script?
Yes — fields with the multi-language icon (`Languages`) accept English + your enabled regional locales side by side in the same cell. Translatable fields include student first/middle/last name, nationality, mother tongue, and parent names, occupations, educations, and work addresses. Save once, update both English and Hindi (or your regional script). Used automatically by Inkwelly when generating certificates in the parent's preferred language.
Will empty cells in my bulk update clear those fields?
No. Empty cells are treated as 'don't touch' — only fields where you actually typed a new value are written. This is intentional and important: it lets you select 10 fields but edit only 2 cells without accidentally clearing 8 others. To explicitly clear a field, type a single space and save, or use the individual profile edit which has an explicit 'Clear field' button.
Is there an audit trail of bulk changes?
Yes. Every field change writes to the same audit log as individual edits — user, timestamp, IP address, previous value, new value, and source ('Bulk Update Students'). The audit log is exportable from the school admin panel. Bulk operations don't bypass any audit — they generate the same per-field log entries that individual edits do, just at scale.
Can I paste data from Excel into the bulk update grid?
Yes for plain text columns (names, mobile numbers, addresses, Aadhaar). The grid handles standard tab-separated paste — select a starting cell, paste, and the values flow into adjacent cells. For dropdown fields (gender, blood group, religion), pasted values are matched against the enum values. Date fields accept paste in standard Indian DD/MM/YYYY format.
Can class teachers use bulk update for their section?
By default no — bulk update is gated to school admin and principal roles. Class teachers see only individual student profile edits in their assigned section. If you want a class teacher to use bulk update for their own section only, that's configurable from the school IAM settings as a per-role permission. Most schools keep it admin-only because the impact of a bulk error is large.
You might also like
2 readsSee Inkwelly on your school
30-minute demo. We open your current ERP with you and load your data into Inkwelly on the call. Dated go-live plan by the end of it.