Subscription Billing & Payment Guide
This guide explains how your school's 4SCH subscription is billed, how invoices are generated, how to pay them, and what happens automatically after payment.
Audience: School administrators responsible for the school's 4SCH subscription.
How Billing Worksโ
Two Billing Modelsโ
Your school can be on either of two billing models, set when you signed up:
1. Pay-Per-Period (Prepaid)โ
You pay for a fixed period (e.g., a term) upfront. Bills are generated as soon as a period ends, with a new bill for the next period.
2. Pay-Per-Usage (Postpaid)โ
You're billed at the end of each billing cycle based on actual usage (active students ร charge per student + active staff ร charge per staff).
Your Subscription Detailsโ
To see your current subscription:
- Login as School Administrator
- Click Subscriptions in the main menu
- The overview page shows:
- Package name (e.g., Starter, Pro, Max, or Custom)
- Start date โ when this subscription period began
- End date โ when it expires (and a new bill will be generated)
- Billing cycle โ number of days per cycle
- Student charge โ per active student
- Staff charge โ per active staff member
The billing cycle is stored as a number of days for flexibility. A monthly
plan would be billing_cycle = 30, a termly plan might be 60 or 90,
and annual is 365. The system simply adds these days to your end date.
How Invoices Are Generatedโ
Auto-Generated Dailyโ
4SCH runs a daily job that:
- Looks for any subscription whose end date was yesterday
- Generates a new invoice for the next billing cycle
- Calculates the amount based on your current student and staff counts
- Sends a notification to your registered school admin email/phone
Manual Generation (Rare)โ
In some cases, support staff may manually generate an invoice (e.g., for an addon purchase). These appear in the same list as auto-generated invoices.
Finding Your Invoicesโ
- Login as School Administrator
- Click Subscriptions โ History
- You'll see all invoices for your school
Each invoice shows:
| Field | Meaning |
|---|---|
| Bill Reference | Unique invoice number |
| Amount | Total to pay (in your school's currency) |
| Due Date | When payment is expected |
| Status | Paid, Pending, or Overdue |
| Transaction ID | Set once payment is made |
How to Pay an Invoiceโ
Step 1: Click Pay Nowโ
Next to any unpaid invoice, click Pay Now.
Step 2: Choose Payment Methodโ
You'll see the payment gateways your school's super admin has configured:
- Paystack โ Recommended for Nigerian schools (bank transfer, card, USSD, mobile money)
- Stripe โ Recommended for international schools (card)
- Flutterwave โ Pan-African option (card, bank transfer, mobile money)
A super admin needs to configure at least one payment gateway in Settings โ Payment Configuration before invoices can be paid online.
Step 3: Complete Payment on Gatewayโ
You're redirected to the chosen gateway's secure checkout page:
Paystackโ
- Bank Transfer: Receive a dedicated account number to transfer to
- Card: Enter card details
- USSD: Use bank USSD code shown on screen
- Mobile Money: For supported countries
Stripeโ
- Card: Enter card details
- Other payment methods depending on country
Flutterwaveโ
- Multiple methods including card, bank transfer, mobile money
Complete the payment as instructed.
Step 4: Automatic Redirect Backโ
After payment, the gateway redirects you back to 4SCH. You'll see:
- โ A success message
- โ The invoice updates to Paid status
- โ The transaction ID is recorded
What Happens Automatically After Paymentโ
Behind the scenes, several things happen within seconds:
- Payment verification โ 4SCH verifies the transaction with the gateway
- Bill marked as paid โ Linked to your transaction record
- Subscription extended โ Your end date moves forward by the billing cycle
- Features unlocked โ Any previously restricted features become accessible
- Transaction logged โ Record created in payment history
- If you pay before your subscription expires, the extension is added to your existing end date (rewards early payment).
- If you pay after expiry, the extension is added from today (so you always get the full cycle you paid for).
For example, if your billing cycle is 30 days:
- Paid 5 days before expiry: extension goes to old end + 30 days = 35 days from today
- Paid 5 days after expiry: extension goes to today + 30 days
Verifying Paymentโ
To confirm a payment went through:
- Go to Subscriptions โ History
- Find the invoice
- Confirm:
- โ Status shows Paid
- โ Transaction ID is populated
- โ Payment Gateway is shown (e.g., Paystack)
Click the transaction ID to see full details for accounting/reconciliation.
Understanding Bill Amountsโ
For Pay-Per-Period Plansโ
Bill amount = Package fixed price for the cycle.
For Pay-Per-Usage Plansโ
Bill amount is calculated as:
(active students ร student charge) + (active staff ร staff charge)
For example, with 50 active students at โฆ100 each and 5 staff at โฆ200 each:
50 ร 100 + 5 ร 200 = โฆ5,000 + โฆ1,000 = โฆ6,000
The exact charges per student/staff are in your subscription details under Subscriptions main page.
"Active" means student/staff records flagged as active in your school records. Deactivated users aren't billed.
Receiptsโ
After payment, a Receipt is available for download:
- Go to Subscriptions โ History
- Click the paid invoice's row
- Click View Receipt or Download PDF
The receipt includes:
- Your school name and details
- Invoice number and date
- Payment gateway and transaction ID
- Itemised charges (student/staff usage)
- Total paid
- Currency
Troubleshootingโ
"Invalid payment amount" errorโ
Cause: The invoice amount couldn't be determined. This is rare.
Solution:
- Refresh the page
- Click Pay Now again
- If it persists, contact support with the invoice number
Payment succeeded but invoice still shows "Pending"โ
Cause: Webhook processing may take a moment (usually 1-2 seconds, sometimes up to a minute).
Solution:
- Wait 1-2 minutes
- Refresh the Subscriptions History page
- Status should update to Paid
- If not, contact support with the gateway's transaction reference
Features still locked after successful paymentโ
Cause: Browser cache or session may need refreshing.
Solution:
- Log out completely
- Log back in
- Features should now be accessible
- If still locked, contact support
Didn't receive payment notificationโ
Cause: Email/notification settings may not be configured.
Solution:
- Check Settings โ Notifications
- Ensure school admin email is correct
- Check spam folder for invoice notifications
- For mobile push notifications, ensure the school admin has the mobile app installed
Receipt download fails or shows errorโ
Cause: Cache issue with the receipt template.
Solution:
- Try again after a few seconds
- Try a different browser
- Contact support if the problem persists
Renewal Remindersโ
You'll receive notifications:
- 7 days before expiry โ Reminder to pay upcoming bill
- On expiry day โ Final reminder
- After expiry โ Notification that features are restricted
Configure these in Settings โ Notifications under the Subscription category.
What If I Don't Pay?โ
If your subscription expires without payment:
- Grace period โ Some plans include a few days' grace before features lock
- Restrictions kick in โ Premium features become inaccessible
- Data preserved โ Your school's data remains safe (NOT deleted)
- Resume on payment โ Pay any time to restore full access immediately
For detailed data retention rules, see the Subscription Expiry & Retention Policy.
FAQsโ
Q: Can I pay multiple invoices at once? A: Currently, invoices are paid one at a time. We're exploring bulk payment in a future release.
Q: Can I change my payment method? A: Yes โ when clicking Pay Now, you'll see all configured gateways and can choose any of them.
Q: What if I'm overcharged? A: Contact support immediately with the invoice number. Refunds are handled case-by-case via the original payment gateway.
Q: How do I get a tax invoice or receipt with VAT? A: The default receipt includes basic transaction details. For VAT or tax invoices, contact our billing team.
Q: Can I switch packages mid-subscription? A: Yes โ contact support to upgrade or downgrade. Prorated charges apply.
Q: What if I accidentally paid the same invoice twice? A: Contact support with both transaction IDs. We'll process a refund for the duplicate via the gateway.
Related Documentationโ
- Subscription Expiry & Retention Policy
- School Administrator Guide
- Notification Settings Management
- Payment Gateway Setup (for super admins)
Need Help?โ
For billing questions or issues:
- ๐ง Email: billing@yourschoolsupport.com
- ๐ Phone: Check your subscription contract for billing support contact
- ๐ฌ In-app: Use the support chat from the main menu