Skip to main content
All manual pages

People and access

Reports

The fifteen built-in reports, the filters and date presets they share, when a report counts monthly fee invoices, and how to print or export one.

Last updated August 15, 2026

What you'll do

Find the right report, filter it to the cohort you mean, and get it out of CampusQ as a printed sheet, an Excel file or a CSV.

Before you start

  • Reports read permission. It is a single permission covering all of them, so granting it grants the money reports too — see Roles and staff access.
  • The data the report reads. An empty report is almost always an upstream gap: no attendance marked, no invoices generated, no salary structures.
  • A clear idea of the cohort you want. Most reports now filter by class level and academic group as well as course and batch, and the filter is what defines the answer.

The shared toolbar

Every report opens inside the same shell, so once you know one you know all fifteen.

ControlWhat it does
Print / PDFOn all fifteen. Opens your browser's print dialog — print, or save as PDF.
Export ExcelOn all fifteen.
Export CSVOn six of them only (listed below).
RefreshRe-runs with the filters as they stand.
Back to ReportsReturns to the index.

CSV is capped. The tooltip is precise: Downloads a CSV built by the server, with the filters currently applied. Limited to the first 5000 rows — narrow the filters if you need more. A CSV that stops at 5 000 rows is not an error, and it will not tell you it truncated. If your centre is near that size, filter by batch and take several files.

The printed sheet carries Generated:, By:, an Applied filters block and a Rows: line. That filter block is why a printout is defensible evidence — it states what was and was not included.

Date presets

Three reports have a Date range selector: Revenue, Payment Transactions and Enrollment List. The options are Custom range, Today, This week and This month.

Picking a preset clears and disables the date pickers, and says so: The server works out this range, so the From and To pickers are cleared and switched off. Choose "Custom range" to set the dates yourself.

That is deliberate. The server decides where "today" starts using your centre's own business day, so a preset gives the same answer at 03:00 as it does at 15:00 — which hand-picked dates in your browser's timezone will not.

The fifteen reports

Students, enrollments and money owed

ReportWhat it answersPresetsCSV
RevenueRevenue collected and outstanding across batches and courses, with grand totals. Group by No grouping, By Batch, By Course or By Month.YesYes
Payment TransactionsAll individual payments with method, status, and receipt details.YesYes
Outstanding DuesEnrollments with unpaid balances, highlighting overdue periods. Invoice-aware — see below.NoYes
Enrollment ListAll enrollments with status, payment progress, attendance, and grade data.YesYes
Batch PerformancePer-batch attendance, grades, completion rates, and financial performance.NoYes
Student RosterPrintable student list for a selected batch, with contact and guardian info. Loads as soon as you pick a batch — no Apply.NoNo

Batch Performance has a CSV caveat printed on the page: The CSV export cannot apply the batch start-date window, so its file will cover more batches than the table. Print and Excel do apply it. If the start-date window matters to your answer, do not use the CSV.

Finance

ReportWhat it answers
Income & ExpenseWhere the money came from and where it went, by category, for any period. Totals per direction with a percentage share. Note on the page: Transfers between your own accounts are excluded — they are not income or expenditure.
Account StatementEvery entry against one account, with opening, running and closing balance. Pick the account first — Choose an account — Pick a money account, then apply to see its statement.
Collection by MethodHow much came in through cash, bKash, Nagad, Rocket, bank and the rest.
Daily CollectionEvery payment taken on a single day, with per-method totals for the drawer. One date, plus a Today button. This is the end-of-day cash-up sheet.

None of the four takes a date preset or exports CSV; all four print. They read the cash book — see Accounts and expenses.

Academic

ReportWhat it answers
Merit listRank students within one exam, or across a batch's exams. Rank by offers One exam or A batch across exams. Note: Ties share a rank and the next rank is not skipped. Filters apply before ranking. Two things differ from the on-screen merit list: absentees are ranked here (an absent paper counts as 0 marks), and the GP column is the plain average of the student's grade points rather than the fail-zeroed GPA a report card shows. See Grading scale, GPA and merit lists.
Monthly AttendanceAttendance percentage per student for a month, by batch. Note: The denominator is every non-cancelled session the batch held that month — an unmarked session counts against the student.

That denominator note is worth reading twice. A session you forgot to mark counts against every student in it. If a batch's percentages look wrong, look for unmarked sessions before you look for absent students.

Teachers

ReportWhat it answers
Teacher AttendanceAttendance summary per teacher for any date range. Marked days, present, late, absent, leave and a percentage.
Teacher PayrollPayout summary per teacher, excluding voided payments. Splits From runs and Ad-hoc, and states what it dropped: voided payment(s) are excluded from every figure above — their ledger entries were reversed. See Salary and payroll.

Monthly fees

Fee Collection RegisterOne month of fees per enrolment: invoiced, collected, outstanding and waived. Pick a Month, optionally narrow by course, batch, class level and academic group. It exports CSV.

Read the callout, because it decides whether the numbers add up in your head:

Waived money is reported on its own and is not part of the invoiced, collected or outstanding totals — fees the centre chose not to charge are not a debt. So invoiced minus collected equals outstanding, and waived sits outside that sum.

Its three empty states each mean something different: nothing applied yet; No invoices for this month yet (generate the month's fees, or pick another month); and No students match these filters (the month has invoices, just none in your cohort).

Which reports know about invoices

Only two, and it matters because they are the two you use to chase money.

Outstanding Dues has a toggle, Include monthly fee invoices:

On, the list carries both monthly fee invoices and the frozen balance of each course enrolment. Off, only the course balances are shown, so the total will be lower.

With it on, each row is typed — Course balance or Monthly invoice — and there is an Invoice month column. The two sources never overlap: a monthly-billed enrollment carries a frozen total of zero, so nothing is counted twice. See Monthly fees and invoices.

Fee Collection Register is built entirely on invoices. A centre with no monthly batches will find it empty, correctly.

Every other report ignores invoices.

Sending reminders from Outstanding Dues

Outstanding Dues carries Send SMS RemindersSend a payment-due reminder SMS to every student in this filtered list (1 credit per SMS). Confirm and it goes: Sends a due-reminder SMS to up to student(s) matching the current filters. Each SMS costs 1 credit.

Both of those figures are accurate: one message costs one credit, whatever its length or language. The count is of debts, not of people, though. A student who owes both a frozen enrollment balance and a monthly invoice is chased once for each, so the run can send more messages than the list has rows. See SMS and notifications.

Some filters block it, and the message explains exactly why:

Reminder SMS can only be filtered by course, batch and days overdue. Clear the class level, academic group, roll number and invoice filters first — otherwise the messages would reach more students than the list shows.

That is a safety rule, not a limitation. The SMS job filters on a smaller set of fields than the report does, so a narrower on-screen list would have produced a wider send. Refusing is better than surprising three hundred guardians.

You also need the category enabled: Due reminders are disabled — Enable 'Due reminders' under Settings → SMS Notifications first. And in normal operation you should not be pressing this button much at all — nightly automated reminders do the same job on a schedule. See SMS and notifications.

Notes

  • Fifteen reports, one toolbar. Print and Excel everywhere; CSV on six.
  • CSV stops at 5 000 rows, silently. Narrow the filters.
  • Date presets on three reports only, and they use your centre's business day rather than your browser's clock.
  • Class level and academic group filters are on most reports now. They apply before any ranking or averaging, so they define the cohort rather than just hiding rows.
  • Two reports know about invoices: Outstanding Dues (opt-in) and Fee Collection Register (always).
  • Waived money is reported separately and is not a debt.
  • Reports are read-only — except the reminder button on Outstanding Dues, which spends SMS credits: one credit per message sent, and one message per outstanding debt rather than per student.
  • Printed reports carry their filters. That is what makes a printout evidence rather than a number.
  • Merit list is not in the sidebar. It is a card on the Reports index.
  • The printed merit list is not the on-screen one. It ranks absentees and its GP column ignores the fail rule.
  • Synthetic examples only. Any figure or name shown here is invented.

Troubleshooting

A report is empty. Nearly always an upstream gap rather than a report fault: no attendance marked, no invoices generated for the month, no salary structures, or a filter narrower than you meant. Each report's empty state says which.

My CSV has fewer rows than the screen. It stopped at 5 000. Filter by batch or a shorter period and take several files.

Batch Performance's CSV covers batches the table does not. Known and stated on the page — the CSV cannot apply the start-date window. Use Print or Excel when that window matters.

Outstanding Dues total went up. You switched Include monthly fee invoices on. The higher figure is the complete one.

Send SMS Reminders is disabled or refused. Either due reminders are switched off in SMS settings, or you have filters set that the reminder job cannot honour. Clear the class level, academic group, roll number and invoice filters.

A batch's attendance percentages look far too low. Look for unmarked sessions. The denominator is every non-cancelled session the batch held, so a session nobody marked counts against everyone in it.

Teacher Payroll shows less than I paid. Voided payments are excluded from every figure, and the report says how many.

The date pickers are greyed out. A date preset is selected. Choose Custom range to set dates yourself.

A staff member can see the finance reports and I did not intend that. Reports is one permission covering all fifteen. If you need somebody to see attendance but not money, they should not have it — see Roles and staff access.