OpenSPP modules#

SPP modules#

Module

Summary

API

Establishes a RESTful API framework for OpenSPP, allowing external systems to securely read, create, update, and delete platform data. Customizable API endpoints, robust authentication, comprehensive logging, and flexible data field mapping enhance integration and auditing capabilities.

API Records

It exposes RESTful API endpoints, enabling external systems to programmatically access and manage OpenSPP's core operational data. These endpoints facilitate querying, creating, updating, and deleting records for entities like service points, social protection programs, product definitions, and beneficiary entitlements.

Area Management

Establishes 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.

Area Management (Base)

This module enables management of geographical areas, linking them to registrants for targeted interventions and analysis in social protection programs.

Area GIS

Integrates GIS capabilities into OpenSPP's Area management, enabling visualization on maps, associating coordinates, defining polygons, and facilitating spatial analysis for improved targeting and monitoring of social protection programs.

Attendance

This module accurately tracks participant attendance for social protection program activities, capturing essential details like date, time, location, and activity type. It integrates attendance records to inform conditional benefit eligibility and leverages spp_oauth to secure API endpoints for external data submission.

Audit Config

Administrators define and manage comprehensive audit rules within this module, specifying which data models, fields, and operations require tracking across the OpenSPP platform. The module ensures data integrity and accountability by logging user and timestamp details, and it enables cross-record auditing through parent-child relationships for consolidated change views.

SPP Audit Log

Comprehensively 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.

Audit Post

OpenSPP Audit Post extends core audit logging by automatically posting audit log messages to related parent records. It consolidates changes from child records onto the parent's communication timeline, leveraging the mail module for message posting.

Auto-Update Entitlements

Automatically reviews and updates the state of entitlements based on their redemption status at the end of each program cycle. It assigns precise states, including a new 'Partially Redeemed' status, to ensure accurate records for program closure, reporting, and auditing.

Base

Establishes core system settings and generates unique identifiers for records, enhancing registrant profiles with attributes like tags, gender, and type. The module also integrates Top-up Cards for identification and provides fundamental user interface elements with initial security configurations for user roles.

Base API

Provides foundational API functions and methods for robust data exchange between OpenSPP and external systems or internal modules. It enables efficient record management, complex data retrieval, and external system integration primarily through APIs and XML-RPC protocols.

Base Demo

The OpenSPP Base Demo module populates the system with essential sample data, enabling immediate exploration and understanding of core functionalities. It includes diverse sample registrants, social protection programs, and products, providing foundational demo data while conforming to the g2p_registry_individual module's data models.

Base GIS

This module stores and organizes geospatial data, including points, lines, and polygons, for visualization on interactive maps. It enables spatial querying, custom map layer configuration, and integrates location awareness across OpenSPP modules for targeted program management.

Base GIS Demo

Demonstrates the integration of Geographical Information System (GIS) capabilities within OpenSPP, illustrating how to extend data models with various geographical field types. It provides examples for defining custom geospatial data models and visualizing diverse geographical entities, including points, lines, and polygons, on interactive maps.

Base GIS REST

The module provides RESTful API endpoints for secure, programmatic access to OpenSPP's Geographical Information System data, leveraging OAuth 2.0 and Basic authentication.

Base Settings

OpenSPP 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.

Program Entitlement Basic Cash Spent

Records beneficiary expenditures against allocated cash entitlements within social protection programs to monitor utilization. It automatically calculates remaining balances and extends the g2p.entitlement model.

Branding Kit

Customizes OpenSPP's visual identity (names, logos, links) and manages telemetry settings to align with organizational branding and privacy requirements.

Change Request

The OpenSPP Change Request module streamlines the modification of registrant information through a structured, auditable framework. Configurable multi-stage validation workflows ensure proper review and approval, while a comprehensive audit trail records all actions before systematically applying approved changes to registrant records.

Change Request Demo: Add Child/Member

The module formalizes the process of adding new individuals to existing groups within the OpenSPP registry via a dedicated Change Request framework. It integrates ID scanning for rapid data entry, automates new registrant profile creation and group membership updates, and stores supporting documents in the DMS.

Change Request: Add Farmer

Provides a specialized workflow for adding new farmers to existing groups in the registry.

Change Request: Add Group to a Group

Manages change requests to add individual farmers into an existing group, validating memberships and capturing supporting documents.

Change Request Base

Streamlines the process of handling changes to registrant information within the OpenSPP system, providing a structured framework for submitting, reviewing, approving, and applying modifications.

Change Information Change Request

Manages a structured process for updating an individual registrant's core personal and identification details within the OpenSPP platform. It integrates ID scanning for automatic data population, enforces data integrity with validation rules, and securely stores supporting documents in dedicated DMS directories.

Change Request: Create Farm

Facilitates change requests to register new farms, collecting farmer, land, and asset details for review and approval.

Change Request: Create Group

Provides a specialized workflow for adding new group in the registry.

Change Request: Edit Farm

Supports change requests that update existing farm groups, including land records, assets, and registrant information.

Change Request: Edit Farmer

Provides a specialized workflow for updating existing Farmer in the registry.

Consent

This module establishes a comprehensive system for managing and tracking explicit consent from individuals and groups within social protection programs. It records specific consent agreements linked to registrants, tracks consent validity with expiry dates, and enables configuration of diverse consent types.

Custom Fields

The 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.

Custom Field Custom Filter Integration

OpenSPP's filtering system gains custom-defined data field integration, allowing administrators to use program-specific criteria for record segmentation. This enables the construction of highly specific queries, enhancing data analysis and streamlining operational processes for targeted interventions.

Custom Field Recompute Daily

The OpenSPP Custom Field Recompute Daily module automates the daily recalculation of designated computed fields, ensuring data accuracy and currency. It optimizes system performance by processing large datasets asynchronously in configurable batches, leveraging the Queue Job module.

Custom Fields UI

The OpenSPP Custom Fields UI module provides a user interface for program implementers to define and manage custom data fields for registrants. It extends registrant profiles by associating custom data with individuals or groups, supporting program-specific indicators and calculated data points within the OpenSPP platform.

Custom Filter

The module empowers administrators to precisely control which fields appear in Odoo's filtering interface. This capability streamlines data searches, reduces UI clutter, and enhances the user experience by ensuring only relevant fields are available for filtering.

Custom Filter Farmer Registry

Customizes the OpenSPP UI to enhance filtering for Farmer Registry, improving usability and efficiency in managing registrants within social protection programs.

Custom Filter UI

Customizes the OpenSPP UI to enhance filtering for Res Partners, improving usability and efficiency in managing registrants within social protection programs.

Cycle: Attendance Compliance

Program managers define and enforce attendance requirements as eligibility criteria for beneficiaries within social protection program cycles. The module integrates with external attendance systems to automatically fetch records, then evaluates beneficiaries against defined thresholds to ensure ongoing program eligibility.

Dashboard: Base

Establishes the foundational framework and consistent user interface components for analytical dashboards across the OpenSPP platform. It delivers core data visualization elements, including reusable metrics, charts, and data cards, enabling other modules to build specialized program-specific dashboards.

Data Export

The spp_data_export module enhances OpenSPP's capability to extract large volumes of program data to Excel, overcoming standard export tool limitations regarding file size and row capacity. It proactively manages Excel's maximum row capacity and overrides default export functionality to ensure complete and reliable data for external analysis.

DCI API Server

Exposes OpenSPP's individual and household registry data via a DCI-compliant RESTful API. Secures data exchange through client credential management and token-based authentication for external systems.

Document Management System

The 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.

SQL Query Eligibility Manager

Define complex program eligibility criteria using SQL queries for flexible and automated beneficiary enrollment within OpenSPP.

Tag Based Eligibility Manager

OpenSPP Eligibility Tags defines and manages program eligibility criteria based on registrant tags and geographical areas. It automates beneficiary identification by dynamically combining selected tags and areas, extending G2P Programs with a specific eligibility calculation method.

Encryption Module

Implements advanced cryptographic services for OpenSPP, enabling data encryption, decryption, digital signing, and signature verification for sensitive program information. It securely manages cryptographic keys in JWK format and distributes public keys via JWKS, facilitating secure inter-system verification and data integrity.

Entitlement Transactions

The OpenSPP Ent Trans module records and manages all entitlement redemption transactions, establishing a transparent and auditable history for cash and in-kind benefits delivered to beneficiaries. It captures detailed information for each redemption, linking transactions to specific entitlements, service points, and devices, and employs UUIDs to ensure data integrity.

Entitlement Basket

The OpenSPP Entitlement Basket module enables program administrators to define and manage structured baskets of goods and services for beneficiary entitlements. It automates entitlement calculation, integrates with inventory management, and supports a controlled lifecycle with role-based validation for in-kind distributions.

Cash Entitlement

OpenSPP Entitlement Cash establishes a framework for managing cash-based benefits within social protection programs, allowing administrators to define detailed calculation rules and automate the disbursement process. It automatically computes entitlements, manages payment validation workflows, and facilitates secure fund disbursement, incorporating financial controls and maintaining comprehensive audit trails.

In-Kind Entitlement

This module manages the distribution of non-cash benefits within social protection programs, defining in-kind entitlements and automating their generation for eligible beneficiaries. It integrates with inventory management to track stock and facilitates redemption of goods through designated service points, supporting structured distribution workflows.

OpenSPP: Ethnic Group

Establishes a standardized framework for defining and managing ethnic group classifications within the OpenSPP platform. It enhances demographic data accuracy in registrant profiles, supporting targeted program design and detailed reporting by integrating with g2p_registry_base.

Event Data

Records and tracks events related to individual and group registrants, providing a chronological history of changes and actions within the OpenSPP system.

Event Data Program Membership

This module allows users to record and track program membership-related events, such as enrollment, suspension, or exit, and link them to specific program membership records within OpenSPP.

Event Demo

OpenSPP Event Demo offers predefined event types, data models, and user interfaces for tracking specific social protection program interactions. It extends registrant profiles to display active event statuses and serves as a practical blueprint for custom event type implementation, leveraging the spp_event_data framework.

Exclusion Filter

Administrators can define and apply specific exclusion criteria based on registrant attributes or existing program participation. The module automates eligibility checks during program creation, systematically filtering out ineligible individuals to refine the beneficiary pool.

Farmer Registry Base

Manages comprehensive farmer profiles, detailing farm operations, size, legal status, and specific agricultural practices. Furthermore, it links farmers and farms to land records with geographic data, tracks agricultural activities by season, and oversees farm assets and extension services.

Farmer Registry Dashboard

Provides interactive dashboards and reports for visualizing data from the OpenSPP Farmer Registry, offering insights into key metrics and trends related to registered farmers.

Farmer Registry Default UI

This module delivers the essential user interface components for managing OpenSPP farmer and farm registry data. It enables streamlined farmer registration, efficient farm management, and accessible entry of agricultural activity and asset information.

Farmer Registry Demo

Generates and populates the OpenSPP Farmer Registry with comprehensive, realistic sample data. It integrates with core registry models to provide diverse farmer profiles, farm details, and agricultural activities, facilitating system exploration, training, and testing.

- Grievance Redress Mechanism

Provides 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.

Hide Non-OpenSPP Menus

The module automatically hides non-core OpenSPP menus to streamline the user interface. It removes Calendar, Contacts, Accounting, Event, Stock, and UTM from the main navigation, focusing users on social protection program management.

Hide Non-OpenSPP Menus: Base

Administrators 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.

POS: ID Redemption

Enables secure redemption of social protection entitlements at Point of Sale terminals through beneficiary unique identification. The module integrates ID verification with entitlement management, automatically mapping cash entitlements to products and tracking voucher status in real-time.

QR Scanner

The OpenSPP QR Scanner module identifies individuals and accesses information through scanning beneficiary-specific QR codes. This capability streamlines field operations by enabling rapid data retrieval and minimizing manual data entry errors for program delivery and monitoring.

Registry Approval: Base

This module implements a structured workflow for managing the lifecycle of OpenSPP registry entries, ensuring beneficiary data meets required standards through a formal approval process. It introduces distinct states for each entry and restricts approval actions to authorized personnel, preventing premature program enrollment.

Registry Approval: Group

Extending the OpenSPP registry's approval framework, this module enables formal validation and management of collective entity records. It integrates the existing workflow to ensure group data undergoes a structured review process, maintaining data integrity for program enrollment.

Registry Approval: Individual

Manages the validation and official status of individual registrants by extending the base registry approval process within social protection programs. It ensures individual beneficiary data undergoes a dedicated review workflow, applying core approval states to enhance data quality and enable precise program enrollment.

Registry: Base

The module establishes the OpenSPP-specific foundation for managing individual beneficiaries and various group types. It extends core G2P Registry functionalities by providing specialized import templates and tools for efficient registrant data population.

G2P modules#

OpenSPP builds upon the robust foundation of OpenG2P, leveraging its extensive suite of modules to enhance social protection program management. Below is a comprehensive list of G2P modules that are integral to OpenSPP's functionality: