Appearance
Adding staff
Creating accounts for teachers and office staff, and getting them logged in. 5 minutes per person, or minutes for a whole school by import.
Adding a staff member creates two things at once: an employment record (their designation, joining date, salary details) and a login account. There is no separate "create user" step.
Sidebar → Human Resource → Staff Directory
The page opens on the Staff tab of the Human Resource area. Everything on this page lives under those tabs.
Before you start: designations
Designation is a required field, and it is a dropdown. If your Designations list is empty, the staff form cannot be saved at all — and the error is not obvious.
Do this first:
- Designations tab → add the job titles you use:
Principal,Senior Teacher,Accountant,Lab Assistant - Departments tab → optional, but useful for reports:
Primary,Science,Administration
Both are simple name-only lists, and both are yours alone — no other school sees them.
Designation and role are different things
The designation is the job title printed on ID cards and reports. The role is what the system lets them do. A "Senior Teacher" and a "Head of Department" can both have the plain teacher role.
Adding one staff member
Add Staff
The required fields are few. Everything else can wait.
| Field | Required | What to enter |
|---|---|---|
| Full Name | Yes | As it should appear on ID cards and reports |
| Yes | Becomes their login. Must be unused anywhere on the platform | |
| Role | Yes | What they may do — see roles & permissions |
| Staff ID | Yes | Your own staff number. Must be unique within your school |
| Designation | Yes | From your designations list |
| Gender | Yes | |
| Biometric ID | No | The ID this person has on your attendance device |
| Department, dates, phone, photo | No | Fill in as you have them |
Four more tabs hold the rest: Bank Details (needed before payroll), Statutory IDs (PAN, Aadhaar, PF, ESI, UAN — labels suit your region), Social Media, and Additional Info if your school has custom fields.
Then Save. You should now see the staff member in the directory.
Every new staff account starts with the password password
Adding a staff member creates their login with that exact password. Until you change it, anyone who knows an email address can sign in as that person.
Do one of these immediately after adding someone:
- Send Credentials on their profile — this generates a fresh random password and sends it to them, or
- Update Password on their edit page — set one yourself
Do not create a batch of staff on Monday and send credentials on Friday.
Getting them logged in
Open the staff member's profile and choose Send Credentials.
That does three things:
- Generates a new random password (the old one stops working immediately)
- Sends the email and password to them, on whichever channels your school has enabled for login credentials — email, SMS, WhatsApp
- Shows you the generated password on screen, so you can read it out if their messages do not arrive
Send Credentials always changes the password
It does not resend the existing one — it cannot, because passwords are not stored in readable form. Sending credentials twice means the first message is now wrong. Tell people to use the most recent one.
Nothing arriving?
Credentials go out through your school's configured channels. If email or SMS is not set up, the button reports success and nothing is delivered. Read the password off the screen and give it to the person directly, then get messaging configured.
Adding a whole school at once
Staff Directory → Bulk Import
- Download the template
- Fill it in, keeping the columns exactly as they are
- Upload it — under 5 MB,
.csvonly
The 12 columns, in the order the file expects them:
staff_id_card, name, email, role, designation, department, gender, phone, date_of_birth, date_of_joining, address, biometric_id
Of those, staff_id_card, name, email, role, designation and gender must have a value in every row.
Do not reorder or rename the columns
Columns are read by position, not by name. A moved column silently loads phone numbers into the address field. The import checks the header row and refuses the file if it does not match — do not work around that check, re-download the template.
Designations and departments must already exist
A row naming a designation you have not created is skipped with "Designation … not found. Please create it first." Create both lists before you import, not after.
Rows that fail are skipped and reported individually with their line number — the rest of the file still imports. Duplicate emails within the same file are caught too.
Imported staff cannot log in until you send credentials
Bulk import gives every account a random password that is never shown to anyone. Nobody can sign in until you open each profile and choose Send Credentials.
For a big import, plan that as the second half of the job, not an afterthought.
The staff app and device binding
Staff who use the mobile app to mark their own attendance are locked to the first device they log in from. That is deliberate — it stops one person marking attendance for five colleagues from one phone.
When someone genuinely changes phone: their edit page → Reset Device.
That clears the binding and signs them out of the old device. They log in on the new one and it binds there.
This is the fix for "my attendance app won't let me in"
It is almost always a new or reset phone. Reset the device binding rather than resetting their password — the password is not the problem.
While they work here
| You want to | Where |
|---|---|
| Change job title, department or salary details | Edit Profile |
| Promote someone or change what they can do | Promote / Change Role on their profile |
| Store contracts, certificates, ID copies | The documents section of their profile |
| Record that they are on leave, suspended or have resigned | The status field on their profile |
Status options are Active, On Leave, Suspended, Resigned and Terminated, with an exit date and reason where relevant.
Mark leavers, do not delete them
A resigned staff member with an exit date keeps their payroll history, their past attendance and their name on last year's report cards. Deleting them tries to erase all of that — which is why the system usually refuses.
Deleting
Blocked when the person has real history:
| Blocked because | Fix first |
|---|---|
| They have paid payroll records | Do not delete. Set their status to Resigned |
| They are assigned to teach subjects | Remove their subject allocations |
| They have timetable entries | Clear their timetable slots |
Real example
Apex Academy onboarded 48 staff in an afternoon:
- Designations — 9 titles, typed once
- Departments — 6, typed once
- Bulk Import — one CSV of 48 rows; 3 rows bounced for a designation typo, fixed and re-uploaded
- Send Credentials on each profile — the slow part, about 40 minutes
- Bank details filled in later, only for the staff who were going on payroll that month
Common problems
| What you see | Cause |
|---|---|
| The Designation dropdown is empty and the form will not save | No designations exist. Create them on the Designations tab |
| "The email has already been taken" | That address exists somewhere on the platform — possibly as a parent, or at another school |
| "Email … is already in use by another school" during import | Same cause. One email, one account, platform-wide |
| A staff member says the password does not work | Their password was regenerated by a later Send Credentials. Use the newest one |
| Nobody receives credentials | Email/SMS/WhatsApp is not configured for your school. The password is still shown on screen |
| A teacher cannot log into the mobile app | Device binding. Use Reset Device on their edit page |
| "Cannot delete this staff member …" | They have payroll, teaching or timetable history. Set their status to Resigned instead |
| A new teacher can see more than you expected | The default teacher role is broad. See roles & permissions |