Custom program managers#

For: developers

Build custom program managers to implement eligibility, entitlement, cycle, and payment logic for OpenSPP programs.

How to use this section#

  1. Read Manager pattern to understand the wrapper/implementation architecture

  2. Read Building a custom manager for the step-by-step process and method reference

  3. Follow the Tutorial: build CCT program managers to build a complete CCT program with all three manager types

Tip

The tutorial includes a downloadable module: spp_cct_managers.zip

When do you need this?#

Programs in OpenSPP use managers for eligibility, entitlements, cycles, and payments. The built-in managers cover common patterns, but you need a custom manager when the program requires logic they do not support.

Requirement

Built-in managers

Custom manager

Standard recurrence-based cycles

Yes

Per-beneficiary fixed-amount entitlements

Yes

Basic eligibility filters

Yes

Custom eligibility formula (e.g., income + children)

Yes

Per-child or per-member entitlement calculations

Yes

Non-standard cycle timing (e.g., calendar quarters)

Yes

Integration with external payment gateways

Yes

Multi-criteria scoring for eligibility ranking

Yes

Topics covered#

  • Manager pattern — how the strategy pattern works: wrapper models, implementation models, base classes, and extension points

  • Building a custom manager — step-by-step guide with registration pattern and method reference for all manager types

  • Tutorial: build CCT program managers — complete module with eligibility, entitlement, and cycle managers for a conditional cash transfer program

See also#