For Schools For Parents How it connects FAQ Get started →
Documentation
reenjar / Documentation Updated 11 July 2026

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:

First steps after logging in

  1. Log in with the credentials in your welcome email. You are prompted to set a new password on first sign-in.
  2. Create your first Academic Session (e.g. "2025/2026") and add your classes.
  3. Import your students into each class.
  4. 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:

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:

SectionWhat it shows
Total StudentsNumber of active, enrolled students
Connected ParentsActive students whose parent has accepted them on the mobile app (consent is per child)
Amount CollectedSum of all fee payments received across the school
OutstandingTotal amount still pending or overdue
Collection RatePercentage of issued fees that have been paid (collected ÷ total issued)
Overdue CountNumber 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.

  1. Click New Session.
  2. Enter a label (e.g. 2025/2026), start date, and end date.
  3. Tick Set as current session if this is the active school year.
  4. Select class presets from the provided groups (Early Years, Nursery, Primary, JSS, SSS) or enter custom class names separated by commas.
  5. Click Create Session.

Only admin users can create sessions.

Preset class groups available

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:

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:

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:

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:

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.

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:

  1. Click Set tuition for that term.
  2. Enter the amount (in Naira).
  3. Enter the due date.
  4. Optionally set how many days before the due date parents should be reminded.
  5. 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:

  1. Tick the classes that share the same fee.
  2. Choose the term and enter the amount, due date, and optional reminder window once.
  3. 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.

  1. Description, what the levy is for (e.g. "Excursion Fee – Lagos").
  2. Amount, in Naira.
  3. Due Date, when payment is expected.
  4. 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
  5. Tick Save as template if you want to reuse this levy in future (e.g. "Exam Fee").
  6. 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:

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:

  1. Select your bank from the dropdown.
  2. Enter your 10-digit account number. Reenjar will verify the account name automatically with the payment processor.
  3. Confirm the account name that appears, then save.

Your settlement account can be updated at any time.

Balance

The Finance page shows four figures:

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

  1. Enter the amount you want to transfer. It cannot exceed your available balance.
  2. Optionally enter a note for the transfer record.
  3. 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

StatusMeaning
PendingInitiated, awaiting completion
ConfirmedSuccessfully paid out, set automatically once the payment processor confirms the payout (independently verified; there is no manual confirm step)
FailedThe transfer did not complete

1.10 Team Management

Open Team from the sidebar (admin only).

Roles

RoleWhat they can do
AdminFull access, students, classes, payments, finance, team management
FinanceSend levies, send tuition, mark payments as paid, cancel requests. Cannot add/edit students or manage the team.
StaffRead-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

  1. Click Add User.
  2. Enter first name, last name, email, role, and a temporary password (minimum 6 characters).
  3. 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:

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:

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

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.

  1. Open the app and enter your phone number.
  2. You receive a one-time code by SMS. Enter it to sign in.
  3. 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:

Pull down anywhere on the home screen to refresh your data.

2.3 Paying a Fee

  1. On the home screen, find the fee you want to pay and tap Pay now.
  2. Reenjar contacts its payment processor and generates a unique bank account for this transaction.
  3. 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.
  4. Open your bank app and transfer to the account number shown, for the exact amount shown.
  5. 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

3. How the Two Sides Connect

Here is the full flow from school action to parent payment, shown from each side:

1
Add a student with their parent's email
A connection record is created immediately in Pending state If the parent is already registered on the app, they see the invitation right away If not yet signed up, the invitation waits until they do
2
Dashboard shows "Connected" once parent accepts
You can see connection status per student on the class detail page You can resend or cancel the invitation at any time
3
Configure fees for a class
Set the tuition amount, due date, and term from the Levies page Create levy templates for PTA, development, excursion, or any extra charge
4
Click "Send fee request"
One payment record is created per active student in the target group Push notification sent instantly to every connected parent Parents see the new fee card on their home screen
5
Watch payments arrive on your dashboard
Each payment is logged the moment the transfer clears Dashboard collection rate and outstanding amounts update in real time
6
Initiate a settlement from the Finance page
Choose the amount and confirm, funds transfer to your school's bank account You receive an email confirmation with the transfer reference
1
Sign in with your phone number
No password, enter your phone number and the one-time SMS code Use the same number your school has on file for your child
2
Review and accept each child
Each child a school links to your number appears for you to review Tap Accept (or Accept all), the school's dashboard shows you as connected
3
Receive a push notification when a fee is sent
Every fee request from the school arrives as a notification on your phone A fee card appears on your home screen showing the amount and due date
4
Tap "Pay now", or "Pay all" for siblings
Reenjar generates a virtual bank account with its payment processor Several fees at one school can be combined into a single transfer
5
Transfer from your bank app
Send the exact amount to the virtual account shown, same as any bank transfer If the account expires before you transfer, tap "Pay now" again for a new one
6
Payment verified & confirmed automatically
Reenjar re-verifies the transfer with the payment processor, then marks the fee paid, usually within minutes The fee card disappears from your outstanding list A receipt is saved permanently in your Fee History

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.