1. Sign in and find your way
Books-pro opens on a dashboard with the modules the school has enabled. Finance & Administration and Academics & Reporting are the two main workspaces; both read the same learner records.
- Open the moduleFrom the dashboard, choose Finance & Administration or Academics. On a desktop install each module opens in its own window.
- Sign in with your own accountDo not use the bursar's login “because it is faster”. Every posting records the user who made it.
- Use the gatewayThe finance gateway groups screens under Masters, Transactions, Digital Payments, Reports and Settings. Letters shown beside a menu item are keyboard shortcuts.
- Close windows with EscapeEscape closes the open screen or module window. The Back link inside a module window also returns to the previous screen — it does not dump you on the gateway.
2. Set up the school
Do this once, before the first receipt. Settings → Company holds the details printed on receipts and reports.
- Enter the legal and trading nameUse the name parents recognise on receipts. The legal name goes on statutory reports.
- Add address, phone, email and TINThese appear in report headers and vouchers.
- Set bank details for receiptsThe account line parents see when they pay at the bank.
- Choose the financial year and start dateYour opening balances are dated to this start.
- Add other schools if you run a groupSettings → Schools keeps a separate database per school under one administration.
3. Enter opening balances
Opening balances make the first trial balance meaningful. Enter them per ledger, dated to the start you chose in company settings.
- Open Masters → LedgersReview the chart of accounts. Add school-specific income lines such as boarding or transport if they are missing.
- Enter each balanceType the amount and whether it is a debit or credit. Cash at bank is a debit; a loan is a credit.
- Enter opening fee arrears per learnerIf parents owed fees at the start date, record the arrears against the learner so statements begin correctly.
- Check the trial balanceOpen Reports → Trial Balance for the opening date. The difference must be zero.
If it is not zero, do not hide the difference in a suspense account. Compare each ledger against the signed-off balance sheet and correct the entry. A suspense balance at the start is a permanent question at audit.
- 1 Date selector. Check the opening date, not today.
- 2 Debit and credit totals. Difference must read zero.
4. Build the fee structure
Fee heads are the lines a receipt can carry: tuition, boarding and meals, transport, and extras such as uniform or practicals. The class fee structure is what the counter prefills.
- Create fee itemsName them the way the school's fee circular names them. Short names fit better on a receipt.
- Set the term amount per classSenior classes often differ from junior classes; boarding differs from day.
- Mark optional itemsTransport and meals may be optional. Optional lines should not be added by default at the counter.
- Record scholarships where they belongAn award against a learner reduces the balance and shows on the guardian's statement.
5. Add learners
Add a learner manually for a late admission; import the intake for a new class. The import expects consistent columns.
| Column | Example | Notes |
|---|---|---|
| Admission number | 2026/0142 | Must be unique in the school |
| Full name | Nabirye Sarah | Surname first keeps class lists sortable |
| Class and stream | S2 / Blue | Create classes and streams before importing |
| LIN | UG2026S2001 | Used on marksheets and report cards |
| Guardian phone | +256 7xx xxx xxx | Use one consistent format for SMS |
| Boarding status | Boarder / Day | Drives the default fee lines |
The import reports rejected rows with the reason. Fix those rows and re-import only the failures; do not import the whole file twice.
6. Receipt a payment
This is the workflow the counter will repeat hundreds of times. Practise it with a fake learner before term opens.
- 1 The selected learner and their current balance.
- 2 Fee lines and the receipt total. Edit only what was received.
- 3 Print receipt. The ledger has already posted at this point.
- Open Transactions → Receipts (POS)Use quick POS for a touch screen or classic POS for a keyboard and barcode scanner.
- Search by name or LINType a few letters, choose the learner, and confirm the class and stream. Two learners can share a surname.
- Tick the fee linesChange an amount if the parent is paying part of a line. The balance updates on the receipt.
- Choose the payment methodCash, SchoolPay, Airtel Money or ObPay. Digital methods use the reference from the provider record.
- Post and printThe voucher posts to the ledger immediately. Print the receipt, or reprint later from the same record.
7. Enter marks
Marks are entered by class, stream, subject and assessment. The grid lists learners by name and LIN so a teacher can work down the column.
- Choose class, stream, subject and assessmentMid-term and end-of-term assessments are separate. Do not mix them.
- Type the scoresPress Enter or Arrow Down to move to the next learner. See mark-entry shortcuts.
- Or import a fileTeachers who keep a spreadsheet export two columns: LIN and score.
- Review rejected rowsThe import names any LIN that did not match a learner in that class. Nothing is silently scored zero.
lin,score
UG2026S2001,82
UG2026S2003,74
UG2026S2007,68
One header row, one learner per line. Save as CSV and import a single subject at a time. Practise with the fictional sample-marks.csv.
8. Print report cards
Report cards are generated from the marks already entered. Choose the term, class and layout, then print the class in one batch.
- Check missing marks firstOpen the class summary. A blank cell stays blank on the card; it is not treated as zero.
- Select the layoutDetailed, concise or mid-term, according to the school's preference for that term.
- Batch printPrint to the office printer or to PDF for review before release.
- Approve and signAfter the head teacher confirms the results, lock the term. A later edit cannot quietly change a printed card.
9. Publish to parents
Publishing makes the approved results and the fee statement visible to the learner's parent or guardian.
- Approve the termResults cannot be published before the approval step.
- Issue portal accessThe school gives the parent the portal link and a one-time code for the term.
- Parent signs inAdmission number, LIN and the term code open exactly one learner record.
- Download for offline readingIn the Android app, the report card stays readable after the connection drops.
Access tokens expire after 30 days. A new term means a new download and a new code, which limits how long a forwarded message stays useful.
10. Protect the data
The school's data lives on its own server. The system keeps daily backups with 30 days retained, but a backup on the same disk is not enough.
- Copy the backup off the serverUse an external drive kept in a different room, or a secure school account.
- Test one restoreRestore into a test folder and open it. You are checking the backup, not the live system.
- Export JSON at term endSettings → Backup / Restore. Keep the export with the term's signed accounts.
- Name the person responsibleA backup with no owner is a hope, not a control.