Beginner · 10 chapters

Your first term, one screen at a time.

This guide follows a day school from setup to report cards. Work in order the first time; afterwards use the contents to jump to the task you need.

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.

  1. Open the moduleFrom the dashboard, choose Finance & Administration or Academics. On a desktop install each module opens in its own window.
  2. Sign in with your own accountDo not use the bursar's login “because it is faster”. Every posting records the user who made it.
  3. Use the gatewayThe finance gateway groups screens under Masters, Transactions, Digital Payments, Reports and Settings. Letters shown beside a menu item are keyboard shortcuts.
  4. 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.
Who sees what: rights are set per screen. A class teacher can enter marks without seeing payroll; a director can read reports without posting. Ask your administrator for the access your role needs.

2. Set up the school

Do this once, before the first receipt. Settings → Company holds the details printed on receipts and reports.

  1. Enter the legal and trading nameUse the name parents recognise on receipts. The legal name goes on statutory reports.
  2. Add address, phone, email and TINThese appear in report headers and vouchers.
  3. Set bank details for receiptsThe account line parents see when they pay at the bank.
  4. Choose the financial year and start dateYour opening balances are dated to this start.
  5. Add other schools if you run a groupSettings → Schools keeps a separate database per school under one administration.
Check before printing: print one receipt to a plain sheet. A misspelt school name is cheap to fix now and expensive after a term of receipts.

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.

  1. Open Masters → LedgersReview the chart of accounts. Add school-specific income lines such as boarding or transport if they are missing.
  2. Enter each balanceType the amount and whether it is a debit or credit. Cash at bank is a debit; a loan is a credit.
  3. Enter opening fee arrears per learnerIf parents owed fees at the start date, record the arrears against the learner so statements begin correctly.
  4. 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.

Day Book — every voucher for the date with debit and credit totals.
  1. 1 Date selector. Check the opening date, not today.
  2. 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.

  1. Create fee itemsName them the way the school's fee circular names them. Short names fit better on a receipt.
  2. Set the term amount per classSenior classes often differ from junior classes; boarding differs from day.
  3. Mark optional itemsTransport and meals may be optional. Optional lines should not be added by default at the counter.
  4. Record scholarships where they belongAn award against a learner reduces the balance and shows on the guardian's statement.
Instalments: the structure is the term bill, not a demand that it is paid at once. Parents can pay part of any line; the receipt records what was actually received.

5. Add learners

Add a learner manually for a late admission; import the intake for a new class. The import expects consistent columns.

Columns used by the learner import
ColumnExampleNotes
Admission number2026/0142Must be unique in the school
Full nameNabirye SarahSurname first keeps class lists sortable
Class and streamS2 / BlueCreate classes and streams before importing
LINUG2026S2001Used on marksheets and report cards
Guardian phone+256 7xx xxx xxxUse one consistent format for SMS
Boarding statusBoarder / DayDrives 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.

Receipts (POS) — learner, payment lines and the print action.
  1. 1 The selected learner and their current balance.
  2. 2 Fee lines and the receipt total. Edit only what was received.
  3. 3 Print receipt. The ledger has already posted at this point.
  1. Open Transactions → Receipts (POS)Use quick POS for a touch screen or classic POS for a keyboard and barcode scanner.
  2. Search by name or LINType a few letters, choose the learner, and confirm the class and stream. Two learners can share a surname.
  3. Tick the fee linesChange an amount if the parent is paying part of a line. The balance updates on the receipt.
  4. Choose the payment methodCash, SchoolPay, Airtel Money or ObPay. Digital methods use the reference from the provider record.
  5. Post and printThe voucher posts to the ledger immediately. Print the receipt, or reprint later from the same record.
Never receipt a guess: if a parent cannot remember the learner or the amount, stop and check. Correcting a posted receipt later requires a reversal and leaves a trail.

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.

  1. Choose class, stream, subject and assessmentMid-term and end-of-term assessments are separate. Do not mix them.
  2. Type the scoresPress Enter or Arrow Down to move to the next learner. See mark-entry shortcuts.
  3. Or import a fileTeachers who keep a spreadsheet export two columns: LIN and score.
  4. 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.

  1. Check missing marks firstOpen the class summary. A blank cell stays blank on the card; it is not treated as zero.
  2. Select the layoutDetailed, concise or mid-term, according to the school's preference for that term.
  3. Batch printPrint to the office printer or to PDF for review before release.
  4. Approve and signAfter the head teacher confirms the results, lock the term. A later edit cannot quietly change a printed card.
Class positions: choose whether positions are calculated within the stream or across the whole class, and keep that choice consistent for the term.

9. Publish to parents

Publishing makes the approved results and the fee statement visible to the learner's parent or guardian.

  1. Approve the termResults cannot be published before the approval step.
  2. Issue portal accessThe school gives the parent the portal link and a one-time code for the term.
  3. Parent signs inAdmission number, LIN and the term code open exactly one learner record.
  4. 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.

  1. Copy the backup off the serverUse an external drive kept in a different room, or a secure school account.
  2. Test one restoreRestore into a test folder and open it. You are checking the backup, not the live system.
  3. Export JSON at term endSettings → Backup / Restore. Keep the export with the term's signed accounts.
  4. Name the person responsibleA backup with no owner is a hope, not a control.
Before a hard disk is replaced copy the database and the backup folder first. Do not let a technician “clean install” a machine that holds the only copy of the term's data.
Next: when these ten chapters are routine, read the advanced operations guide for digital payments, payroll, budgets and recovery.

Train the whole office

We run the first receipts and report cards with your staff, using your fee structure and your card layout.