Choosing your configuration
Contents
Choosing your configuration#
For: Implementers and technical teams designing an OpenSPP deployment
This guide helps you decide between using a standard OpenSPP product and building a custom module combination — and walks you through the selection process if you choose the custom route.
Step 1: Review OpenSPP standard products#
Before considering a custom combination, check whether one of the five standard products covers your use case:
Product |
Best for |
|---|---|
Cash transfers, social assistance, full program lifecycle management |
|
Centralized beneficiary database serving multiple programs |
|
Agricultural household registration and targeted input distribution |
|
Disaster response inventory, donations, and dispatch management |
|
Standardized disability assessment and targeting |
Standard products offer:
Proven configurations that have been tested together
Comprehensive documentation and demo data
Faster setup — one starter module installs everything
Community support and known upgrade paths
Use a standard product when your program matches its core scope. You can still extend a standard product with additional modules — for example, adding GIS, case management, or scoring to SP-MIS.
Step 2: Decide if you need a custom combination#
A custom combination is worth considering when:
Your program spans multiple sectors and no single product covers all requirements
You need only a subset of a product's features and want a leaner installation
You are combining capabilities from two different products (e.g., Farmer Registry + DRIMS)
You have a specialized workflow that requires modules not bundled in any standard product
Important
The SP-MIS (spp_starter_sp_mis), Social Registry (spp_starter_social_registry), and Farmer Registry (spp_starter_farmer_registry) starter modules are mutually exclusive — only one can be installed in a single Odoo database. DRIMS and the Disability Registry can be installed alongside any of them.
Step 3: Use case examples#
These combinations are validated starting points for common cross-sector programs.
Inclusive social protection#
Use case: Social Registry + Disability Registry + GIS
Combine the Social Registry as the beneficiary data foundation with the Disability Registry for WG-SS/CFM assessments and GIS for geographic targeting. Use built-in CEL functions from the Disability Registry to write eligibility rules that automatically flag households with persons with disabilities.
Module |
Purpose |
|---|---|
|
Beneficiary registration and data management |
|
Standardized disability assessment (WG-SS/CFM) |
|
Geographic visualization and spatial targeting |
|
Administrative area hierarchy for geographic filtering |
|
Program enrollment and entitlement management |
Agricultural disaster response#
Use case: Farmer Registry + DRIMS
Link agricultural household data with disaster response inventory management. When a hazard incident is declared, match affected farm households against DRIMS warehouses and dispatch agricultural inputs or relief items to affected areas.
Module |
Purpose |
|---|---|
|
Farmer and farm household registration |
|
Disaster response inventory, donations, and dispatches |
|
Hazard incident recording and area linkage |
|
Geographic overlap between farm areas and incident zones |
|
Administrative area hierarchy shared across both systems |
Integrated SP-MIS with disability targeting#
Use case: SP-MIS + Disability Registry
Extend the standard SP-MIS with disability-aware targeting. Use the Disability Registry's CEL functions (has_disability(), household_has_pwd()) as eligibility criteria to automatically identify and enroll persons with disabilities or households with disabled members.
Module |
Purpose |
|---|---|
|
Full SP-MIS foundation |
|
Assessment, device tracking, and CEL eligibility functions |
Scoring and simulation for targeting#
Use case: Social Registry or SP-MIS + Scoring + Simulation
Apply proxy means testing (PMT) or vulnerability scoring to rank beneficiaries, then use the simulation engine to model different targeting thresholds before committing to enrollment.
Module |
Purpose |
|---|---|
|
Registry foundation |
|
PMT and vulnerability scoring with configurable formulas |
|
Applies scoring thresholds in program eligibility |
|
Simulate enrollment outcomes before committing |
Step 4: Assess module compatibility#
Most OpenSPP modules are additive — they extend core models without conflicting. Use this reference when assembling your module list.
Always compatible with any base:
Module |
Notes |
|---|---|
|
Extends |
|
Operates independently on its own models |
|
Geographic layer shared by all modules |
|
Transparent audit logging, no functional conflicts |
|
Standalone grievance system, linkable to registry |
|
Case management layer independent of program modules |
|
Scoring engine usable alongside any registry base |
|
Approval workflow mixin used across multiple modules |
|
Shared code list system, no conflicts |
|
Field-level encryption applicable to any base |
|
REST API layer compatible with all configurations |
Mutually exclusive — install only one:
spp_starter_sp_misspp_starter_social_registryspp_starter_farmer_registry
Require a specific base:
Module |
Requires |
|---|---|
|
|
|
|
|
|
|
|
|
|
Step 5: Assemble your module list#
Follow this order when selecting modules for a custom build:
Start with a registry base — Choose one starter module (
spp_starter_sp_mis,spp_starter_social_registry, orspp_starter_farmer_registry) or usespp_registrydirectly for a minimal installation.Add program delivery — Install
spp_programsif you need enrollment, cycles, entitlements, or payment management. This is included in SP-MIS and Social Registry starters.Layer specialized modules — Add modules for your specific needs: disability assessments, case management, disaster response, GIS, scoring, grievances, and so on.
Add data quality tools — Consider
spp_change_request_v2for structured data update workflows,spp_auditfor compliance logging, andspp_deduplicationfor duplicate management.Configure integrations — Add
spp_api_v2for external system connectivity,spp_dcifor government interoperability, orspp_oauthfor SSO.
Reference#
Full module reference — All 60+ modules with dependency information
Technical architecture — Module dependency patterns for developers
Custom Module Combinations — Overview of the custom combinations approach
openspp.org
Social work case management#
Use case: Social Registry + Case Management + Grievance Redress
Build a social work program where case workers manage individual cases, record home visits and intervention plans, track beneficiary progress, and handle complaints — all linked to a unified beneficiary registry.
Module
Purpose
spp_starter_social_registryCentralized beneficiary database
spp_case_baseCase creation, stage workflows, intervention plans, visit logs
spp_case_registryLinks cases to registrant records
spp_case_programsConnects cases to program enrollment
spp_grmGrievance and complaint management
spp_grm_registryLinks grievances to registered beneficiaries