Skip to main content

Documentation Index

Fetch the complete documentation index at: https://grantmaster.dev/llms.txt

Use this file to discover all available pages before exploring further.

Engineering reference: For service contracts, EventBus events, and data-layer details see src/features/reports/reports.md.

last_updated: 2026-02-22

Report Generation & Scheduling

StatusUpdatedCovered Files
🟡 In Development2026-02-22src/features/reports/, src/features/reports/contracts.ts

Overview

The Report Generation system provides templated report creation, scheduled generation, and multi-format export (PDF, Excel, Word). It supports funder-specific reporting templates and automated delivery workflows. The feature is currently undergoing migration to the feature-based module architecture.

Report Types

type ReportType =
  | 'progress'          // Project progress reports
  | 'financial'         // Budget and expenditure reports
  | 'compliance'        // Compliance status reports
  | 'narrative'         // Funder narrative reports
  | 'journal'         // Journal/journal summaries
  | 'impact'            // M&E indicator reports
  | 'closeout'          // Grant closeout reports
  | 'custom';           // User-defined templates

Core Data Model

ReportConfig

interface ReportConfig {
  id: string;
  organizationId: string;
  name: string;
  type: ReportType;
  description?: string;
  templateId?: string;          // Link to ReportTemplate
  filters: {
    projectIds?: string[];
    grantIds?: string[];
    dateRange: { start: string; end: string };
  };
  outputFormat: 'pdf' | 'xlsx' | 'docx';
  schedule?: ReportSchedule;
}

ReportTemplate

interface ReportTemplate {
  id: string;
  organizationId: string;
  name: string;
  type: ReportType;
  description?: string;
  sections: TemplateSection[];
  funderRequirements?: FunderRequirement[];
  createdBy: string;
  createdAt: string;
  updatedAt: string;
}

GeneratedReport

interface GeneratedReport {
  id: string;
  configId: string;
  organizationId: string;
  generatedAt: string;
  generatedBy: string;
  fileUrl: string;
  fileSize: number;
  format: 'pdf' | 'xlsx' | 'docx';
  status: 'generating' | 'ready' | 'failed';
}

Components

ComponentDescription
ReportsMain reports dashboard — list, filter, generate
ReportTemplatesTemplate management — create, edit, preview
ScheduledReportsScheduled report configuration and history
ExportsBulk data export interface
ExportsDownloadsDownload history for generated exports
FunderReportingTemplatesFunder-specific template library

Report Workflow


Scheduling

Reports can be scheduled for automatic generation and delivery:
FieldDescription
FrequencyDaily, weekly, monthly, quarterly
DeliveryEmail attachment, in-app download, cloud storage
RecipientsUser list or role-based distribution
Time zoneOrganization-configured time zone

Funder Reporting Templates

Pre-built templates aligned with common funder requirements:
TemplateFunder Type
SF-425 (Federal Financial Report)US Federal agencies
Progress ReportGeneral funders
Budget NarrativeFoundation grants
Closeout PackageAll funders
Custom NarrativeConfigurable per funder

Export Formats

FormatLibraryUse Case
PDF@react-pdf/renderer, jspdfFormal reports, funder submissions
ExcelexceljsFinancial data, budget breakdowns
WorddocxEditable narrative reports

Key Files Reference

FilePurpose
src/features/reports/index.tsBarrel export (types only — components in migration)
src/features/reports/components/Reports.tsxMain reports dashboard
src/features/reports/components/ReportTemplates.tsxTemplate management
src/features/reports/components/ScheduledReports.tsxSchedule configuration
src/features/reports/components/Exports.tsxBulk export interface
src/features/reports/components/FunderReportingTemplates.tsxFunder template library
src/features/reports/contracts.tsReportType, ReportConfig, ReportTemplate types