Skip to content

[FEATURE] implement employee charitable giving, corporate matching, and payroll deduction campaign engine #2011

Description

@Aakif-Kohari

Employee Charitable Giving, Corporate Matching & Payroll Deduction Campaign Engine

Employers run annual charitable giving campaigns (e.g., United Way) where employees pledge recurring payroll deductions. The company often matches these donations up to an annual cap per employee. Tracking pledge lifecycles, enforcing deduction limits, and generating corporate matching disbursement files requires dedicated infrastructure separate from standard benefits deductions.

We need a Charitable Giving Engine that manages campaign configurations, tracks employee pledge schedules, enforces deduction limits, and calculates corporate matching liabilities.

Requirements

  • Create GivingCampaign, EmployeePledge, and CorporateMatchLedger schemas to track campaign windows, recurring deduction schedules, and YTD corporate match accumulators.
  • Implement a givingMatchingEngine.utils.js that evaluates payroll deductions against pledge schedules, tracks YTD employee contributions, and calculates the corporate match up to the campaign cap.
  • Implement a "Campaign Cap Guardrail" that automatically halts payroll deductions and corporate matching once the employee's pledge total or the corporate matching limit is reached.
  • Build a CharitableGivingDashboard.jsx for CSR/HR Admins to launch campaigns, monitor participation rates, and export corporate matching disbursement files for the finance team.

Files in Scope (~5 Files)

  • backend/src/models/charitableGiving.model.js (New)
  • backend/src/utils/givingMatchingEngine.utils.js (New)
  • backend/src/controllers/charitableGiving.controller.js (New)
  • backend/src/routes/charitableGiving.routes.js (New)
  • frontend/src/pages/CharitableGivingDashboard.jsx (New)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions