Product Documentation
Reenjar is a school fee management platform built for Nigerian schools. It gives school administrators a web dashboard to manage students, collect fees, and settle funds — and gives parents a mobile app to view and pay fee requests from any school their child attends.
School 1. For Schools — Web Dashboard
1.1 Getting Started
Your school is registered on Reenjar by a member of the Reenjar team. Once onboarded you will receive a welcome email containing:
- Your school's login URL
- Your admin email address
- A temporary password
First steps after logging in
- Log in at your school's Reenjar URL using the credentials in your welcome email.
- Change your password by going to Settings → Team and resetting your account.
- Create your first Academic Session (e.g. "2025/2026") and add your classes.
- Import your students into each class.
- Add your settlement bank account under Finance.
Only one login is needed per school. You can add additional staff members with different permission levels from the Team page.
1.2 Dashboard Overview
The dashboard is the first screen you see after logging in. It gives you a live snapshot of your school's financial health:
| Section | What it shows |
|---|---|
| Total Students | Number of active, enrolled students |
| Connected Parents | Students who have at least one parent linked and accepted on the mobile app |
| Amount Collected | Sum of all fee payments received across the school |
| Outstanding | Total amount still pending or overdue |
| Collection Rate | Percentage of issued fees that have been paid (collected ÷ total issued) |
| Overdue Count | Number of individual parent requests that have passed their due date |
Contextual nudges appear at the top of the dashboard when action is needed — for example, if there are overdue requests, or if students have no connected parent.
Recent Requests shows the 5 most recently created payment requests with a quick paid/pending/overdue count for each.
Recent Payments shows the 8 most recent payments received, with the student name, parent name, and amount.
Class Snapshot shows a breakdown by classroom of collection rate, students, amount collected, and amount outstanding — sorted from lowest to highest collection rate so you can immediately see which classes need attention.
1.3 Academic Sessions & Classes
Go to Classes from the sidebar.
Creating an Academic Session
An academic session (e.g. "2025/2026") is the parent container for all your classes. You must have at least one session before adding classes or students.
- Click New Session.
- Enter a label (e.g.
2025/2026), start date, and end date. - Tick Set as current session if this is the active school year.
- Select class presets from the provided groups (Early Years, Nursery, Primary, JSS, SSS) or enter custom class names separated by commas.
- Click Create Session.
Only admin users can create sessions.
Preset class groups available
- Early Years: Creche, Kindergarten
- Nursery: Nursery 1, Nursery 2, Nursery 3
- Primary: Primary 1 through Primary 6
- Junior Secondary: JSS 1, JSS 2, JSS 3
- Senior Secondary: SS 1, SS 2, SS 3
You can add custom class names alongside or instead of presets.
Adding a Single Class
Inside the Classes page or on a session's detail page, click Add Class, type the class name, and save. Duplicate names within the same session are not allowed.
Graduation Classes
On a class's detail page you can toggle Graduation Class. When you run the promotion flow on a graduation class, checked students are marked as "Graduated" rather than moved to another class.
Past Sessions
All previous academic sessions appear below the current one on the Classes page. You can click into any past session to view its classes and the students in them.
1.4 Student Management
Viewing Students
The Students page lists all active students across your school. You can:
- Search by first or last name
- Filter by class
- Page through results (25 per page)
- Export the current filtered list to Excel
Adding a Single Student
Go to any class's detail page and click Add Student. Fill in: first name, last name, parent / guardian name, parent email address, and parent phone (optional).
The student is created immediately. If a parent with that email is already registered on the Reenjar mobile app, a school connection request is sent to them automatically.
Bulk Import via Excel
On a class's detail page, click Import Students. Download the template first if you do not have it — it has five columns: First Name, Last Name, Parent / Guardian Name, Parent Email, Parent Phone (optional).
Fill in one row per student and upload the file. Reenjar will:
- Import all valid rows
- Skip rows where the same student (same name + same parent email) already exists in your school
- Handle twins correctly — if two rows share the same name and parent email, both are imported
- Flag students whose name matches an existing active student for your review
After import, a summary tells you how many students were created, skipped, and flagged.
Duplicate Review
When a student is added whose full name matches an existing active student, they are automatically flagged. A warning badge appears on the Students page.
Go to Students → Review Flagged to see each flagged student alongside their name matches. For each pair you can:
- Keep — confirm they are different people and clear the flag
- Remove — mark the duplicate inactive
You can also select multiple and bulk-resolve.
Student Detail Page
Click any student's name to open their detail page. From here you can:
- Edit the student's first and last name
- Edit parent contact details (name, email, phone)
- Move the student to a different class
- View their full payment history (all fee requests and their statuses)
- See a payment summary (total, paid, pending, overdue)
Removing a Student
On a class's detail page, click Remove next to a student. They are set to "Inactive" and no longer appear in class lists or receive fee requests. They are not deleted.
Reactivating a Student
Inactive students can be reactivated. Open the student's detail page, click Reactivate, and optionally move them to a new class at the same time.
Promoting a Class
At the end of an academic session, go to a class's detail page and click Promote Class.
- All active students are listed with checkboxes (all pre-checked).
- Select a target class to promote into.
- Uncheck any students who should be held back.
- Click Promote.
Checked students move to the target class with Active status. Unchecked students are marked Held Back and remain in the original class. For graduation classes, checked students are marked Graduated and removed from class lists.
1.5 Fee Configuration
Before you can send tuition requests for a class, you need to configure the term fee for that class.
On a class's detail page, under Term Fees, you will see three terms. For each term you want to charge:
- Click Set Fee next to the term.
- Enter the amount (in Naira).
- Enter the due date.
- Optionally set how many days before the due date parents should be reminded.
- Save.
Fee configurations are stored per class, per academic year, per term. You can update a fee config at any time before sending the tuition request.
1.6 Sending Tuition Requests
Once a term fee is configured for a class, a Send Tuition Request button appears next to that term on the class detail page.
Clicking it shows a confirmation screen listing all active students in the class and the fee amount. Click Confirm to send.
Reenjar creates one payment request per active student (specifically, per primary parent mapping). Parents with the Reenjar mobile app receive a push notification immediately.
Once a tuition request has been sent for a term, the send button is replaced by the request's status summary. You cannot send the same term's tuition twice.
Catch-up Requests
If a student joined the class after a tuition request was already sent, a Catch Up button appears on the class detail page. Clicking it sends the existing request to any students who were missing from the original batch.
1.7 Sending Levy Requests
Levies are one-off charges outside regular tuition — field trips, uniforms, exams, events, etc.
Go to Payments → Send Levy.
- Description — what the levy is for (e.g. "Excursion Fee – Lagos").
- Amount — in Naira.
- Due Date — when payment is expected.
- Target — choose one of:
- Whole School — every active student
- A specific class — all active students in that class
- An individual student — search by name and select
- Tick Save as template if you want to reuse this levy in future (e.g. "Exam Fee").
- Click Send.
A live recipient count updates as you change the target, so you know exactly how many parents will be notified.
Levy Templates
Templates save the description and default amount of frequently used levies. When sending a levy, you can select a template to pre-fill the form. Templates are managed on the Levies page.
1.8 Tracking Payments
Go to Payments → Requests to see all payment requests.
Filtering
You can filter by: type (All, Tuition, or Levies), status (All, Pending, Overdue, Fully Paid), class, and term.
Request Detail
Click any request to open its detail page. You see a status summary (total, paid, pending, overdue counts) and a list of every parent request with the student name, class, parent name, and current status.
From here you can:
- Filter by status within the request (All / Pending / Paid / Overdue)
- Mark as Paid manually — for payments received via bank transfer, cash, or other means outside the app. Enter a reference number if you have one.
- Cancel outstanding requests — sets all pending and overdue items to Cancelled. Paid records are not affected.
- Export to Excel — downloads the full list, optionally filtered by status. Contains student name, class, parent details, amount, status, due date, paid date, and reference.
Overdue Status
Reenjar automatically marks a parent's request as "Overdue" when its due date passes and payment has not been received. This happens in the background whenever you load the dashboard, a class page, or a request page.
1.9 Finance & Settlement
Go to Finance from the sidebar.
Settlement Account
Before you can receive payouts, add your school's bank account:
- Select your bank from the dropdown.
- Enter your 10-digit account number. Reenjar will verify the account name automatically via Flutterwave.
- Confirm the account name that appears, then save.
Your settlement account can be updated at any time.
Balance
The Finance page shows: Total Collected (sum of all payments received via the Reenjar platform), Total Transferred (sum of all payouts initiated, excluding failed ones), and Available Balance (collected minus transferred).
Initiating a Transfer
- Enter the amount you want to transfer. It cannot exceed your available balance.
- Optionally enter a note for the transfer record.
- Click Initiate Transfer.
Reenjar sends the transfer to Flutterwave and records it as Pending. A confirmation email is sent to your school's registered email address with the transfer details. Funds typically arrive within a few minutes to a few hours.
Transfer Status
| Status | Meaning |
|---|---|
| Pending | Initiated, awaiting completion |
| Confirmed | Successfully paid out (updated automatically via webhook, or manually) |
| Failed | The transfer did not complete |
1.10 Team Management
Go to Settings → Team (admin only).
Roles
| Role | What they can do |
|---|---|
| Admin | Full access — students, classes, payments, finance, team management |
| Finance | Send levies, send tuition, mark payments as paid, cancel requests. Cannot add/edit students or manage the team. |
| Staff | Read-only access — can view students, classes, and payment requests. Cannot make any changes. |
Adding a Team Member
- Click Add User.
- Enter first name, last name, email, role, and a temporary password (minimum 6 characters).
- Share the credentials with the new team member.
Changing Roles
Any admin can change another user's role. An admin cannot demote themselves to a non-admin role if they are the only admin — they must promote another user first.
Removing a Team Member
Click Remove next to a user. They are deactivated and can no longer log in. The last admin account cannot be removed.
Resetting a Password
Click Reset Password next to any user, enter a new password (minimum 6 characters), and save.
1.11 Parent Connections
Reenjar connects your school to parents through the Reenjar mobile app. A parent must have the app installed and signed in to receive fee notifications and pay online.
How Connections Are Created
When you add a student with a parent email address, Reenjar checks whether a parent with that email is already registered on the mobile app:
- If they are, a connection request is created automatically with Pending status.
- If they are not yet registered, the connection is created automatically the moment they sign up on the app.
The parent sees the connection request in the app and can accept or decline it.
Viewing Connection Status
On a class's detail page, each student row shows the connection status of their primary parent:
- Not registered — the parent has not yet signed up to the app
- Pending — a connection request has been sent but not yet responded to
- Accepted — the parent is connected and will receive fee notifications
Resending a Connection Request
If a parent declined a request or you need to reinvite them, click Resend next to the student on the class detail page. This resets the connection to Pending and the parent sees it again in the app.
Cancelling a Connection Request
Click Cancel to remove a pending connection request from the parent's app.
1.12 Benefits for Schools
- Eliminate manual fee tracking. Reenjar replaces spreadsheets and written registers. Every student, every fee, every payment is in one place, always up to date.
- Reach parents directly. When you send a fee request, parents receive a push notification on their phone immediately. No calling, no circulars, no waiting.
- See who has paid and who hasn't — in real time. The request detail page shows you every parent's payment status at a glance. Filter by overdue, export to Excel for follow-up.
- Get paid faster. Parents pay directly from the app via bank transfer — no trips to the school office. Funds are deposited into your settlement account on demand.
- Stay organised across sessions. Academic sessions, classes, and students are structured so historical records don't disappear when a new year starts.
- Multiple staff, one dashboard. Give your finance officer or class teacher the right level of access. Admins have full control; finance staff can manage payments; staff can view.
- Bulk import from Excel. If you already have student lists in spreadsheets, import them directly. Reenjar skips duplicates and flags matches for your review.
- Reliable settlements. Transfer your collected balance to your school's bank account at any time. Reenjar tracks every payout with a reference number and sends you an email confirmation.
Parent 2. For Parents — Mobile App
The Reenjar parent app is available on Android and iOS. Download it from the Google Play Store or Apple App Store.
2.1 Getting Started
Sign In
Reenjar uses your Google account to sign you in. No separate password is needed.
- Open the app.
- Tap Continue with Google.
- Select the Google account whose email address your child's school has on file.
Important: use the same email address you gave to the school when enrolling your child. If the school has a different email on file, contact them to update it.
After signing in, the app checks whether any schools have an invitation waiting for your email and displays them immediately.
First-time setup
The first time you sign in, the app requests permission to send you notifications. Allow this so you receive alerts when a new fee request arrives.
2.2 Home Screen
The home screen shows everything you need at a glance:
- Outstanding Fees banner (top, accent-coloured section) — total amount you currently owe, number of pending requests, an "Overdue" badge if any are past due, and "All paid up" when nothing is owed.
- Outstanding fee cards — each card shows the fee description, your child's name and class, the amount, and the due date. Overdue cards are highlighted in red. Tap Pay now to initiate payment.
- Fee History — see all payments you have already made.
- Schools — manage your connections to schools, with a badge showing pending invitations.
Pull down anywhere on the home screen to refresh your data.
2.3 Paying a Fee
- On the home screen, find the fee you want to pay and tap Pay now.
- Reenjar contacts Flutterwave and generates a unique bank account for this transaction.
- A Bank Transfer sheet slides up showing: the exact amount, the bank name, the account name, the account number (with a one-tap Copy button), and an expiry time.
- Open your bank app and transfer to the account number shown, for the exact amount shown.
- Tap Done to dismiss the sheet.
Payment is confirmed automatically. When your bank transfer is received, Reenjar marks the fee as Paid and the card disappears from your outstanding list. No manual confirmation is needed.
Transfer exactly the amount shown. Virtual accounts may not match partial payments.
2.4 Fee History & Receipts
Tap Fee History on the home screen to see all fees you have paid. Each paid card shows the description, your child's name and class, the amount, and the date paid. Tap the card to open the full receipt.
Receipt Screen
The receipt shows: a confirmation header with the amount paid, description, student name, class, school name, date paid, and payment reference number (Flutterwave transaction ID).
Tap the share icon (top right) to share the receipt as plain text — useful for sending to a school bursar or keeping a personal record.
2.5 School Connections
Tap Schools on the home screen.
Invitations
When a school adds your child and has your email address on file, an invitation card appears here with an amber "Invitation" badge. Tap Accept to connect — you will then receive fee notifications from that school. Tap Decline to reject. The school can resend later.
Connected Schools
Schools you have accepted show as connected. Each card shows the school name and the names of your children enrolled there.
Disconnecting
Tap Disconnect on a connected school's card. A confirmation dialog explains that you will stop receiving fee requests from that school. Disconnecting does not affect any payments already made — your fee history is retained.
2.6 Push Notifications
After signing in, the app registers your device with Firebase. Whenever your school sends a new fee request, you receive a push notification immediately:
- Title: "New fee request — [School Name]"
- Body: "[Fee description]: ₦[Amount]"
Tapping the notification opens the app where you can view and pay the fee. Notifications are sent per device — if you reinstall the app, the token is updated automatically.
2.7 Benefits for Parents
- One app for all your children's schools. If your children attend different schools that both use Reenjar, all their fees appear in a single list.
- No more lost slips. Fee requests go directly to your phone. You can see every outstanding and paid fee from the beginning of the relationship with the school.
- Pay from anywhere, any time. Bank transfer payments are processed through your existing mobile banking app — no cash trips to school required.
- Automatic payment confirmation. As soon as your transfer hits, the fee is marked paid. You do not need to send proof of payment or wait for a school to manually update their records.
- Shareable receipts. Every payment generates a receipt you can share as text via WhatsApp, email, or any messaging app.
- Secure sign-in. The app uses Google Sign-In — no new password to create or forget.
- Overdue alerts. If a fee passes its due date without being paid, it is highlighted in red on your home screen.
3. How the Two Sides Connect
Here is the full flow from school action to parent payment, shown from each side:
4. Frequently Asked Questions
For Schools
Can I use Reenjar without the parent app?
Yes. You can send fee requests and track payment manually — marking payments as paid yourself when parents pay by cash or bank transfer. The parent app adds the ability for parents to pay directly and receive automatic notifications.
What happens to a student's payment history when I promote them to the next class?
Payment records are attached to the student permanently. Promoting a student to a new class does not remove any historical fee data. You can always see their full history on their student detail page.
Can I send a fee to a student who joined after the original tuition was sent?
Yes — use the Catch Up button on the class detail page. It finds all active students who do not yet have a record for that tuition request and creates one for each of them.
Can I edit a payment request after it's been sent?
No. Once sent, the amount and description cannot be changed. You can cancel outstanding (pending/overdue) requests and create a new one if needed. Paid requests are never cancelled.
What if a parent used the wrong email address to sign up?
The parent's connection to your school is based on the email address the school has on file. If the parent signed up with a different email, they will not see your school's requests. Ask them to contact you so you can update the email in their student's parent mapping.
Is there a limit to how many students I can import?
There is no documented limit. For very large schools, it is recommended to import by class rather than all at once.
Can multiple schools share the same Reenjar account?
No. Each school is a completely separate entity with its own login, students, classes, and financial records. Staff accounts belong to one school only.
What currency does Reenjar use?
Reenjar is built for Nigeria and uses Nigerian Naira (₦) exclusively.
For Parents
Do I need to create a new account?
No. Reenjar uses your existing Google account. If you already have a Gmail or Google Workspace account, you can sign in immediately.
What if my school is not on Reenjar yet?
Ask your school to contact the Reenjar team to get onboarded. Once the school is set up, they can invite you automatically when they add your child.
Why can't I see any fees after signing in?
Either your school has not sent any fee requests yet, or your email address in the school's records does not match the Google account you used. Contact your school's admin to confirm which email they have on file.
Can I pay part of a fee?
No. Virtual bank accounts are set up for the exact amount of the fee. Partial payments are not supported — you must transfer the full amount.
How long does the virtual account stay open?
Each virtual account has an expiry time shown in the payment sheet. If you do not complete the transfer before it expires, tap Pay now again to get a new account number. No payment is charged unless you actually make a transfer.
Is my payment confirmed automatically?
Yes. Reenjar receives confirmation from Flutterwave via webhook. As soon as your bank transfer is settled, the fee is marked paid — usually within a few minutes. You do not need to send proof of payment to the school.
Can I pay for fees from multiple children in one transfer?
No. Each fee request has its own virtual account. You must make a separate transfer for each fee using the Pay now button on each card individually.
What if I accidentally disconnected from a school?
Contact the school and ask them to resend your connection invitation. They can do this from the class detail page. Once they resend it, the invitation will reappear in your app.
Is my financial information secure?
Reenjar does not store your bank details. Payments are processed by Flutterwave, a PCI-compliant payment processor. Your Google account credentials are handled entirely by Google — Reenjar only receives a verification token.
For support, contact the Reenjar team at hello@reenjar.com or through your school's admin.