Skip to main content

CVA Platforms

Cash and voucher assistance (CVA) delivery requires coordination across multiple technology layers: beneficiary management systems that determine eligibility and calculate entitlements, payment infrastructure that moves funds between financial service providers, orchestration engines that sequence payment workflows, and integration platforms that connect disparate systems. This benchmark evaluates four open source solutions addressing different components of the CVA technology stack.

This page does not cover commercial CVA management platforms such as RedRose, Mastercard Aid Network, or proprietary FSP solutions. See the related page mapping for adjacent benchmarks covering case management systems and beneficiary identity systems.

Assessment methodology

Tool assessments derive from official developer documentation, published API references, release notes, and technical specifications as of 2026-01-10. Feature availability varies by product tier, deployment model, or region. Verify current capabilities directly with maintainers during procurement. Community-reported information is excluded; only documented features are assessed.

Requirements taxonomy

This taxonomy defines evaluation criteria for CVA infrastructure components. Requirements are organised by functional area and weighted by typical priority for humanitarian and social protection contexts.

Functional requirements

Beneficiary management

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
F1.1Beneficiary registrationCapture and store beneficiary demographic data, household composition, and vulnerability indicatorsFull: configurable registration forms, household grouping, document attachment. Partial: fixed fields only. None: no registration capability.Review registration module documentation; test form configurationEssential
F1.2DeduplicationIdentify and manage duplicate beneficiary records to prevent double-dippingFull: configurable matching rules, fuzzy matching, biometric integration. Partial: exact match only. None: manual review only.Review deduplication documentation; check matching algorithmsEssential
F1.3Eligibility determinationApply rules to determine programme eligibility based on beneficiary attributesFull: configurable eligibility criteria, proxy means testing, categorical targeting. Partial: single criteria type. None: manual assignment.Review eligibility engine documentation; test rule configurationEssential
F1.4Entitlement calculationCompute transfer amounts based on household composition, programme rules, and frequencyFull: configurable calculation formulas, household-size adjustments, top-ups. Partial: fixed amounts. None: no calculation.Review entitlement documentation; verify formula flexibilityEssential
F1.5Beneficiary grievance trackingRecord and manage complaints, appeals, and feedback from beneficiariesFull: ticketing system, status tracking, resolution workflow. Partial: basic logging. None: no tracking.Review grievance module documentationImportant
F1.6Consent managementCapture, store, and manage beneficiary consent for data processing and programme participationFull: granular consent types, withdrawal tracking, audit trail. Partial: single consent flag. None: no consent management.Review consent documentation; assess GDPR alignmentEssential

Payment processing

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
F2.1Payment instruction generationCreate payment orders from approved entitlements for transmission to FSPsFull: batch generation, multiple FSP formats, scheduling. Partial: single format. None: manual creation.Review payment generation documentation; check output formatsEssential
F2.2Multi-FSP supportRoute payments to multiple financial service providers based on beneficiary preference or locationFull: configurable FSP routing, failover, load balancing. Partial: single FSP. None: no routing.Review FSP integration documentation; count supported providersEssential
F2.3Payment reconciliationMatch payment instructions with FSP confirmation to track disbursement statusFull: automated matching, exception handling, retry logic. Partial: manual reconciliation. None: no reconciliation.Review reconciliation documentation; check automation levelEssential
F2.4Payment reversal handlingProcess failed, rejected, or returned payments with appropriate beneficiary notificationFull: automated reversal processing, reason tracking, re-queue capability. Partial: manual handling. None: no reversal support.Review reversal documentation; check workflow automationImportant
F2.5Real-time payment statusTrack payment status from initiation through completion with beneficiary visibilityFull: real-time status updates, beneficiary portal/SMS notification. Partial: batch status updates. None: no status tracking.Review status tracking documentation; check notification channelsImportant
F2.6Payment schedulingSchedule recurring payments, advance payments, or time-bound disbursementsFull: flexible scheduling, calendar integration, pause/resume. Partial: fixed intervals. None: immediate only.Review scheduling documentation; test recurrence patternsImportant

FSP interoperability

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
F3.1Mobile money integrationConnect to mobile money providers for disbursement to mobile walletsFull: documented integrations with major providers (MTN, Safaricom, Orange), sandbox testing. Partial: generic API only. None: no mobile money.Review mobile money connector documentation; check provider coverageEssential
F3.2Bank transfer supportExecute transfers to bank accounts via ACH, RTGS, or instant payment railsFull: multiple rail types, bank validation, fee handling. Partial: single rail. None: no bank transfers.Review bank transfer documentation; check country coverageImportant
F3.3Agent network disbursementEnable cash collection at agent locations with authentication and receipt generationFull: agent location API, beneficiary authentication, receipt generation. Partial: location list only. None: no agent support.Review agent disbursement documentationContext-dependent
F3.4Voucher generationCreate electronic or paper vouchers redeemable at participating merchantsFull: voucher lifecycle management, merchant redemption, value tracking. Partial: basic voucher generation. None: no voucher support.Review voucher documentation; check merchant integrationContext-dependent
F3.5Cross-border paymentsExecute international transfers with currency conversion and compliance handlingFull: corridor support, FX rates, compliance screening. Partial: limited corridors. None: domestic only.Review cross-border documentation; check corridor coverageContext-dependent

Programme management

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
F4.1Programme configurationDefine programme parameters including duration, eligibility criteria, transfer values, and cyclesFull: multi-programme support, versioning, approval workflow. Partial: single programme. None: hardcoded parameters.Review programme configuration documentationEssential
F4.2Cycle managementManage payment cycles with beneficiary list generation, approval, and executionFull: configurable cycles, list freeze, amendment handling. Partial: fixed cycles. None: no cycle support.Review cycle management documentationEssential
F4.3Budget trackingMonitor programme expenditure against allocated budget with alertsFull: real-time tracking, commitment accounting, multi-currency. Partial: basic totals. None: no budget tracking.Review budget documentation; check reporting granularityImportant
F4.4Donor reportingGenerate reports meeting donor requirements for expenditure, coverage, and outcomesFull: customisable report templates, automated generation, export formats. Partial: fixed reports. None: no donor reports.Review reporting documentation; check template flexibilityImportant
F4.5Multi-programme coordinationManage multiple concurrent programmes with shared beneficiary registryFull: cross-programme deduplication, stacking rules, unified registry. Partial: separate registries. None: single programme.Review multi-programme documentationImportant

Workflow automation

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
F5.1Data transformationConvert data between formats required by different systems in the CVA stackFull: visual mapping, custom transformations, error handling. Partial: fixed mappings. None: no transformation.Review transformation documentation; check format supportEssential
F5.2Event-driven triggersInitiate workflows based on system events such as registration completion or payment failureFull: configurable triggers, multiple event types, conditional logic. Partial: limited events. None: manual initiation.Review trigger documentation; check event coverageImportant
F5.3Retry and error handlingManage failed operations with configurable retry logic and error notificationFull: configurable retry policies, exponential backoff, alerting. Partial: fixed retries. None: no retry logic.Review error handling documentationEssential
F5.4Audit trailMaintain immutable log of all data movements and transformationsFull: comprehensive logging, tamper-evident, queryable. Partial: basic logging. None: no audit trail.Review audit documentation; check log completenessEssential
F5.5Scheduling and orchestrationCoordinate timed workflows across multiple systemsFull: cron scheduling, dependency management, parallel execution. Partial: simple scheduling. None: no scheduling.Review scheduling documentationImportant

Technical requirements

Deployment and hosting

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
T1.1Self-hosted deploymentDeploy on organisation-controlled infrastructure for data sovereigntyFull: complete feature parity, documented deployment. Partial: feature limitations. None: SaaS only.Review deployment documentation; compare feature matrixEssential
T1.2Container deploymentSupport containerised deployment via Docker and KubernetesFull: official images, Helm charts, orchestration docs. Partial: community images. None: no container support.Check container registries; review orchestration docsImportant
T1.3Air-gapped operationFunction without internet connectivity for field deploymentFull: complete offline operation documented. Partial: degraded functionality. None: requires internet.Review offline documentation; identify dependenciesContext-dependent
T1.4High availabilitySupport redundant deployment eliminating single points of failureFull: documented HA architecture, automatic failover. Partial: manual failover. None: single-instance.Review HA documentation; check clustering supportContext-dependent
T1.5Resource requirementsPublished minimum and recommended hardware specificationsFull: detailed sizing guides by scale. Partial: minimum requirements only. None: undocumented.Review system requirements documentationImportant

Scalability and performance

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
T2.1Horizontal scalingAdd capacity through additional nodes rather than hardware upgradesFull: documented horizontal scaling, load balancing. Partial: limited scaling. None: vertical only.Review scaling documentation; check architectureContext-dependent
T2.2Batch processing capacityHandle large payment batches (10,000+ beneficiaries) efficientlyFull: benchmarks published, async processing. Partial: size limits. None: no batch processing.Review batch documentation; check published limitsEssential
T2.3Concurrent user supportSupport multiple simultaneous users without degradationFull: published concurrent user limits, connection pooling. Partial: limited concurrency. None: single user.Review performance documentationImportant
T2.4Transaction throughputPublished transactions per second for payment processingFull: benchmarks with methodology. Partial: general claims. None: no published data.Review performance documentation; check benchmark methodologyImportant

Integration architecture

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
T3.1REST APIProgrammatic access via REST API for integrationFull: comprehensive API, versioned, documented. Partial: limited coverage. None: no API.Review API documentation completeness; compare to UI featuresEssential
T3.2API authenticationMethods for securing API accessDocument supported methods: API keys, OAuth 2.0, OIDC, mTLSReview API security documentationEssential
T3.3Webhook supportPush event notifications to external systemsFull: configurable webhooks, retry logic, payload customisation. Partial: limited events. None: polling only.Review webhook documentation; check event coverageImportant
T3.4Bulk data operationsEfficient large-scale data import and exportFull: batch APIs, streaming, async operations. Partial: size limits. None: record-by-record.Review bulk operation documentation; check limitsEssential
T3.5Pre-built connectorsAvailable integrations with common CVA ecosystem systemsList connectors: KoboToolbox, DHIS2, CommCare, Primero, etc.Review integrations directory; verify maintenanceDesirable

Standards compliance

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
T3.6Level One Project alignmentConformance with Mojaloop/L1P interoperability specificationsFull: FSPIOP implementation, certified interoperability. Partial: partial implementation. None: no L1P alignment.Review L1P compliance documentationContext-dependent
T3.7ISO 20022 supportUse of ISO 20022 financial messaging standardsFull: native ISO 20022, message mapping. Partial: conversion available. None: proprietary only.Review messaging documentation; check message typesContext-dependent
T3.8HXL taggingSupport for Humanitarian Exchange Language data taggingFull: native HXL support, tagged exports. Partial: manual tagging. None: no HXL.Review data standards documentationDesirable

Security requirements

Authentication and access control

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
S1.1Multi-factor authenticationMFA support for user accountsFull: multiple MFA methods (TOTP, WebAuthn), policy enforcement. Partial: single method. None: password only.Review authentication documentation; test MFA optionsEssential
S1.2Single sign-onFederated identity via SSO protocolsFull: SAML 2.0 and OIDC, multiple IdP. Partial: single protocol. None: local auth only.Review SSO documentation; check protocol supportEssential
S1.3Role-based access controlGranular permissions based on user rolesFull: custom roles, field-level permissions, inheritance. Partial: fixed roles. None: basic user/admin.Review RBAC documentation; assess granularityEssential
S1.4Segregation of dutiesEnforce separation between registration, approval, and payment functionsFull: workflow-enforced separation, dual approval. Partial: role separation only. None: no segregation.Review workflow documentation; check approval chainsEssential
S1.5Session managementControls for session duration, concurrent sessions, forced logoutFull: configurable policies, session visibility. Partial: limited controls. None: defaults only.Review session documentationImportant

Data protection

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
S2.1Encryption at restData encrypted when storedFull: AES-256, documented key management. Partial: encryption available but optional. None: unencrypted.Review encryption documentation; verify key managementEssential
S2.2Encryption in transitData encrypted during transmissionFull: TLS 1.2+ enforced. Partial: TLS available. None: unencrypted transmission.Review transport security; test with SSL analyserEssential
S2.3PII handlingControls for personally identifiable informationFull: data classification, masking, minimisation controls. Partial: basic masking. None: no PII controls.Review PII documentation; check masking capabilitiesEssential
S2.4Audit loggingComprehensive logging of data access and changesFull: immutable logs, configurable retention, export. Partial: limited logging. None: no audit logs.Review audit documentation; assess log completenessEssential
S2.5Data residencyControl over data storage locationFull: selectable regions, documented data flows. Partial: limited regions. None: undisclosed.Review residency documentation; verify contractuallyEssential

Security certifications

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
S3.1Security audit historyEvidence of independent security assessmentFull: published audit summaries, CVE tracking. Partial: internal audits. None: no audits disclosed.Request audit evidence; check CVE databaseImportant
S3.2Vulnerability disclosureProcess for reporting and addressing security issuesFull: public policy, responsible disclosure, timely patches. Partial: informal process. None: no programme.Review security policy; check disclosure historyImportant
S3.3GDPR compliance featuresCapabilities supporting GDPR complianceFull: consent management, data export, erasure support. Partial: limited features. None: no GDPR features.Review GDPR documentation; assess feature coverageEssential

Operational requirements

Administration

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
O1.1Administrative interfaceQuality and capability of admin toolsFull: comprehensive web UI, bulk operations. Partial: limited UI. None: command-line only.Review admin documentation; assess during trialImportant
O1.2Multi-tenancySupport isolated environments for different programmes or organisationsFull: logical or physical isolation, tenant-specific config. Partial: workspace separation. None: single tenant.Review multi-tenancy documentationContext-dependent
O1.3LocalisationSupport for multiple languages and regional formatsFull: UI translations, configurable date/number formats, RTL. Partial: limited languages. None: English only.Review localisation documentation; check language countImportant
O1.4Configuration managementVersion-controlled configuration for reproducible deploymentsFull: infrastructure as code, GitOps support. Partial: limited config export. None: UI only.Review configuration documentationDesirable

Monitoring and observability

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
O2.1Health monitoringProgrammatic health check endpointsFull: detailed health endpoints, component status. Partial: basic up/down. None: no health API.Review monitoring documentation; test endpointsImportant
O2.2Metrics exportExposure of operational metrics for monitoring systemsFull: Prometheus/OpenTelemetry export. Partial: built-in dashboard only. None: no metrics.Review metrics documentation; check formatsImportant
O2.3AlertingNotification for operational issuesFull: configurable alerts, multiple channels. Partial: basic email. None: no alerting.Review alerting documentationImportant

Backup and recovery

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
O3.1Automated backupRegular automated data backupFull: configurable schedule, encryption, retention. Partial: manual only. None: no backup support.Review backup documentationEssential
O3.2Point-in-time recoveryRestore to specific point in timeFull: granular PITR, documented RPO. Partial: daily snapshots. None: latest only.Review recovery documentationImportant
O3.3Disaster recoveryDocumented procedures for catastrophic failureFull: DR runbook, tested procedures. Partial: general guidance. None: no DR documentation.Review DR documentationImportant

Support and maintenance

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
O4.1Documentation qualityCompleteness and accuracy of technical documentationFull: comprehensive, current, searchable. Partial: incomplete. Poor: minimal.Assess documentation during evaluationEssential
O4.2Community activityVitality of open source communityMetrics: contributors, commit frequency, issue response, governanceReview repository statisticsImportant
O4.3Commercial supportAvailability of paid support optionsFull: enterprise support, SLAs. Partial: consulting only. None: community only.Review support options; check provider networkContext-dependent
O4.4Release cadenceFrequency and predictability of updatesFull: regular releases, LTS options. Partial: irregular. None: sporadic.Review release historyImportant

Data management requirements

Import and migration

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
D1.1Beneficiary data importImport beneficiary records from external sourcesFull: CSV, Excel, JSON import with validation. Partial: limited formats. None: manual entry.Review import documentation; test with sample dataEssential
D1.2Migration toolsUtilities for migrating from other systemsFull: migration guides for common sources. Partial: generic import. None: no migration support.Review migration documentationDesirable
D1.3Data validationVerification of imported data qualityFull: configurable rules, error reporting. Partial: basic type checking. None: no validation.Review validation documentationImportant

Export and portability

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
D2.1Complete data exportExport all beneficiary and transaction dataFull: comprehensive export, machine-readable formats. Partial: limited scope. None: no export.Review export documentation; test completenessEssential
D2.2Export formatsAvailable output formatsList formats: CSV, JSON, XML, Excel, etc.Review export documentationImportant
D2.3Scheduled exportsAutomated recurring data exportsFull: configurable schedules, destinations. Partial: manual triggers. None: on-demand only.Review scheduling documentationDesirable
D2.4API-based extractionProgrammatic data extraction via APIFull: comprehensive read API. Partial: limited endpoints. None: UI export only.Review API documentationImportant

Functional capability comparison

CVA stack positioning

CapabilityOpenSPPMojaloopMifos Payment Hub EEOpenFn
Primary functionSocial protection MISInstant payment switchPayment orchestrationWorkflow automation
Beneficiary registry
Eligibility determination
Entitlement calculation
Payment instruction generation
Inter-FSP clearing
Settlement
FSP connector framework
Data integration
Workflow orchestration

Rating key: ● Full support | ◐ Partial support | ✗ Not supported

Assessment notes:

  • OpenSPP provides end-to-end social protection capability from registration through payment instruction but relies on external payment infrastructure for actual fund transfer
  • Mojaloop handles interbank/inter-FSP clearing and settlement but does not manage beneficiaries or programme logic
  • Mifos Payment Hub EE orchestrates payment workflows between account systems and payment switches but does not maintain beneficiary data
  • OpenFn connects systems and transforms data but does not provide CVA business logic

Beneficiary management

Req IDRequirementOpenSPPMojaloopMifos Payment Hub EEOpenFn
F1.1Beneficiary registration
F1.2Deduplication
F1.3Eligibility determination
F1.4Entitlement calculation
F1.5Grievance tracking
F1.6Consent management

Assessment notes:

  • OpenSPP F1.2: Supports configurable deduplication rules via the OpenG2P registry module; fuzzy matching requires additional configuration
  • OpenSPP F1.3: Eligibility managers are extensible; organisations create custom eligibility rules via Python modules

Payment processing

Req IDRequirementOpenSPPMojaloopMifos Payment Hub EEOpenFn
F2.1Payment instruction generation
F2.2Multi-FSP support
F2.3Payment reconciliation
F2.4Payment reversal handling
F2.5Real-time payment status
F2.6Payment scheduling

Assessment notes:

  • OpenSPP F2.2: Supports multiple payment managers but requires FSP-specific connector development
  • Mojaloop F2.1: Generates transfer requests per FSPIOP specification; does not generate bulk payment files
  • Mifos Payment Hub EE F2.3: Uses Zeebe workflow engine for reconciliation orchestration
  • OpenFn F2.3: Can orchestrate reconciliation workflows across systems but does not provide native reconciliation logic

FSP interoperability

Req IDRequirementOpenSPPMojaloopMifos Payment Hub EEOpenFn
F3.1Mobile money integration
F3.2Bank transfer support
F3.3Agent network disbursement
F3.4Voucher generation
F3.5Cross-border payments●β

Assessment notes:

  • Mojaloop F3.1: Reference implementations exist for major mobile money providers; production connectors require DFSP-specific development
  • Mojaloop F3.5: Cross-network (FX) API in active development as of late 2024
  • OpenSPP F3.4: Voucher management module available but less mature than payment modules
  • OpenFn F3.1/F3.2: Adaptors available for some payment providers (Stripe, PayPal); humanitarian FSP coverage limited

Programme management

Req IDRequirementOpenSPPMojaloopMifos Payment Hub EEOpenFn
F4.1Programme configuration
F4.2Cycle management
F4.3Budget tracking
F4.4Donor reporting
F4.5Multi-programme coordination

Assessment notes:

  • OpenSPP F4.4: Standard reports available; custom donor report templates require development
  • Mifos Payment Hub EE F4.2: Payment cycles managed via BPMN workflows in Zeebe
  • OpenFn F4.4: Can aggregate data from multiple sources for reporting but does not generate reports natively

Workflow automation

Req IDRequirementOpenSPPMojaloopMifos Payment Hub EEOpenFn
F5.1Data transformation
F5.2Event-driven triggers
F5.3Retry and error handling
F5.4Audit trail
F5.5Scheduling and orchestration

Assessment notes:

  • OpenFn F5.1: Visual workflow builder with extensive data transformation capabilities; 70+ pre-built adaptors
  • Mifos Payment Hub EE F5.2/F5.5: Zeebe provides BPMN-based workflow orchestration with sophisticated event handling
  • OpenSPP F5.4: Comprehensive audit logging inherited from Odoo framework

Technical capability comparison

Deployment and hosting

Req IDRequirementOpenSPPMojaloopMifos Payment Hub EEOpenFn
T1.1Self-hosted deployment
T1.2Container deployment
T1.3Air-gapped operation
T1.4High availability
T1.5Resource requirements

Deployment details:

ToolPlatformContainer supportMinimum resourcesRecommended production
OpenSPPLinux (Ubuntu 22.04+)Docker Compose, Kubernetes4 CPU, 8GB RAM, 50GB storage8 CPU, 32GB RAM, 200GB storage
MojaloopLinux, Kubernetes requiredHelm charts, official images16 CPU, 32GB RAM, 100GB storage32+ CPU, 64GB+ RAM, distributed
Mifos Payment Hub EELinux, Kubernetes preferredHelm charts, Docker images8 CPU, 16GB RAM, 50GB storage16 CPU, 32GB RAM, 100GB storage
OpenFnLinux (Debian/Ubuntu)Docker, official images2 CPU, 4GB RAM, 20GB storage4 CPU, 8GB RAM, 50GB storage

Assessment notes:

  • OpenSPP T1.3: Can function offline for data entry; payment processing requires connectivity
  • Mojaloop T1.3: Designed for always-connected real-time operation; not suitable for disconnected deployment
  • OpenFn T1.3: Lightning supports offline work queuing; jobs execute when connectivity restored

Integration architecture

Req IDRequirementOpenSPPMojaloopMifos Payment Hub EEOpenFn
T3.1REST API
T3.2API authenticationOAuth 2.0, API keyOAuth 2.0, mTLSAPI key, OAuth 2.0API key, OAuth 2.0, OIDC
T3.3Webhook support
T3.4Bulk data operations
T3.5Pre-built connectors-

API details:

ToolAPI documentationRate limitsVersioningSDK availability
OpenSPPdocs.openspp.org/developer_guideConfigurable (self-hosted)Odoo version-basedPython (Odoo client)
Mojaloopdocs.mojaloop.io/apiConfigurableFSPIOP versionedJavaScript SDK
Mifos Payment Hub EEmifos.gitbook.io/docs/payment-hub-eeConfigurablePath versioningJava client libraries
OpenFndocs.openfn.orgConfigurable (self-hosted)Semantic versioningJavaScript CLI

Assessment notes:

  • OpenSPP T3.5: CommCare integration documented; additional connectors require custom development
  • Mojaloop T3.5: Not applicable; provides APIs that connectors integrate with rather than providing connectors
  • OpenFn T3.5: 70+ adaptors including DHIS2, Primero, CommCare, Salesforce, ODK

Standards compliance

StandardOpenSPPMojaloopMifos Payment Hub EEOpenFn
Level One Project/FSPIOP
ISO 20022
HXL tagging
FHIR
OpenHIE

Assessment notes:

  • Mojaloop ISO 20022: Roadmap includes ISO 20022 migration; not currently native
  • OpenFn HXL: Can process and generate HXL-tagged data through custom job scripts
  • OpenFn FHIR/OpenHIE: Native FHIR adaptor and OpenHIE compliance for health system integration

Security capability comparison

Authentication and access control

Req IDRequirementOpenSPPMojaloopMifos Payment Hub EEOpenFn
S1.1Multi-factor authentication
S1.2SSO integrationSAML, OIDCOIDCOIDCSAML, OIDC
S1.3Role-based access control
S1.4Segregation of duties
S1.5Session management

MFA methods supported:

ToolTOTPWebAuthn/FIDO2PushSMS
OpenSPP
Mojaloop
Mifos Payment Hub EE
OpenFn

Data protection

Req IDRequirementOpenSPPMojaloopMifos Payment Hub EEOpenFn
S2.1Encryption at restAES-256AES-256AES-256AES-256
S2.2Encryption in transitTLS 1.2+TLS 1.2+TLS 1.2+TLS 1.2+
S2.3PII handling
S2.4Audit logging
S2.5Data residency

Assessment notes:

  • OpenSPP S2.3: Protection data module provides enhanced PII handling for vulnerable populations
  • Mifos Payment Hub EE S2.3: Handles payment account identifiers; beneficiary PII typically held in upstream systems
  • OpenFn S2.3: Data retention policies configurable; dataclip wiping available for sensitive workflows

Security certifications

Certification/PracticeOpenSPPMojaloopMifos Payment Hub EEOpenFn
Independent security audit
Vulnerability disclosure programme
CVE tracking
GDPR compliance features
DPG certified

Assessment notes:

  • All four solutions are certified Digital Public Goods
  • OpenSPP: Security practices inherited from Odoo framework plus OpenG2P security guidelines
  • Mojaloop: Dedicated security workstream; comprehensive threat modelling documented

Operational capability comparison

Administration

Req IDRequirementOpenSPPMojaloopMifos Payment Hub EEOpenFn
O1.1Admin interface quality
O1.2Multi-tenancy
O1.3Localisation25+ languagesLimitedLimited10+ languages
O1.4Configuration management

Assessment notes:

  • OpenSPP O1.1: Full Odoo-based admin interface with extensive customisation options
  • Mojaloop O1.1: Business Operations Framework provides admin UI; primarily API-driven
  • OpenFn O1.1: Lightning v2 visual workflow builder with comprehensive project management

Monitoring and support

AspectOpenSPPMojaloopMifos Payment Hub EEOpenFn
Health endpoints
Metrics formatPrometheusPrometheusPrometheusPrometheus
Log export
Documentation qualityGoodExcellentGoodExcellent
Community forum● Active● Active● Active● Active
Commercial supportConsulting partnersMember organisationsMifos InitiativeOpenFn Inc.

Individual tool assessments

OpenSPP

Type
Open source
Licence
LGPL-3.0
Current version
17.0.1.2.1 (Batanes release)
Deployment options
Self-hosted (Docker, Kubernetes), managed cloud via partners
Source repository
https://github.com/OpenSPP
Documentation
https://docs.openspp.org

Overview

OpenSPP provides a modular social protection management information system built on the Odoo 17 enterprise framework. The platform addresses the complete social protection lifecycle from beneficiary registration through programme management to payment instruction generation. Three integrated products compose the offering: SP-MIS for programme administration, Social Registry for beneficiary data coordination, and Farmer Registry for agricultural-social protection convergence.

The architecture builds upon OpenG2P (Open Government to Person) core modules, extending them with humanitarian and agricultural-specific functionality. This inheritance provides mature registry capabilities while allowing OpenSPP to focus on CVA-specific requirements. Organisations can deploy individual modules matching their needs while maintaining interoperability with existing systems through REST APIs and the Odoo integration framework.

Development is led by a consortium of implementing partners with active deployments across Asia and Africa. The project achieved Digital Public Good certification and maintains alignment with Digital Public Goods Standard principles including user-centricity, modularity, and interoperability.

Capability assessment for CVA

OpenSPP delivers the strongest beneficiary management capabilities among assessed solutions. The eligibility manager framework supports proxy means testing, categorical targeting, and custom eligibility rules implemented as Python modules. Entitlement calculation handles household composition adjustments, geographic variations, and top-up calculations. The cycle management module generates beneficiary lists, manages approval workflows, and tracks disbursement status.

Payment integration requires external infrastructure. OpenSPP generates payment instructions but does not execute transfers directly. Organisations connect OpenSPP to payment switches (such as Mojaloop) or FSP APIs through payment manager modules. Pre-built connectors exist for some mobile money providers; others require development.

The platform handles protection-sensitive data through configurable access controls and field-level security. Integration with Primero for case management and KoboToolbox for field data collection is documented, though production implementations require configuration effort.

Key strengths:

  • Complete beneficiary lifecycle management from registration through payment tracking
  • Extensible eligibility framework supporting complex targeting criteria
  • Multi-programme coordination with shared registry and deduplication
  • Mature Odoo framework provides enterprise features (reporting, workflow, audit)
  • Active development community with regular releases

Key limitations:

  • Odoo expertise required for customisation and module development
  • Payment execution requires integration with external payment infrastructure
  • Limited out-of-box FSP connectors; most require custom development
  • Resource-intensive deployment compared to lighter-weight solutions
  • Learning curve for non-Odoo developers

Deployment and operations

Self-hosted requirements:

Operating system: Ubuntu 22.04 LTS, Debian 12
Database: PostgreSQL 14+
Runtime: Python 3.10+, Odoo 17
Minimum resources: 4 CPU, 8GB RAM, 50GB storage
Recommended production: 8 CPU, 32GB RAM, 200GB SSD

Deployment complexity: Medium-High. Docker Compose deployment documented for development; production Kubernetes deployment requires Odoo operations experience.

Operational overhead: Medium. Odoo maintenance patterns apply including database backups, module updates, and customisation management.

Upgrade path: Follows Odoo version releases. Migration between major Odoo versions (e.g., 16 to 17) requires planning and testing.

Integration capabilities

IntegrationTypeDocumentation
CommCareNative connectorDocumented, maintained
KoboToolboxREST APIDocumented
PrimeroREST APIReference architecture
eSignetOIDCDocumented
KeycloakOIDCDocumented
MOSIPREST APIReference architecture

OpenSPP exposes comprehensive REST APIs following Odoo patterns. Custom integrations use the standard Odoo external API with JSON-RPC or XML-RPC protocols. Webhook support is available through Odoo automation rules.

Cost analysis

Deployment modelInfrastructure cost (small)Infrastructure cost (medium)
Self-hosted cloud$150-300/month$500-1,500/month
Self-hosted on-premisesHardware + admin timeHardware + admin time
Managed (via partner)Varies by partnerVaries by partner

Cost factors:

  • No licensing cost (LGPL-3.0)
  • Infrastructure scales with beneficiary count and concurrent users
  • Customisation requires Python/Odoo development expertise
  • Partner network available for implementation support

Mojaloop

Type
Open source
Licence
Apache 2.0
Current version
Congo v16.0.0 (named release)
Deployment options
Self-hosted (Kubernetes required)
Source repository
https://github.com/mojaloop
Documentation
https://docs.mojaloop.io

Overview

Mojaloop provides reference implementation software for instant payment system interoperability. The platform enables Digital Financial Service Providers (DFSPs) to exchange payments through a central hub that handles clearing and settlement. The Bill & Melinda Gates Foundation’s Level One Project created and released the software in 2017 to reduce technical barriers to financial inclusion.

The architecture centres on a central ledger service coordinating transfers between connected DFSPs. Components handle identity lookup (Account Lookup Service), fraud management, transaction routing, and settlement. All communication follows the Financial Service Provider Interoperability (FSPIOP) API specification, ensuring standardised interactions regardless of the underlying DFSP technology.

Mojaloop operates as payment infrastructure rather than an application. Organisations do not interact with Mojaloop directly; instead, DFSPs (banks, mobile money operators, microfinance institutions) connect to Mojaloop switches to offer interoperable payments to their customers. For CVA, a humanitarian organisation’s payment partner connects to the Mojaloop switch, enabling disbursement to any wallet or account on the connected network.

Capability assessment for CVA

Mojaloop addresses the payment infrastructure layer of CVA operations. When a humanitarian organisation needs to disburse cash to beneficiaries holding accounts at multiple FSPs, a Mojaloop switch enables single-connection access to all participating providers. This eliminates the need for bilateral integrations with each FSP.

The platform does not manage beneficiaries, calculate entitlements, or generate payment lists. These functions reside in upstream systems (such as OpenSPP) that produce payment instructions. Payment Hub EE or similar orchestration layers translate these instructions into Mojaloop API calls.

Mojaloop’s value for CVA depends on deployment context. In countries with national instant payment systems built on Mojaloop (Tanzania TIPS, Philippines Higala), humanitarian organisations benefit from existing infrastructure. In contexts without Mojaloop deployment, the substantial investment required to establish a switch limits applicability.

Key strengths:

  • Proven instant payment infrastructure with national-scale deployments
  • Standardised FSPIOP APIs ensure consistent integration patterns
  • Comprehensive settlement and clearing functionality
  • Active foundation governance with major financial inclusion stakeholders
  • Extensive documentation and testing tools

Key limitations:

  • Substantial deployment complexity requiring Kubernetes expertise
  • Not applicable without participating DFSPs; requires ecosystem development
  • No beneficiary management or CVA programme logic
  • Resource-intensive infrastructure requirements
  • Requires DFSP integration development for each participant

Deployment and operations

Self-hosted requirements:

Operating system: Linux (container-based)
Orchestration: Kubernetes 1.21+ (required)
Database: MySQL 8+, TigerBeetle (optional for performance)
Message queue: Kafka
Minimum resources: 16 CPU, 32GB RAM, 100GB storage
Recommended production: 32+ CPU, 64GB+ RAM, distributed cluster

Deployment complexity: High. Production deployment requires Kubernetes expertise, security hardening, and HA configuration. Infrastructure as Code (IaC) v5.0.0 provides deployment automation.

Operational overhead: High. Operates critical financial infrastructure with corresponding monitoring, incident response, and change management requirements.

Upgrade path: Named releases (Acacia, Zambezi, Congo) with documented migration. Release cadence tied to Program Increment cycles.

Integration capabilities

Integration pointProtocolDocumentation
DFSP connectionFSPIOP APIComprehensive
SettlementSettlement APIComprehensive
Account lookupALS APIComprehensive
Admin operationsAdministration APIComprehensive
ReportingReporting APIAvailable

Mojaloop does not “integrate” with other systems in the traditional sense. It provides APIs that DFSPs implement connectors against. The SDK Scheme Adapter reference implementation demonstrates connector patterns for DFSPs connecting their systems to a Mojaloop switch.

Cost analysis

Mojaloop deployment typically occurs at national or regional level with costs borne by scheme operators, central banks, or consortia rather than individual humanitarian organisations. Direct deployment by a humanitarian organisation is atypical.

ComponentConsideration
InfrastructureEnterprise Kubernetes cluster (significant)
IntegrationDFSP connector development per participant
Operations24/7 operations team for financial infrastructure
GovernanceScheme rules, regulatory compliance

Mifos Payment Hub EE

Type
Open source
Licence
MPL-2.0 (Mozilla Public License)
Current version
1.13.0
Deployment options
Self-hosted (Kubernetes preferred), cloud deployment
Source repository
https://github.com/openMF (ph-ee-* repositories)
Documentation
https://mifos.gitbook.io/docs/payment-hub-ee

Overview

Mifos Payment Hub Enterprise Edition provides payment orchestration middleware connecting account management systems to real-time payment switches. The platform abstracts payment system complexity behind a consistent API, enabling core banking systems and wallets to participate in instant payment networks without direct integration work.

The architecture uses Zeebe (Camunda’s workflow engine) to orchestrate payment workflows defined in BPMN notation. Connectors handle communication with external systems: account management system connectors link to core banking platforms (Fineract, Mifos X); payment system connectors interface with switches (Mojaloop). Channel connectors enable mobile apps and other interfaces to initiate transactions.

The Mifos Initiative developed Payment Hub EE with grants from DIAL and the Gates Foundation to create an end-to-end open source architecture for digital financial services. The platform complements Mifos X and Apache Fineract core banking systems, though it can connect to other account management systems through custom connectors.

Capability assessment for CVA

Payment Hub EE addresses the orchestration layer between CVA management systems and payment infrastructure. When OpenSPP or another MIS generates payment instructions, Payment Hub EE can sequence the resulting transactions, manage batch processing, handle errors and retries, and reconcile completion status.

The platform’s BPMN-based workflow engine provides flexibility for complex payment scenarios. G2P (Government to Person) payment workflows are documented, including bulk disbursement patterns relevant to humanitarian cash transfers. The modular connector architecture allows integration with various FSPs beyond the reference Mojaloop connector.

Integration with upstream beneficiary management systems requires custom development. Payment Hub EE does not maintain beneficiary registries or programme logic; it executes payment instructions received via API or bulk file upload.

Key strengths:

  • BPMN workflow engine enables complex payment orchestration
  • Pre-built Mojaloop connector reduces integration effort
  • Multi-tenant architecture supports shared service models
  • Active development with regular releases
  • DPG certified with humanitarian use case focus

Key limitations:

  • Requires Zeebe/Camunda expertise for workflow customisation
  • Account management connector development needed for non-Mifos systems
  • Limited pre-built connectors for humanitarian ecosystem systems
  • Documentation depth varies across components
  • Kubernetes deployment adds operational complexity

Deployment and operations

Self-hosted requirements:

Operating system: Linux (container-based)
Orchestration: Kubernetes (preferred) or Docker Compose
Database: MySQL 8+
Workflow engine: Zeebe (included)
Minimum resources: 8 CPU, 16GB RAM, 50GB storage
Recommended production: 16 CPU, 32GB RAM, 100GB storage

Deployment complexity: Medium-High. Helm charts available for Kubernetes deployment. Lab environment provided for evaluation.

Operational overhead: Medium. Zeebe cluster requires monitoring; payment workflows require operational oversight.

Upgrade path: Semantic versioning with release notes documenting breaking changes.

Integration capabilities

IntegrationTypeStatus
MojaloopNative connectorProduction
Mifos X/FineractNative connectorProduction
Mobile money (reference)Connector templateReference
Channel (mobile app)APIDocumented
Bulk file processingAPIProduction

API details:

  • REST APIs for transaction initiation, status, and administration
  • Callback webhooks for async notifications
  • Bulk upload API for batch processing

Cost analysis

Deployment modelInfrastructure cost (small)Infrastructure cost (medium)
Self-hosted cloud$200-400/month$600-1,200/month
Mifos lab environmentFree (evaluation)N/A

Cost factors:

  • No licensing cost (MPL-2.0)
  • Zeebe cluster sizing affects infrastructure cost
  • Connector development for non-standard integrations
  • Mifos Initiative provides community support; commercial support via partners

OpenFn

Type
Open source
Licence
LGPL-3.0
Current version
Lightning v2.14.8
Deployment options
SaaS (openfn.org), self-hosted (Docker/Kubernetes)
Source repository
https://github.com/OpenFn/lightning
Documentation
https://docs.openfn.org

Overview

OpenFn provides a workflow automation platform for data integration and system interoperability. The platform enables organisations to connect applications, automate data flows, and orchestrate multi-step processes without building custom integration code. Lightning (v2), released in 2024, introduced a visual workflow builder lowering the technical barrier to integration development.

The architecture separates workflow definition from execution. Users design workflows through the web interface, specifying triggers, transformations, and destination systems. The runtime engine executes workflows using adaptors (pre-built connectors) that handle authentication and API interaction with target systems. Over 70 adaptors cover common humanitarian and development sector systems.

OpenFn specifically targets non-profit and government organisations, with deployments across 40+ countries. The platform achieved DPG certification and maintains active community engagement through forums, documentation, and regular releases.

Capability assessment for CVA

OpenFn functions as integration infrastructure connecting CVA ecosystem components. When organisations operate separate systems for registration (KoboToolbox), case management (Primero), beneficiary tracking (DHIS2), and payments, OpenFn synchronises data between them. This reduces manual data entry, ensures consistency, and enables automated workflows.

Typical CVA integration patterns include:

  • Registration data from mobile collection tools to beneficiary management systems
  • Eligibility updates triggering payment list generation
  • Payment status from FSPs updating programme monitoring systems
  • Aggregated programme data to donor reporting platforms

OpenFn does not provide CVA business logic (eligibility, entitlements, payment processing). It moves and transforms data between systems that implement this logic. The platform adds value in fragmented technology landscapes where multiple point solutions must interoperate.

Key strengths:

  • 70+ pre-built adaptors covering humanitarian sector systems (DHIS2, Primero, CommCare, ODK)
  • Visual workflow builder reduces technical barrier
  • Both SaaS and self-hosted deployment options
  • Strong error handling with retry logic and alerting
  • Active development with frequent releases

Key limitations:

  • Not a CVA platform; provides integration infrastructure only
  • Limited direct payment provider adaptors
  • Custom adaptor development requires JavaScript expertise
  • SaaS pricing based on workflow execution volume
  • Complex multi-system integrations require technical design

Deployment and operations

Self-hosted requirements:

Operating system: Linux (Debian/Ubuntu)
Runtime: Elixir, PostgreSQL
Container: Docker (optional)
Minimum resources: 2 CPU, 4GB RAM, 20GB storage
Recommended production: 4 CPU, 8GB RAM, 50GB storage

Deployment complexity: Low-Medium. Docker deployment straightforward; production configuration requires attention to worker scaling and credential management.

Operational overhead: Low. Managed SaaS option eliminates operational burden; self-hosted requires standard application operations.

Upgrade path: Semantic versioning with documented changelog. Migration from v1 to Lightning (v2) supported.

Integration capabilities

AdaptorStatusCVA relevance
DHIS2ProductionProgramme monitoring
PrimeroProductionProtection case management
CommCareProductionMobile data collection
ODKProductionMobile data collection
KoboProductionMobile data collection
SalesforceProductionCRM/donor management
FHIRProductionHealth system integration
HTTP (generic)ProductionAny REST API

Workflow capabilities:

  • Trigger types: webhook, cron schedule, flow trigger
  • Data transformation: JavaScript-based with state management
  • Error handling: configurable retry, alerting, manual retry from UI
  • Audit: comprehensive run history with input/output visibility

Cost analysis

Deployment modelCost
SaaS Free tier$0/month (limited runs)
SaaS Starter$50/month
SaaS ProfessionalCustom pricing
Self-hostedInfrastructure only

Cost factors:

  • SaaS pricing scales with execution volume
  • Self-hosted eliminates per-run costs
  • Adaptor development for uncovered systems
  • Implementation services available from OpenFn and partners

Selection guidance

Decision framework

+------------------+
| What CVA stack |
| component needed?|
+--------+---------+
|
+-----------------------------+-----------------------------+
| | |
v v v
+--------+--------+ +--------+--------+ +--------+--------+
| Beneficiary | | Payment | | System |
| management | | infrastructure | | integration |
+-----------------+ +-----------------+ +-----------------+
| | |
v v v
OpenSPP +---------+---------+ OpenFn
| |
v v
+--------+-------+ +-------+--------+
| Payment switch | | Orchestration |
| (national) | | (DFSP/org) |
+----------------+ +----------------+
| |
v v
Mojaloop Mifos Payment Hub EE

Recommendations by context

Organisations needing beneficiary management

Primary recommendation: OpenSPP

OpenSPP provides the only assessed solution with native beneficiary registration, eligibility determination, and entitlement calculation. Organisations without existing beneficiary management systems should evaluate OpenSPP as the foundation of their CVA technology stack.

Requirements:

  • Odoo/Python development capacity for customisation
  • Integration development to connect to payment infrastructure
  • Infrastructure for self-hosted deployment or partner for managed hosting

Alternative: If beneficiary management exists in another system (e.g., Primero for protection cases), use OpenFn to integrate with payment systems rather than replacing the existing solution.

Organisations connecting to Mojaloop-based payment systems

Primary recommendation: Mifos Payment Hub EE

When the target payment infrastructure uses Mojaloop (national instant payment system, regional switch), Payment Hub EE provides the pre-built connector and orchestration layer to initiate and track payments.

Requirements:

  • Kubernetes deployment capability
  • Upstream system (OpenSPP or other) for beneficiary management
  • BPMN/Zeebe expertise for workflow customisation

Alternative: Direct integration with Mojaloop APIs if payment patterns are simple and organisation has development capacity.

Organisations integrating multiple CVA systems

Primary recommendation: OpenFn

When CVA operations span multiple systems (mobile data collection, case management, payment tracking, M&E) that require data synchronisation, OpenFn provides integration infrastructure without replacing existing solutions.

Requirements:

  • Clear data flow requirements between systems
  • JavaScript capacity for custom adaptor development if needed
  • Either SaaS subscription or self-hosted infrastructure

Alternative: Point-to-point integrations using native APIs if connecting only two systems with stable requirements.

National governments or payment scheme operators

Primary recommendation: Mojaloop

Governments establishing national instant payment infrastructure should evaluate Mojaloop as the payment switch enabling interoperability between DFSPs. This benefits CVA programmes by providing single-connection access to all participating FSPs.

Requirements:

  • National-scale infrastructure and operations capacity
  • Regulatory framework for payment scheme operation
  • Multi-stakeholder governance for scheme rules

Note: Individual humanitarian organisations do not deploy Mojaloop; they benefit from connecting to existing Mojaloop-based switches through participating FSPs.

Combined stack patterns

Pattern A: Complete open source CVA stack

+------------------+ +----------------------+ +------------------+
| | | | | |
| OpenSPP +---->+ Mifos Payment Hub EE +---->+ Mojaloop |
| | | | | Switch |
| - Registration | | - Orchestration | | |
| - Eligibility | | - Retry logic | | - Clearing |
| - Entitlements | | - Reconciliation | | - Settlement |
| - Cycle mgmt | | | | |
+------------------+ +----------------------+ +--------+---------+
|
+----------+----------+
| |
+----v----+ +-----v----+
| Bank | | Mobile |
| DFSP | | Money |
+---------+ +----------+

This pattern provides end-to-end open source infrastructure from beneficiary registration through payment settlement. Suitable for organisations with capacity to deploy and maintain all components, or governments building national social protection systems.

Pattern B: OpenSPP with direct FSP integration

+------------------+ +------------------+
| | | |
| OpenSPP +---->+ FSP APIs |
| | | |
| - Registration | | - Mobile Money |
| - Eligibility | | - Bank Transfer |
| - Entitlements | | - Agent Network |
| - Cycle mgmt | | |
+------------------+ +------------------+

Simpler pattern when connecting to FSPs directly (without interoperability switch). Requires payment manager connector development in OpenSPP for each FSP. Suitable when working with limited FSP partners in a single country.

Pattern C: Existing systems with OpenFn integration

+-------------+ +------------------+ +------------------+
| | | | | |
| KoboToolbox +---->+ +---->+ Beneficiary DB |
| | | | | |
+-------------+ | | +------------------+
| OpenFn |
+-------------+ | | +------------------+
| | | | | |
| Primero +---->+ +---->+ DHIS2 Tracker |
| | | | | |
+-------------+ +--------+---------+ +------------------+
|
v
+--------+--------+
| |
| Payment FSP |
| |
+-----------------+

Integration-first pattern when organisations already use established tools and need data synchronisation rather than replacement. OpenFn coordinates data flows; each system retains its function.


Resources and references

Official documentation

ToolDocumentationAPI referenceSource code
OpenSPPhttps://docs.openspp.orghttps://docs.openspp.org/developer_guidehttps://github.com/OpenSPP
Mojaloophttps://docs.mojaloop.iohttps://docs.mojaloop.io/apihttps://github.com/mojaloop
Mifos Payment Hub EEhttps://mifos.gitbook.io/docs/payment-hub-eehttps://docs.mifos.orghttps://github.com/openMF
OpenFnhttps://docs.openfn.orghttps://docs.openfn.org/adaptorshttps://github.com/OpenFn

Relevant standards

StandardDescriptionURL
Level One ProjectInclusive digital payment system design principleshttps://leveloneproject.org
FSPIOPFinancial Service Provider Interoperability API specificationhttps://docs.mojaloop.io/api
CALP GlossaryCVA terminology and definitionshttps://www.calpnetwork.org
Digital Public Goods StandardCriteria for DPG certificationhttps://digitalpublicgoods.net
ResourcePublisherDescription
State of the World’s Cash 2023CALP NetworkCVA sector analysis and trends
Investigating Safe Data SharingCALP NetworkInteroperability guidance for CVA
DCF Interoperability PrinciplesDonor Cash ForumData sharing principles for cash programming

See also