Project Mapping

This document details the mapping between WeGive fund objects and Virtuous project records, including fund categories, goal tracking, and designation management.

Overview

Virtuous uses the Project object to represent funding categories, campaigns, and designations that donors can support. WeGive maps these to the Fund object to maintain consistent designation structures across both platforms.

Core Project Mapping

Primary Fields

WeGive FieldVirtuous FieldTypeRequiredTransformation
idCorrelation IDStringNoStored in WeGive virtuous_id
nameNameStringYesDirect mapping
descriptionDescriptionStringNoDirect mapping
is_activeIsActiveBooleanNoDirect mapping
goal_amountGoalDecimalNoCents to dollars conversion

Extended Fields

WeGive FieldVirtuous FieldTransformationNotes
fund_typeProjectTypeFund category mappingGeneral, Restricted, etc.
created_atDateCreatedISO 8601 formatRead-only in Virtuous
updated_atDateModifiedISO 8601 formatUpdated on sync
sort_orderSortOrderNumeric orderingDisplay order

Project Structure Mapping

Basic Project Object

WeGive Fund to Virtuous Project:

  • Fund Information: Name, description, and current status
  • Financial Goals: Target amounts and progress tracking
  • Category Classification: Type of project (fund, campaign, etc.)
  • Management Settings: Display order and administrative options

Project Categories

WeGive Fund TypeVirtuous Project TypeDescription
generalGeneralUnrestricted general operating funds
restrictedRestrictedDonor-restricted purpose funds
endowmentEndowmentPermanent endowment funds
capitalCapitalCapital campaign funds
programProgramSpecific program funds
scholarshipScholarshipScholarship and award funds
memorialMemorialMemorial and tribute funds
emergencyEmergencyEmergency response funds
eventEventEvent-specific fundraising
otherOtherMiscellaneous fund types

Data Transformation

Project Creation Processing

WeGive to Virtuous Project:

  • Map fund name and description directly
  • Convert goal amounts from cents to dollars
  • Set project status based on fund active status
  • Apply appropriate project category classification
  • Establish display order and sorting

Virtuous to WeGive Fund:

  • Import project name and description
  • Convert goal amounts from dollars to cents
  • Map project status to fund active status
  • Determine fund type from project category
  • Preserve project hierarchy and organization

Category Mapping

Project Type Translation:

  • Map WeGive fund types to Virtuous project categories
  • Handle custom fund types with appropriate mapping
  • Maintain category consistency across platforms
  • Support organization-specific category needs

Amount Conversion

Goal Amount Processing:

  • Convert cents to dollars for Virtuous projects
  • Convert dollars to cents for WeGive funds
  • Maintain decimal precision for financial accuracy
  • Handle null/empty goal amounts appropriately

Sync Operations

Push Operation (WeGive → Virtuous)

Create New Project:

  • Validate fund name and required fields
  • Map fund type to appropriate project category
  • Convert goal amount to Virtuous format
  • Set project status based on fund activity
  • Create project with complete information
  • Store correlation ID for future updates

Update Existing Project:

  • Use correlation ID for project identification
  • Update changed fields (name, description, goal)
  • Maintain project type consistency
  • Handle status changes appropriately
  • Preserve Virtuous-specific project data

Pull Operation (Virtuous → WeGive)

Import Virtuous Project:

  • Map project fields to WeGive fund structure
  • Convert amounts to WeGive cent format
  • Determine appropriate fund type from project category
  • Create or update WeGive fund record
  • Store correlation ID for bidirectional sync

Project Hierarchy and Organization

Fund Grouping

Department/Program Projects:

  • Support hierarchical fund structures
  • Maintain parent-child relationships
  • Coordinate sub-fund organization
  • Support complex fund hierarchies

Project Organization:

  • Display order management for project lists
  • Category-based project grouping
  • Search and filter capabilities
  • Administrative organization tools

Project Naming Conventions

Hierarchical Project Names:

  • Support parent-child naming structures
  • Maintain naming consistency across platforms
  • Handle name conflicts and duplicates
  • Support organization naming standards

Project Analytics and Reporting

Goal Tracking

Progress Calculation:

  • Track total raised against project goals
  • Calculate percentage completion
  • Monitor fundraising velocity
  • Support multi-year goal tracking

Performance Metrics:

  • Gift count and average gift size
  • Donor participation rates
  • Time-based performance analysis
  • Comparative project analysis

Fund Performance Metrics

Sync Fund Statistics:

  • Total donations received
  • Number of unique donors
  • Average gift amount
  • Recent gift activity
  • Fundraising trend analysis

Validation and Error Handling

Project Validation

Required Field Validation:

  • Project name is required and unique
  • Project category must be valid
  • Goal amounts must be positive when specified
  • Project status must be valid enumeration

Business Rule Validation:

  • Project names follow organization standards
  • Category selection appropriate for fund type
  • Goal amounts reasonable for project scope
  • Project hierarchy rules maintained

Duplicate Project Detection

Name-Based Matching:

  • Check for duplicate project names within organization
  • Handle naming conflicts appropriately
  • Support similar project name detection
  • Maintain project uniqueness standards

Error Recovery

Handle Project Conflicts:

  • Resolve duplicate name conflicts
  • Handle category mapping errors
  • Manage goal amount validation failures
  • Support manual project review and correction

Default Project Management

Default Project Configuration

Ensure Default Project Exists:

  • Verify default project ID is valid and active
  • Create default general fund if none exists
  • Handle default project deactivation scenarios
  • Maintain default project configuration

Default Project Usage

Gift Project Assignment:

  • Use default project for gifts without specific designation
  • Handle project assignment failures gracefully
  • Support organization-specific default rules
  • Maintain gift-to-project relationships

Project Lifecycle Management

Project Activation and Deactivation

Project Status Management:

  • Activate new projects for gift designation
  • Deactivate completed or obsolete projects
  • Handle historical gift references to inactive projects
  • Maintain project history for reporting

Project Archival:

  • Archive completed projects while preserving data
  • Maintain historical gift relationships
  • Support project reactivation when needed
  • Handle project closure procedures

Project Goal Management

Goal Setting and Updates:

  • Support goal establishment and modification
  • Track goal achievement and completion
  • Handle goal extension and revision
  • Support multi-phase project goals

Performance Optimization

Bulk Project Operations

Batch Project Sync:

  • Process multiple projects efficiently
  • Optimize API usage for large project lists
  • Handle batch-level error reporting
  • Support mass project updates

Project Caching

Cache Project Mappings:

  • Cache frequently accessed project data
  • Optimize project lookup performance
  • Support real-time project validation
  • Minimize API calls for project information

Integration with Gift Processing

Project-Gift Relationships

Gift Designation:

  • Ensure gifts properly designated to projects
  • Validate project existence for gift creation
  • Handle project changes affecting existing gifts
  • Support gift reallocation between projects

Project Financial Tracking:

  • Coordinate gift amounts with project totals
  • Track project progress in real-time
  • Support project-based financial reporting
  • Maintain accurate project balances

Special Project Types

Campaign Projects

Campaign Integration:

  • Link projects to fundraising campaigns
  • Support campaign-specific project goals
  • Coordinate campaign and project messaging
  • Track campaign performance by project

Event Projects

Event Fundraising Projects:

  • Support event-specific fundraising projects
  • Coordinate event registration with project designation
  • Track event-based gift allocation
  • Support multi-event project relationships

Recurring Gift Projects

Recurring Gift Project Assignment:

  • Default project assignment for recurring gifts
  • Handle project changes for active recurring gifts
  • Support project-specific recurring gift campaigns
  • Maintain project consistency for recurring donations

Custom Project Configuration

Organization-Specific Projects

Custom Project Rules:

  • Support organization-specific project categories
  • Handle custom project field requirements
  • Maintain organization project standards
  • Support complex project approval workflows

Project Integration Rules

Advanced Project Mapping:

  • Support custom field mapping between systems
  • Handle organization-specific project workflows
  • Maintain project data quality standards
  • Support advanced project reporting requirements

This comprehensive project mapping ensures accurate fund and designation synchronization between WeGive and Virtuous while maintaining project hierarchy, goal tracking, and proper gift designation management.