Matatu SACCO, PSV Commuter Fleet & Long-Distance Coach ERP: NTSA Speed-Governor Telemetry, Digital Fare Ticketing, Daily Crew Target Remittance, and Owner Dividend Payouts

How to architect a high-throughput ERP for Kenyan Matatu SACCOs, Electric/Diesel Commuter Bus Fleets, and Intercity Coach Operators: cashless M-Pesa/NFC fare collection, automated daily vehicle target splits (owner payout, SACCO management fee, loan check-off, crew welfare), intercity seat-map booking, and NTSA compliance tracking.

Kenya’s public passenger transport sector—spanning NTSA-regulated Matatu SACCOs, city commuter bus companies, electric bus fleets, and long-distance intercity coach operators—processes millions of daily passenger trips. Yet both vehicle owners and SACCO boards suffer severe revenue leakage when daily fare collections rely on unverified cash handovers, manual stage clerk sheets, fragmented M-Pesa Till numbers, and opaque deductions for SACCO management fees, tyres/spares loans, and insurance.

At devManue, we engineer specialized Matatu SACCO, PSV Commuter Fleet & Intercity Coach ERP systems that combine cashless M-Pesa/NFC commuter ticketing, real-time seat-map & parcel waybill booking, automated daily vehicle waterfall splitting, GPS speed-governor telemetry, and transparent vehicle-owner mobile portals.

1. Eliminating Cash Leakage & Owner Distrust in PSV Operations

  • Automated Daily Vehicle Waterfall Split Engine: As passengers pay via M-Pesa Express (STK Push), stage POS handhelds, or NFC commuter cards, every shilling credited to a specific vehicle registration plate (e.g., KDP 123X) is automatically split at end-of-day across: (1) SACCO Daily Management & Stage Fee, (2) Asset Finance / SACCO BOSA Loan Repayment, (3) Comprehensive PSV Insurance & Welfare Pool, (4) Verified Fuel/Wash Expense, and (5) Instant M-Pesa B2C Net Remittance to the Vehicle Owner.
  • Intercity Coach Seat-Map Lock & Waybill Parcel Integration: For long-distance coaches, web, USSD, and branch counter terminals share a single ACID-locked seat inventory per departure manifest while tracking under-belly courier parcels with SMS receiver collection codes.
  • NTSA Compliance & Speed-Governor Telemetry Interlocks: Automatically blocks a vehicle or driver from being dispatched on the morning manifest if the NTSA Road Service License (RSL), annual motor vehicle inspection, PSV badge, or 80 km/h speed-governor certificate has expired.
Stage 01→
NTSA & Crew Dispatch
RSL/Inspection Check, Driver PSV Badge Scan & 80 km/h Governor Ping
Stage 02→
Cashless Fare & Seat POS
Commuter M-Pesa/NFC Tap or Intercity Seat-Map + Parcel Waybill Booking
Stage 03→
GPS Trip & Fuel Audit
Geofenced Route Trips Completed vs Authorized Fuel Station Pump Liters
Stage 04→
Daily Waterfall Split
Auto-Deduct SACCO Fee, Loan Installment, Insurance Pool & Crew Savings
Stage 05✓
Owner B2C & SACCO Ledger
Instant Midnight M-Pesa Owner Payout + SASRA/SACCO Member Statement

2. Automated Daily PSV Vehicle Revenue Waterfall & Loan Check-Off Engine

Our PSV settlement engine executes deterministic end-of-day waterfall allocations for every vehicle in the fleet, ensuring SACCO fees and vehicle loan installments are collected before net owner payouts are disbursed:

from decimal import Decimal, ROUND_HALF_UP

class PsvSaccoDailyWaterfallEngine:
    """
    Allocates daily vehicle fare collections across SACCO management fees,
    daily loan check-off, insurance/benevolent savings, and net owner payout.
    """
    @staticmethod
    def settle_daily_vehicle_collections(
        gross_fare_collected_kes: Decimal,
        verified_fuel_expense_kes: Decimal,
        sacco_daily_management_fee_kes: Decimal,
        daily_loan_installment_kes: Decimal,
        daily_insurance_and_savings_kes: Decimal,
    ) -> dict:
        net_operating_surplus = gross_fare_collected_kes - verified_fuel_expense_kes
        remaining = max(Decimal("0.00"), net_operating_surplus)

        sacco_fee_paid = min(remaining, sacco_daily_management_fee_kes)
        remaining -= sacco_fee_paid

        loan_paid = min(remaining, daily_loan_installment_kes)
        loan_arrears_ accrued = daily_loan_installment_kes - loan_paid
        remaining -= loan_paid

        savings_paid = min(remaining, daily_insurance_and_savings_kes)
        remaining -= savings_paid

        owner_net_payout_kes = remaining.quantize(Decimal("0.01"), rounding=ROUND_HALF_UP)
        return {
            "net_operating_surplus_kes": net_operating_surplus,
            "sacco_fee_deducted_kes": sacco_fee_paid,
            "loan_installment_paid_kes": loan_paid,
            "loan_shortfall_flagged_kes": loan_arrears_accrued,
            "owner_net_mpesa_payout_kes": owner_net_payout_kes,
        }

3. Electric Bus (E-Mobility) Battery Swapping & kWh-per-Kilometer Analytics

For modern electric bus fleets operating in Nairobi and Mombasa, our platform includes dedicated modules for State-of-Charge (SoC) depot charging schedules, kWh-per-kilometer energy efficiency by driver, and battery-as-a-service lease accounting.

Matatu SACCO & PSV Fleet MetricLegacy Spreadsheets & Manual TallyingdevManue Custom Enterprise ERP
Daily Fare Collection & Squad Leakage20%–35% revenue lost to unrecorded cash & stage extortionCashless M-Pesa/NFC tap tied to GPS trip counts
SACCO Loan & Management Fee RecoveryHigh default rates when crew skips stage clerksAutomated daily waterfall deduction before owner payout
Vehicle Owner TransparencyWeekly disputes over repairs, fuel, and net remittancesReal-time owner app with trip logs & midnight M-Pesa payout
NTSA & Insurance ComplianceRoadblock impoundments due to expired RSL or inspectionAutomated 14-day SMS alerts & dispatch manifest hard-locks
// High-Throughput Engineering • Systems Architecture Consulting

Scaling Python & Django APIs or Resolving Concurrency Bottlenecks?

We partner with engineering founders and tech leads to architect resilient distributed systems, optimize async worker pools, design scalable databases, and eliminate production latency spikes.

All Insights
Chat on WhatsApp