Skip to main content
All manual pages

Daily operations

Students, imports and roll numbers

Add students one at a time or import hundreds from a spreadsheet, record guardian details, share a guardian link, and understand how roll numbers are allocated and renumbered.

Last updated August 13, 2026

What you'll do

Get your students into CampusQ — one form at a time for walk-ins, or a spreadsheet import for an existing list — capture the guardian details that make SMS and the guardian link work, and understand how roll numbers are allocated so you never re-issue a number that has already been printed.

Before you start

  • Each student's full name and mobile number in 01XXXXXXXXX form. Those two are all that is strictly required.
  • Guardian name and mobile number, if you want the guardian link and reminders to reach anybody.
  • For an import: your existing list as CSV or Excel, and about ten minutes to reshape the columns.
  • The Students permissions, and Enrollments if you also want to put them in a batch.

Add one student

Go to Students (Manage students and their enrollment information.) and press Add Student.

The dialog opens with a choice: Create New User (the normal case) or Select Existing User for somebody who already has a login at your centre, for example a teacher's child.

Under New User Information:

FieldRequiredNotes
Full NameYesAs it should print on a register or report card.
UsernameYesThe placeholder tells you it is Auto-generated from name — accept it unless you have a convention. It cannot be changed after creation.
Phone NumberYes01XXXXXXXXX (11 digits). This is where their login SMS goes.
PasswordYesEnter password (min 8 characters).
Email (Optional)No

Then the guardian and academic details:

FieldNotes
Guardian Name, Guardian Phone, Guardian EmailOne guardian per student. There are no separate father/mother fields.
Emergency ContactA second number for emergencies.
Date of Birth, Gender, Religion, Address, NotesOptional.
School/CollegeType-ahead. Select or type School/College — a new name offers Add new school/college: so you can create it inline.
Class Level, GroupSee Class levels and groups.
StatusOn edit only: Active, Inactive, Suspended, Graduated, Dropped, Upcoming.

Press Create. If Credential SMS is enabled under Settings, the student is sent their login URL, username and password automatically — see SMS and notifications. There is no confirmation prompt and no per-student "send credentials" button, so decide that setting before you start a bulk data-entry session.

The student now has a Enrollment No. — a centre-wide student ID generated by CampusQ. Adding a student does not put them in a batch; do that from Enrollments and fees.

Import a list

Students → Import opens a three-step importer: Bring in many students at once from a CSV or Excel file.

Step 1 — Get the template right

Press Download template. You get student-import-template.csv with exactly these headers and one example row:

fullName,phone,guardianName,guardianPhone,gender,dateOfBirth,address,academicInstituteName,notes
Demo Student 1,01700000001,Demo Guardian 1,01800000001,male,2008-03-09,"House 1, Road 2, Dhaka",Demo City College,

Required: fullName and phone. Everything else is optional. Some sensible aliases are accepted — name or studentName for fullName, mobile or phoneNumber for phone, dob for dateOfBirth, school or institute for academicInstituteName — and matching ignores case and punctuation.

Formats that must be exact:

  • phone — eleven digits starting 01.
  • dateOfBirthYYYY-MM-DD, e.g. 2008-03-09.
  • gendermale, female or other.

Maximum 500 students per file. Split a longer list.

Step 2 — Upload and read the preview

Press Choose file (CSV or Excel (.xlsx). Up to 500 students per file.).

The preview shows every row with Row, Full Name, Phone, Class / Group (suggested) and Status, plus two counters at the top: N ready and N need fixing.

Rows that need fixing tell you exactly why: Full name is required., Phone must be a valid number (01XXXXXXXXX)., Duplicate phone in this file., Date of birth must be in YYYY-MM-DD format. Fix them in your spreadsheet and use Choose another file, or import the good rows now and re-import the rest.

Step 2a — Map your spreadsheet's class column (optional)

Your list almost certainly has its own class column, with values like 9(Sci), এসএসসি or HSC-Business that mean nothing to CampusQ until somebody translates them. If the importer recognises such a column it says so on the preview step: Found a class/group column: "class".

Read the hint before you act, because it is the whole caveat: The importer does not save this column. Map it to see suggested class levels and groups, then set them on the students afterwards.

  1. Press AI map class levels.
  2. Each distinct value in your column gets a suggestion in the Class / Group (suggested) column, drawn from the class levels your centre has actually defined. Values it cannot place are tagged No match.
  3. You are told the scope of what happened: N distinct value(s) mapped. Suggestions are shown for review only.

Two things to be clear about, because the button's name promises more than it does:

  • Nothing is written. Imported students land with no class level and no group, whether or not you ran the mapping.
  • You still set them yourself. After importing, open each student and set Class Level and Group, using the mapping as your key.

So the value is that it turns the spreadsheet's shorthand into your own vocabulary before you start typing — not that it does the typing. It also means you should create your class levels before you import, or the mapping has nothing of yours to match against. See Class levels and groups.

The button only appears when the file has a column CampusQ recognises as class-like — it looks for headers such as class, class level, group, section, শ্রেণি, বিভাগ. If the feature is not enabled on your installation you will see AI mapping is not configured for this installation. Either way the import itself works normally.

Step 3 — Import

Press Import N students. The result step reports N created and N rejected, with each created row showing its new enrollment number. Download rejected rows gives you a file you can correct and feed back through Import another file.

The importer creates students. It does not enroll them in a batch, set a class level or a group, or record a payment.

Roll numbers

A roll number is not a property of a student. It belongs to the enrollment — one student in one batch — so the same student in two batches has two roll numbers, and every batch starts again at 1.

You cannot type a roll number. CampusQ allocates it when you create the enrollment, and the rule is deliberate: the next roll is the highest roll in the batch plus one, never the student count plus one.

That distinction matters. Suppose a batch has rolls 1 to 7 and roll 4 leaves. The next student gets 8, not 4. The reason is written into the code as a comment:

Deliberately max-based rather than count-based so deleting a mid-batch enrollment never re-issues a roll that already appeared on a printed document. Gaps are closed only by an explicit renumber.

So gaps in your roll numbers are correct, not a bug. Roll 4 is on an attendance register and a report card somewhere; handing it to a different student would make those documents wrong.

Roll numbers appear in the Roll column on the Enrollments list.

Renumbering a batch

When a batch has settled — admissions closed, drop-outs done — you may want a clean 1..n sequence for your printed register. That is what Renumber rolls does. It is on the batch's row menu, not on a student.

  1. Go to Batches and open the row menu for the batch.
  2. Choose Renumber rolls.
  3. Read the confirmation, which states both what happens and why it is recorded: Reassign roll numbers 1..n by student name for batch "Demo HSC Physics — Morning"? Roll numbers appear on printed documents, so the change is recorded in the audit log.
  4. Confirm. You are told how many changed: N roll number(s) reassigned.

Roll numbers are reassigned alphabetically by student name, closing every gap.

Treat this as a document-control event. Every register, receipt and report card you have already printed for this batch now disagrees with the system. Renumber once, at a point in the year you can defend — ideally before you print anything — and tell your teachers you have done it. The full old-to-new mapping is written to the audit log, but there is no screen in CampusQ that shows it to you, so if you need that mapping, export or photograph the register before you renumber.

Guardian access

Guardians do not get a login. What they get is a read-only link you share with them.

  1. On the student's row menu, choose Guardian link.
  2. The link is copied to your clipboard — Guardian link ready — Link copied to clipboard. If the student has a guardian phone number, WhatsApp also opens with the message prefilled: Follow Demo Student 1's attendance, results and dues here:
  3. Send it.

The page the guardian sees shows the student's name, Enrollment No., Attendance, Outstanding dues with a Pay now button, and Recent results. It carries its own disclaimer: This is a read-only summary shared by the coaching centre.

Two things to know:

  • The link expires after 30 days. After that the guardian sees This link is invalid or has expired. Please ask the coaching centre for a new one. Generate a fresh one.
  • Only one link is active per student. Generating a new link revokes the previous one — which is also how you cut off access if a link ends up in the wrong hands.

Anyone holding the link can see that student's attendance, results and dues, so treat it as personal data: send it to the guardian's own number, and re-generate if you are not sure where it went.

Notes

  • Enrollment No. is not a roll number. Enrollment No. is the centre-wide student ID on the Students list. Roll is per batch, on the enrollment. Reports and result sheets use both.
  • Username cannot be changed once the student is created. Names can.
  • There are no filters on the Students list — search only.
  • Deleting a student is permanent. The confirmation quotes the enrollment number back at you (Delete student with enrollment 26-08-00042?) precisely so you check it. Prefer setting Status to Dropped or Graduated.
  • Some option labels are English-only. Gender, Religion and Status dropdown values, and the Status tag on the list, show their raw English values even when the app is in Bengali.
  • Every example here is synthetic. Demo Student 1, 01700000001 and Demo City College are invented. Never put a real student's data in a screenshot, a ticket or a test import.

Troubleshooting

Every row in my import says the phone is invalid. Excel has almost certainly dropped the leading zero and stored the number as a numeric value. Format the column as text before typing, or prefix each cell with an apostrophe, then re-export.

A student imported fine but does not appear in attendance or exams. They are a student but not enrolled in a batch. Attendance and marks lists are built from enrollments — see Enrollments and fees.

My roll numbers have gaps. That is by design; see above. Use Renumber rolls on the batch only if you accept that already-printed documents will no longer match.

A guardian says the link does not work. Either it is more than 30 days old, or you generated a newer link that revoked it. Generate a fresh one from the student's row menu and send that.

A student says they never got their login details. Credential SMS may be switched off, or your SMS credit balance may be empty. Check Settings → SMS Notifications. There is no resend button, so you may need to set a new password and re-save the student.

The import rejected a row for a duplicate phone and the number is genuinely shared between siblings. The check is per file, and phone numbers must be unique. Give the second sibling the guardian's number in the guardianPhone column and a different number — or import them separately and reconcile by hand.