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
| Status | Updated | Covered Files |
|---|
| 🟡 In Development | 2026-02-22 | src/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
| Component | Description |
|---|
Reports | Main reports dashboard — list, filter, generate |
ReportTemplates | Template management — create, edit, preview |
ScheduledReports | Scheduled report configuration and history |
Exports | Bulk data export interface |
ExportsDownloads | Download history for generated exports |
FunderReportingTemplates | Funder-specific template library |
Report Workflow
Scheduling
Reports can be scheduled for automatic generation and delivery:
| Field | Description |
|---|
| Frequency | Daily, weekly, monthly, quarterly |
| Delivery | Email attachment, in-app download, cloud storage |
| Recipients | User list or role-based distribution |
| Time zone | Organization-configured time zone |
Funder Reporting Templates
Pre-built templates aligned with common funder requirements:
| Template | Funder Type |
|---|
| SF-425 (Federal Financial Report) | US Federal agencies |
| Progress Report | General funders |
| Budget Narrative | Foundation grants |
| Closeout Package | All funders |
| Custom Narrative | Configurable per funder |
| Format | Library | Use Case |
|---|
| PDF | @react-pdf/renderer, jspdf | Formal reports, funder submissions |
| Excel | exceljs | Financial data, budget breakdowns |
| Word | docx | Editable narrative reports |
Key Files Reference
| File | Purpose |
|---|
src/features/reports/index.ts | Barrel export (types only — components in migration) |
src/features/reports/components/Reports.tsx | Main reports dashboard |
src/features/reports/components/ReportTemplates.tsx | Template management |
src/features/reports/components/ScheduledReports.tsx | Schedule configuration |
src/features/reports/components/Exports.tsx | Bulk export interface |
src/features/reports/components/FunderReportingTemplates.tsx | Funder template library |
src/features/reports/contracts.ts | ReportType, ReportConfig, ReportTemplate types |