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
Registering your school
Apply on the Reenjar website using Register your school. You provide your school's name, contact details, CAC registration number, and school levels. Your application is reviewed by the Reenjar team, and once approved your school is activated and you receive a welcome email containing:
- Your login URL
- Your admin email address
- A temporary password
First steps after logging in
- Log in with the credentials in your welcome email. You are prompted to set a new password on first sign-in.
- Create your first Academic Session (e.g. "2025/2026") and add your classes.
- Import your students into each class.
- Configure your term fees, and add your settlement bank account under Finance.
Onboarding checklist & handouts
A short onboarding checklist tracks your setup progress (students added, parents connected) so you can see what is left to do. From it you can also download two printable handouts to give to parents:
- A parent guide, how to download the app and connect to your school.
- A registration sheet, for collecting parent names and phone numbers to enrol students.
You can change your own password at any time from your account settings, and add 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 | Active students whose parent has accepted them on the mobile app (consent is per child) |
| 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, and the parent / guardian's phone number (email is optional). The phone number is what links the child to their parent's app.
The student is created immediately. If that phone number already belongs to a registered parent, a per-child connection request is sent to them to review, the parent must accept the child before any fees for that child appear in their app.
Bulk Import via Excel
On a class's detail page, click Import Students. Download the template first if you do not have it, its columns are: First Name, Last Name, Parent Phone, and Parent Email (optional). The parent phone number is required, it is how each child is matched to their parent's app.
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 phone) already exists in your school
- Handle twins correctly, if two rows share the same name and parent phone, both are imported
- Send each already-registered parent a per-child connection request to review
- 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.
From the Students page, open Review Duplicates 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 the parent's phone number (the connection key) and other contact details
- See this child's connection status and Resend or cancel the connection
- Move the student to a different class
- View their full payment history, open the Trail for any fee, and see a payment summary (total, paid, pending, overdue)
If you correct a parent's phone number here, that child's connection moves to whoever owns the new number automatically; the parent's other children are unaffected.
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, open the Fees tab. You will see the three terms. For each term you want to charge:
- Click Set tuition for that 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.
Setting the same fee for several classes at once
If several classes are charged the same tuition for a term, you do not have to repeat the form class by class. On the Classes page, the current session's classes appear as a checklist:
- Tick the classes that share the same fee.
- Choose the term and enter the amount, due date, and optional reminder window once.
- Apply, the same fee is set for every selected class in one action.
This only affects the current session's classes, and applying it again simply updates the fee for those classes. Fee-setting requires admin or finance access.
1.6 Sending Tuition Requests
Once a term's tuition is configured, a Send fee request button appears for that term on the class's Fees tab.
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.
On the Payment Requests page, click Send a 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
Open Payment Requests from the sidebar to see all payment requests.
Filtering
You can filter by: type (All, Tuition, or Levies), status (All, Pending, Overdue, Fully Paid), class, and term.
Reminding many requests at once
Rather than opening each request one by one, you can remind across several at the same time. On the Requests list, tick the requests you want to chase and choose Remind all outstanding, every parent with a pending or overdue fee under any selected request receives an email and push reminder in one action. Reenjar tells you how many parents were reminded across how many requests. (You can still send a reminder for a single request from its detail page.)
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)
- Send a reminder, email and push a reminder to every parent with an outstanding fee under this request.
- Mark as Paid manually, for payments received as cash or a direct bank transfer outside the app. Enter a reference if you have one. These are recorded for your bookkeeping but are not part of your withdrawable Finance balance (see §1.9).
- 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.
How app payments are confirmed
When a parent pays through the app, Reenjar does not simply trust the notification, every incoming payment is independently re-verified with the payment processor (amount, currency and reference) before the fee is marked Paid. Your dashboard updates automatically, the parent gets a receipt, and your school receives a "payment received" email. A parent with several children at your school can also settle everything in one bank transfer ("Pay all"); you will receive a single email covering all of those fees, and each child's fee is confirmed individually.
Payment Trail
Every parent request has a Trail link that opens a plain-language, chronological history of that one fee: when the request was sent, when reminders went out, when the parent generated a bank-transfer account, what money arrived, and when it was confirmed. This is the fastest way to resolve a "the parent says they paid but I don't see it" question, the whole story is on one screen.
Needs attention & re-checking
If money arrives that cannot be applied, a short transfer, or an amount that does not match the fee, it is never silently lost: the fee stays unpaid, a Needs attention badge appears on that parent request, and your school is emailed. Open the Trail to see exactly what happened.
For a fee a parent insists they have paid, use the Re-check payment button on the Trail page. Reenjar asks the payment processor directly whether a completed payment exists for that fee and, if so, applies it on the spot, no support ticket needed.
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, and also once every morning automatically, so parents see the correct status even if no one has opened the dashboard. A separate daily job sends parents a "fee due soon" reminder as a due date approaches.
Defaulters
Open Defaulters from the sidebar for a focused list of everyone with an overdue fee (past the due date and unpaid, pending fees that are not yet due are excluded). Entries are grouped by student, with the parent's contact details and the total amount overdue for that child, so you can chase the right people directly.
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 with the payment processor.
- Confirm the account name that appears, then save.
Your settlement account can be updated at any time.
Balance
The Finance page shows four figures:
- Collected via Reenjar, payments received through the app (bank transfers processed and verified by the payment processor). Payments you record yourself with Mark as Paid (cash or direct transfer) are not included here, that money never passed through Reenjar, so it is kept for your records but is not part of your settlement balance.
- Reenjar fees, the per-transaction fee on those app payments.
- Transferred out, the sum of all payouts you have initiated, excluding failed ones.
- Available balance, what you can withdraw: collected via Reenjar − Reenjar fees − transferred out.
Because only verified app payments are withdrawable, the Finance balance may be lower than the total on your dashboard, which also counts cash payments you have recorded manually. This is expected, Reenjar can only settle money it actually received.
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 the payment processor and records it as Pending. A confirmation email is sent to your school's registered email address with the transfer details. When the processor confirms the payout, Reenjar verifies it and marks the transfer Confirmed automatically. Funds typically arrive within a few minutes to a few hours.
Concurrent transfers are protected: if two people initiate a payout for your school at the same moment, only one can draw on the available balance, the other is safely rejected rather than over-drawing.
Billing
The Billing page shows what Reenjar charges your school: your effective per-transaction fee, the number of billable transactions (app payments), the total fees charged, and a paginated history of each billed transaction. This is separate from the settlement balance above, it is a transparent record of Reenjar's charges, not money you withdraw.
Transfer Status
| Status | Meaning |
|---|---|
| Pending | Initiated, awaiting completion |
| Confirmed | Successfully paid out, set automatically once the payment processor confirms the payout (independently verified; there is no manual confirm step) |
| Failed | The transfer did not complete |
1.10 Team Management
Open Team from the sidebar (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. |
On top of these roles, a "Manage students" permission can be granted individually to a Finance or Staff user from the Team page, letting them add, edit, import and promote students without changing their role. Admins always have it. This permission never grants access to team or user management, which stays limited to admins.
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
Connections are per child, matched by the parent's phone number. When you add a student, Reenjar checks whether that phone number already belongs to a registered parent:
- If it does, a Pending connection request for that specific child is sent to them to review.
- If not, the request is created the moment that phone number signs up on the app.
The parent reviews each child and accepts or declines. A child's fees only become visible once the parent has accepted that child, a mistyped phone number can never expose one family's fees to another.
Viewing Connection Status
On a class's detail page, and on each student's detail page, the student's connection status is shown:
- 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 or student detail page). This resets the connection to Pending, sends the parent a push notification, and the child reappears on their Schools screen to review.
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 signs you in with your phone number, no password to create or forget.
- Open the app and enter your phone number.
- You receive a one-time code by SMS. Enter it to sign in.
- The first time, confirm your name.
Important: use the same phone number you gave the school when enrolling your child, that number is what connects you to your children. If the school has a different number on file, ask them to update it.
After signing in, the app shows any children a school has linked to your number, waiting for you to review and accept.
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 its payment processor 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 transfer is received, Reenjar independently verifies it with the payment processor, amount, currency and reference, then marks the fee Paid and removes it from your outstanding list. No manual confirmation, no proof-of-payment, no waiting on the school.
Transfer exactly the amount shown. If less than the full amount arrives, the fee stays unpaid and both you and the school are notified, nothing is silently lost.
Paying for several children at once
If you have more than one outstanding fee at the same school, tap Pay all on the school group. Reenjar generates one bank account for the combined total, one transfer settles every child's fee, each confirmed individually the moment the money lands.
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 (payment 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.
Reviewing your children
Consent is per child. When a school links a child to your number, that child appears here under the school's name, awaiting your review. Tap Accept to confirm the child is yours, only then do their fees appear. Tap Not mine to decline (useful if a school mistyped a phone number). A parent with several children at one school can Accept all in a single tap.
Because you confirm each child individually, a fee is never shown for a child you have not personally accepted, a wrong phone number can never expose one family's fees to another.
Connected children
Accepted children are grouped by school, each showing the child's name and class.
Removing a connection
Tap Remove on a child's row. You will stop receiving fee requests for that child; your other children are unaffected. Removing does not touch any payments already made, your fee history is retained.
2.6 Push Notifications
Whenever a school sends a new fee request, links a new child to your number, or a payment is due soon, you receive a push notification immediately, tapping it opens the relevant screen. New-fee alerts show the school, description and amount; a new child shows a "review" prompt. Notifications are per device and re-register automatically if you reinstall.
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.
- Simple sign-in. Just your phone number and a one-time SMS code, no new password to create or forget.
- Pay for all your children at once. Combine several fees at one school into a single bank transfer.
- Every payment verified. Reenjar re-checks each transfer with the payment processor before marking it paid, you are never wrongly shown as unpaid, and money never goes missing quietly.
- 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's phone number is wrong?
A parent connects to your school by the phone number on their child's record. If it is wrong, they will not see the child, and the child stays hidden from whoever does own that number until they accept. Correct the number on the student's parent record; the connection moves to the right parent automatically.
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 signs you in with your phone number and a one-time SMS code, there is no account or password to set up.
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, you have children waiting on the Schools screen for you to accept, or the phone number in the school's records differs from the one you signed in with. Check the Schools screen first, then confirm your number with the school.
Can I pay part of a fee?
No. Each account is set up for the exact amount due. If less than the full amount is received, the fee stays unpaid and both you and the school are notified, so nothing is lost, but the fee is not partially settled.
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 the payment processor 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?
Yes, for children at the same school. The app groups your outstanding fees by school; tap Pay all to combine them into one bank transfer. Each child's fee is confirmed individually the moment the money lands.
What if I accidentally removed a child?
Ask the school to resend the connection. They can do this from the class or student page, and the child will reappear on your Schools screen to accept again. Your past payments are never affected.
Is my financial information secure?
Reenjar does not store your bank details. Payments are processed by licensed, PCI-compliant Nigerian payment processors. You sign in with a one-time SMS code, so there is no password for anyone to steal.
For support, contact the Reenjar team at hello@reenjar.com or through your school's admin.