Money in, messages out, records where they belong.
Digital collections, SMS and clock-in devices all post against the same learner record. When a payment code does not match, Books-pro holds it for review instead of guessing.
Fee payments without a second ledger
Each provider is configured once under Settings → Digital Payment Settings. The counter stays in Transactions; the credentials live in Settings.
| Provider | What it is for | How it lands in Books-pro |
|---|---|---|
| SchoolPay | Bank and mobile money fee collections through the SchoolPay platform | Payments imported against the learner's payment code, reviewed when the code is missing or duplicated |
| Airtel Money | Direct Airtel collections to the school's merchant account | Collection records imported and matched to fee lines; unmatched references listed for the bursar |
| ObPay | Card and mobile money checkout hosted by ObPay | Confirmed checkouts post to the learner's account; pending and failed checkouts remain visible |
| Cash & bank | The ordinary desk | Receipted at the counter, posted to the ledger immediately |
Provider availability depends on your school's merchant accounts and contracts. Books-pro configures the connection; it cannot approve a school for a provider.
One Message Centre, several routes
Write the notice once, choose the audience — a class, a stream, guardians with a balance, or selected learners — and send. The school chooses the delivery route it already pays for.
- Ego, Yoola, Genius, Africa's TalkingConfigure the provider account and sender ID in Settings.
- Android handset bridgeSend through a phone running the bridge app when a bulk provider is not in place.
- GSM modemFor a school that wants messages billed to its own SIM.
What gets sent, and what does not
Typical messages are fee reminders, term-opening dates and results-published notices. Report cards are not sent as SMS — the message carries the portal link.
Delivery reports depend on the provider. Books-pro records what was sent and to whom; it does not promise a delivery time.
ZKBio and webhook readers
Import clock-ins from a ZKBio device, or receive them from any reader that can call the webhook. Staff and learner attendance records land in one place.
Imports that fail loudly
Learners, opening marks and lin,score mark files are imported with a rejected-row report. A bad LIN does not disappear into a silent zero.
JSON export and nightly backups
The whole database can be exported to JSON, and the server keeps daily backups — 30 days are retained by default. The data sits on the school's own machine.
Integration questions
Do I need internet for digital payments?
Yes for the payment provider itself. Cash, POS receipts and the ledger run on the school network without internet; provider imports resume when the connection returns.
Can we use more than one provider?
Yes. Schools commonly run SchoolPay or Airtel alongside ObPay, with cash at the counter. Each connection is configured separately under Digital Payment Settings.
Where are provider keys stored?
Credential fields are encrypted at rest on the school's server and are shown masked in the interface. We do not email keys, and we do not ask you to paste them into a chat.
Is there a public API for our developer?
There is no published public API at the moment. Integration is through the configured providers, the biometric webhook, spreadsheet import and JSON export. If you need something specific, raise it during the demo.
Tell us which providers you use
We will confirm what connects today and what would need a custom discussion — before you commit to anything.