Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

1,271 Commits

Repository files navigation

OpenSPP

CIpre-commitLicense: LGPL-3Odoo

Open-source Social Protection Platform for managing beneficiary registries, cash transfer programs, in-kind distribution, and grievance redressal at scale.

Built on Odoo 19 | Documentation | Website


Key Features

  • Social Registry - Unified beneficiary database for individuals and households with deduplication
  • Program Management - Configure eligibility rules, enrollment cycles, and benefit calculations
  • Cash & In-Kind Transfers - Manage entitlements with payment integration and inventory tracking
  • Consent Management - DPV-aligned consent lifecycle with GDPR-compliant audit trails
  • Approval Workflows - Multi-tier approval chains with CEL-based business rules
  • Change Requests - Auditable data update workflows with conflict detection
  • GIS Integration - Geographic visualization, admin boundary management, HDX integration
  • Grievance Redressal - Track and resolve beneficiary complaints through customizable stages
  • Disaster Response (DRIMS) - Inventory management for emergency relief distribution
  • REST API v2 - Standards-aligned API with consent-aware data sharing
  • DCI Interoperability - Connect to CRVS, identity systems, and other registries
  • No-Code Studio - Configure custom fields, events, and change requests without coding
  • Audit Trail - Comprehensive logging with tamper-resistant backends

Quick Start

git clone https://github.com/OpenSPP/OpenSPP2.git
cd OpenSPP2
docker compose --profile ui up -d

Access at http://localhost:8069 (login: admin / password: admin)

Demo Options

DemoCommandDescription
SP-MISODOO_INIT_MODULES=spp_mis_demo_v2 docker compose --profile ui up -dFull social protection MIS with sample programs
DRIMSODOO_INIT_MODULES=spp_drims_sl_demo docker compose --profile ui up -dDisaster relief inventory (Sri Lanka config)
Social RegistryODOO_INIT_MODULES=spp_starter_social_registry docker compose --profile ui up -dSocial registry only

Reset Database

docker compose --profile ui down -v

Architecture

OpenSPP follows a layered architecture:

LayerModulesPurpose
Foundationspp_registry, spp_security, spp_areaCore data models and security
Capabilitiesspp_programs, spp_approval, spp_change_request_v2Business logic and workflows
Integrationspp_api_v2, spp_dci_*External system connectivity
Extensionsspp_drims, spp_grm, spp_gisDomain-specific features

Documentation

External Dependencies

OpenSPP requires OCA and third-party modules listed in EXTERNAL_DEPENDENCIES.md. The Docker setup fetches these automatically.

Available addons

Available addons

addonversionmaintainerssummary
endpoint_route_handler19.0.2.0.0simahawkProvide mixin and tool to generate custom endpoints on the fly.
fastapi19.0.2.0.0lmignonOdoo FastAPI endpoint
spp_alerts19.0.2.0.0jeremigonzalesedwin1123emjay0921Generic alert engine for threshold monitoring, expiry tracking, and deadline management across OpenSPP modules.
spp_api_v219.0.2.0.0jeremigonzalesedwin1123reichie020212emjay0921OpenSPP API V2 - Standards-aligned, consent-respecting API for social protection data exchange.
spp_api_v2_change_request19.0.2.0.0jeremigonzalesedwin1123reichie020212REST API endpoints for Change Request V2.
spp_api_v2_cycles19.0.2.0.0jeremigonzalesedwin1123reichie020212REST API endpoints for Program Cycles.
spp_api_v2_data19.0.2.0.0jeremigonzalesedwin1123reichie020212REST API endpoints for Variable Data push/pull.
spp_api_v2_entitlements19.0.2.0.0jeremigonzalesedwin1123reichie020212REST API endpoints for Entitlements (Cash and In-Kind).
spp_api_v2_products19.0.2.0.0jeremigonzalesedwin1123reichie020212REST API endpoints for Products, Categories, and Units of Measure.
spp_api_v2_service_points19.0.2.0.0jeremigonzalesedwin1123reichie020212REST API endpoints for Service Points.
spp_api_v2_vocabulary19.0.2.0.0jeremigonzalesedwin1123reichie020212REST API endpoints for Vocabulary lookup.
spp_approval19.0.2.0.0Standardized approval workflows with multi-tier sequencing and CEL rules
spp_area19.0.2.0.0jeremigonzalesedwin1123reichie020212emjay0921Establishes direct associations between OpenSPP registrants, beneficiary groups, and their corresponding geographical administrative areas. It validates registrant-area linkages against official area types, ensuring data integrity and enabling targeted program delivery and analysis.
spp_area_hdx19.0.2.0.0HDX Common Operational Datasets (COD) integration for downloading admin boundaries with polygons. Supports humanitarian coordination with P-code standardization and GPS-based area lookup.
spp_audit19.0.2.0.0jeremigonzalesedwin1123reichie020212Comprehensively tracks all data modifications and user actions across the OpenSPP platform, recording old and new values for configured data. It enhances accountability and data integrity by maintaining an immutable history of changes, crucial for internal audits, compliance, and detecting unauthorized alterations. Supports multiple backends (database, file, syslog, HTTP) with tamper-resistant configuration.
spp_banking19.0.2.0.0OpenSPP Banking: Bank Details
spp_base_common19.0.2.0.0jeremigonzalesedwin1123emjay0921The OpenSPP base module that provides the main menu, generic configuration, user role management base module, area management base module, hiding of non-openspp menus. All implementation specific base modules depends on this module. (Odoo 19 Community Edition - uses default theme)
spp_base_setting19.0.2.0.0jeremigonzalesedwin1123reichie020212emjay0921OpenSPP Base Setting provides fundamental configurations for country implementations, establishing core organizational structures such as Country Offices. It also enables tailored user interface adaptations and streamlines user management by linking individuals to specific Country Offices for context-aware data access.
spp_branding_kit19.0.2.0.0jeremigonzalesedwin1123Branding customization, URL routing and telemetry management for OpenSPP
spp_cel_domain19.0.2.0.0Write simple CEL-like expressions to filter records (OpenSPP/OpenG2P friendly)
spp_cel_event19.0.2.0.0jeremigonzalesedwin1123emjay0921Integrate event data with CEL expressions for eligibility and entitlement rules
spp_cel_registry_search19.0.2.0.0Search the registry using CEL expressions
spp_cel_vocabulary19.0.2.0.0Vocabulary-aware CEL functions for robust eligibility rules
spp_cel_widget19.0.2.0.0Reusable CEL expression editor with syntax highlighting and autocomplete
spp_change_request_v219.0.2.0.0Configuration-driven change request system with UX improvements, conflict detection and duplicate prevention
spp_claim_16919.0.2.0.0openspp-devMOSIP Claim 169 QR code identity credentials for registrants
spp_consent19.0.2.0.0jeremigonzalesedwin1123DPV-aligned consent management for social protection programs. Implements ISO/IEC TS 27560:2023 consent record information structure using W3C Data Privacy Vocabulary (DPV) concepts. Provides GDPR-compliant consent lifecycle management with full audit trail.
spp_cr_types_advanced19.0.2.0.0Advanced change request types with custom Python strategies
spp_cr_types_base19.0.2.0.0Basic change request types with field mapping strategy
spp_custom_field19.0.2.0.0jeremigonzalesedwin1123The module enables administrators to define and add custom data fields directly to registrant profiles, tailoring data collection for specific social protection programs. It supports field differentiation by registrant type, integrates new data points into records, and provides dedicated sections for read-only program indicators.
spp_dci19.0.2.0.0Core DCI (Digital Convergence Initiative) API components
spp_dci_client19.0.2.0.0Base DCI client infrastructure with OAuth2 and data source management
spp_dci_client_crvs19.0.2.0.0Connect to CRVS registries via DCI API
spp_dci_client_dr19.0.2.0.0Connect to Disability Registry via DCI API
spp_dci_client_ibr19.0.2.0.0Connect to IBR for duplication checks via DCI API
spp_dci_server19.0.2.0.0DCI API server infrastructure with FastAPI routers
spp_demo19.0.2.0.0jeremigonzalesedwin1123reichie020212emjay0921Core demo module with data generator and sample data for OpenSPP
spp_dms19.0.2.0.0jeremigonzalesedwin1123The OpenSPP Dms module provides a centralized system for managing and organizing program-related documents within a structured directory tree. It facilitates efficient document retrieval through categorization and indexed storage, automatically capturing essential file metadata such as size, type, and data integrity checksums.
spp_drims19.0.2.0.0jeremigonzalesedwin1123Disaster relief inventory management for donations, requests, and distribution tracking. Links to hazard incidents with multi-tier approval workflows and warehouse operations.
spp_drims_sl19.0.2.0.0Sri Lanka-specific configuration for DRIMS disaster response inventory management. Includes geographic hierarchy, government agencies, and approval thresholds per DMC requirements.
spp_drims_sl_demo19.0.2.0.0Demo data generator for DRIMS Sri Lanka implementation. Creates sample incidents, donations, requests, and stock for demonstrations.
spp_event_data19.0.2.0.0jeremigonzalesedwin1123emjay0921Records and tracks events related to individual and group registrants from surveys, field visits, and external systems like ODK and KoBoToolbox.
spp_gis19.0.2.0.0jeremigonzalesedwin1123reichie020212GIS core plus area geo fields and importer extensions (points/polygons, layers, spatial queries).
spp_gis_report19.0.2.0.0Geographic visualization and reporting for social protection data
spp_gis_report_programs19.0.2.0.0Add program context filtering to GIS reports
spp_grm19.0.2.0.0jeremigonzalesedwin1123Provides a centralized Grievance Redress Mechanism for receiving, tracking, and resolving beneficiary complaints and feedback. It supports multi-channel submission, manages resolution workflows through customizable stages, and links grievances directly to individual or group registrants.
spp_grm_demo19.0.2.0.0jeremigonzalesedwin1123Demo data generator for Grievance Redress Mechanism
spp_hazard19.0.2.0.0jeremigonzalesedwin1123reichie020212Provides hazard classification, incident recording, and impact assessment for emergency response. Links registrants to disaster events with geographic scope and severity tracking to enable targeted humanitarian assistance.
spp_hide_menus_base19.0.2.0.0emjay0921jeremiAdministrators can manage the visibility of OpenSPP navigation menus, streamlining the user interface for specific user groups. The module modifies ir.ui.menu records to control menu visibility, providing a foundation for other modules to selectively hide non-essential navigation items.
spp_key_management19.0.2.0.0openspp-devCentralized cryptographic key management with pluggable providers
spp_mis_demo_v219.0.2.0.0jeremigonzalesedwin1123Demo Generator V2 for SP-MIS programs with fixed stories and volume generation
spp_programs19.0.2.0.0jeremigonzalesedwin1123reichie020212Manage cash and in-kind entitlements, integrate with inventory, and enhance program management features for comprehensive social protection and agricultural support.
spp_registry19.0.2.0.0Consolidated registry management for individuals, groups, and membership
spp_registry_search19.0.2.0.0Search-first registry interface for privacy protection
spp_security19.0.2.0.0jeremigonzalesedwin1123Central security definitions for OpenSPP modules
spp_service_points19.0.2.0.0jeremigonzalesedwin1123The OpenSPP Service Points module manages physical or virtual locations for social protection service delivery, establishing and categorizing operational service points. It links these points to hierarchical geographical areas, company entities, and user accounts, integrating with spp_area and g2p_registry_base for comprehensive organizational and location management.
spp_source_tracking19.0.2.0.0OpenSPPTrack data provenance and source information for registrants
spp_starter_social_registry19.0.2.0.0jeremigonzalesedwin1123Complete Social Registry bundle with API, DCI, and Change Request support
spp_starter_sp_mis19.0.2.0.0jeremigonzalesedwin1123Complete SP-MIS bundle with Social Registry, Programs, and Service Points
spp_studio19.0.2.0.0No-code customization interface for OpenSPP
spp_studio_api_v219.0.2.0.0Bridge Studio custom fields and variables with API v2
spp_studio_change_requests19.0.2.0.0No-code change request type builder
spp_studio_events19.0.2.0.0No-code event type designer for data collection
spp_user_roles19.0.2.0.0jeremigonzalesedwin1123The OpenSPP User Roles module defines and manages distinct user roles, categorizing them as global or local, to implement area-based access control. It restricts user access to specific geographical areas by leveraging the spp_area module and automates underlying system permission assignments.
spp_versioning19.0.2.0.0Artifact versioning with scheduled activation
spp_vocabulary19.0.2.0.0OpenSPP: Vocabulary
theme_openspp_muk19.0.2.0.0jeremigonzalesedwin1123OpenSPP Theme

Contributing

We welcome contributions! Please see our Contributing Guide for details.

Acknowledgments

OpenSPP includes code originally developed by the OpenG2P project. We thank all contributors to both projects. See CONTRIBUTORS.md for the full list.

License

LGPL-3.0 - This is free and open-source software.

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages