• Skip to main content
  • Skip to header right navigation
  • Skip to site footer
ClickPesa

ClickPesa

Financial Solutions

  • Home
  • Microfinances
    • Borrowing
    • Compliance-as-a-Service (CaaS)
    • Payments and Data Automation
  • Payment Gateway
    • Collection
    • Disbursement
    • Pricing
  • Developers
  • Customer Support
  • Login
  • Register

How to use Customer BillPay for School Management Systems

Home » Insights » How to use Customer BillPay for School Management Systems
September 8, 2025
billpay

Most schools bill repeatedly during the year and allow staged payments. For bookkeeper and finance teams, this creates extra administration and reconciliation work. ClickPesa’s Customer BillPay for a School solves this by letting schools collect fees in stages with fewer errors, faster confirmations, and simpler reconciliation. On the parent side, nothing changes: they keep using familiar payment channels while following simple, consistent instructions.

How Customer BillPay Works

A Customer BillPay Control Number is a static, unique number assigned by a merchant to a specific customer (e.g., a student, guardian, or fee category). It is reusable for multiple transactions, making it ideal for frequent or subscription-style payments.

In a school context, you assign each student, or each fee bucket for that student, a control number. Parents then pay using Tanzanian mobile money and CRDB channels. Control numbers can be created manually in the dashboard or programmatically via the Customer BillPay API.

Docs: Customer BillPay Control Numbers

Flow

1) Generate

Create a static control number tied to a specific customer or fee bucket. This enables automatic payment tracking and clean, student-level reconciliation.

  • Ideal for repeating or subscription payments
  • Allows multiple control numbers per customer (e.g., Tuition, Transport, Meals)

Two ways to generate:

  • Merchant Dashboard: Assign a control number to the customer in the dashboard.
  • API: Use the BillPay API with full flexibility to:
    • Include customer name (e.g., student)
    • Add bill description
    • Set payment behavior (full amount only, allow partials, accept overpayments)
    • Provide a custom reference or let ClickPesa auto-generate one
    • Receive instant confirmations via webhooks and query transactions for reconciliation

API: Create Customer Control Number
Webhooks: Overview & Checksum

2) Share

Communicate the control number clearly in the parent portal, SMS reminders, and printed slips. The same number works across all supported channels, so parents never need to ask for “the latest” payment details.

3) Pay

Parents can pay using:

  • Mobile Money: Tigo Pesa, Airtel Money, HaloPesa, M-Pesa
  • CRDB Banking: SIM Banking (App/USSD), Internet Banking, CRDB Wakala agents

Step-by-step instructions are available on each control number page and can be shared with parents: Instructions

4) Confirm & Reconcile

Your system receives real-time webhooks for each successful payment. Use these to update the student balance immediately, apply the receipt to the correct fee bucket, and post journals. For audits and nightly checks, query the Payments API and match against settlement files.

Automation: Integration with Your School Management System or Finance Module

This integration keeps data consistent from collection through accounting.

  1. Create Customer BillPay Control Numbers
    • Via API when you publish fee plans or enroll a student.
  2. Receive Webhooks
    • Implement a secure webhook endpoint and verify payloads using the checksum.
    • Docs: Setting up webhooks
  3. Persist & Apply
    • Log each event in your database (student, fee bucket, amount, references).
    • Apply to the outstanding invoice or fee plan.
    • (Optional) Create accounting journals automatically.
  4. Issue Receipts(optional)
    • Generate a receipt per payment and deliver via portal or SMS/email.
  5. Reconcile(optional but recommended)
    • Run a daily reconciliation against the Payments Query API and settlement files.
    • Docs: Querying for Payments

Best Practices for Customer BillPay

Good setup prevents most issues and simplifies audits.

  • Use one control number per student per fee for clean reporting.
  • Decide partial/overpayment rules per fee before term start.
  • Store raw webhook payloads for audit and troubleshooting.
  • Make webhook processing idempotent to handle retries safely.
  • Show parents the exact control number consistently in every channel.

Vendor Payouts & Staff Disbursements

Use the same platform to pay transport providers, caterers, book suppliers, and casual staff, keeping your audit trail intact.

  • Prepare payables from approved invoices in your finance module.
  • Execute disbursements to mobile money or bank accounts, tagging vendor IDs, invoice numbers, and cost centers.
  • Capture results via webhook confirmations and post to Accounts Payable.
  • Maintain audit trails that link each payout to the original bill and approval record.

Docs: Payout API

Frequently Asked Questions

Do parents need a special app?
No. They pay through their usual mobile money or CRDB channel using the control number you provide. Your system receives a confirmation immediately and updates balances.

What if parents do not want to use their customer bill pay number?
We also support USSD Push Payments, this can be implemented in your app and trigger a USSD popup asking the parents to pay. They do not have to enter a reference number, we make sure the payment is automatically booked to the right reference. Docs: USSD Push Payments

How are refunds handled?
Issue a payout to the parent and link it to the original payment reference for audit.

Category: Uncategorized
Previous Post:billpay apisIntroducing BillPay APIs for Invoices and Customers

Sidebar

Recent Posts

  • How to use Customer BillPay for School Management Systems
  • Introducing BillPay APIs for Invoices and Customers
  • International Money Transfer and Remittances to Tanzania through TIPS
  • How to Safely Make Payments to Safari Tour Operators in Tanzania
  • How to Add Developers to the ClickPesa Developers Portal for Payment Integration

Archives

  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • September 2022
  • January 2022
  • October 2021
  • November 2019
  • September 2019
  • July 2019
  • June 2019
  • February 2019
  • December 2018
  • September 2018
  • September 2017
  • August 2017

Categories

  • Advisory
  • Banks
  • Blockchain/DLT
  • Bulk Payments
  • Cross Border Payments
  • e-commerce
  • e-Invoice
  • Mobile Money
  • Payment Acceptance
  • Research
  • Uncategorized

Sign up for an account

Register
Legal

Terms and Conditions

Privacy Policy

Data Retention Policy

Security

Company

About Us

Our Leadership

Customer Support

Insights

Social Media
  • Facebook
  • Instagram
  • Twitter
  • LinkedIn
  • Medium
  • YouTube
Address

Mezzanine Floor (next to Mgen)
Victoria Place, Kibisho Street, 102, Dar es Salaam, Tanzania


DLT CP TANZANIA COMPANY LIMITED trading as CLICKPESA TANZANIA is licensed by Bank of Tanzania (BoT) under the Payments System Licensing and Approval Regulations 2015, License No: NBPSL No. 0000-31, to provide Payment System Services in Mainland Tanzania as well as Tanzania Zanzibar.

© ClickPesa Limited – All Rights Reserved