Overview
The Report Export Builder is a frontend UI feature that allows you to generate multiple financial reports at once with consistent date ranges, making it easy to create comprehensive report packages for board meetings, audits, or stakeholder reviews.Permission required:
reports:readThis is a UI convenience feature that calls individual report API endpoints and combines the results for export. All underlying reports require reports:read permission.How It Works
The Report Export Builder:- Accepts selections from the user (which reports, date range, format)
- Calls individual report APIs in parallel:
GET /reports/balance-sheet?asOfDate={date}GET /reports/profit-loss?startDate={date}&endDate={date}GET /reports/shares-report?asOfDate={date}GET /reports/loans-outstanding?expectedDate={date}
- Combines results into requested format (PDF or CSV)
- Downloads to user’s browser
Available Reports
You can export any combination of these reports:| Report | API Endpoint | Date Parameter |
|---|---|---|
| Balance Sheet | /reports/balance-sheet | asOfDate (snapshot date) |
| Profit & Loss | /reports/profit-loss | startDate and endDate (period) |
| Shares Report | /reports/shares-report | asOfDate (snapshot date) |
| Loans Outstanding | /reports/loans-outstanding | expectedDate (arrears calculation date) |
Date Range Configuration
How date ranges map to individual report parameters:| Report | Start Date | End Date |
|---|---|---|
| Balance Sheet | Ignored | Used as asOfDate |
| Profit & Loss | Used as startDate | Used as endDate |
| Shares Report | Ignored | Used as asOfDate |
| Loans Outstanding | Ignored | Used as expectedDate |
- Select range: June 1 - June 30, 2026
- Balance Sheet API call:
GET /reports/balance-sheet?asOfDate=2026-06-30 - Profit & Loss API call:
GET /reports/profit-loss?startDate=2026-06-01&endDate=2026-06-30 - Shares Report API call:
GET /reports/shares-report?asOfDate=2026-06-30 - Loans Outstanding API call:
GET /reports/loans-outstanding?expectedDate=2026-06-30
Common Export Scenarios
Monthly Board Meeting Package
Reports to include:- ✅ Balance Sheet (financial position as of month-end)
- ✅ Profit & Loss (monthly performance)
- ✅ Loans Outstanding (portfolio health)
Quarterly Member Meeting
Reports to include:- ✅ Balance Sheet (assets and equity position)
- ✅ Profit & Loss (quarterly profit/loss)
- ✅ Shares Report (member ownership distribution)
Annual Audit Package
Reports to include:- ✅ Balance Sheet
- ✅ Profit & Loss
- ✅ Shares Report
- ✅ Loans Outstanding
Loan Committee Review
Reports to include:- ✅ Loans Outstanding (current portfolio status)
Export Format Options
PDF Export
Implementation: Frontend generates PDF from API response data Advantages:- Professional formatted reports
- Includes organization branding
- Easy to print and distribute
- Suitable for presentations
- Merged PDF: All reports in single file (recommended for meetings)
- Separate PDFs: Each report in individual file (for selective distribution)
- Merged:
agatabo-[organization]-reports-[date].pdf - Separate:
agatabo-[organization]-[report-name]-[date].pdf
CSV Export
Implementation: Frontend converts API response to CSV format Advantages:- Import into Excel for custom analysis
- Create pivot tables
- Generate custom charts
- Combine with other data sources
agatabo-[organization]-[report-name]-[date].csv
Using the Export Builder
Typical workflow:- Navigate to Reports section in UI
- Select reports to include (check boxes)
- Choose date range:
- Current period
- Last month
- This quarter
- This year
- Custom (specify exact dates)
- Select format: PDF or CSV
- Configure PDF options (if PDF selected):
- Merged (single file)
- Separate (individual files)
- Click Generate/Download
- Wait for API calls to complete
- Download generated file(s)
- Files download to default download folder
- Multiple files (separate PDFs/CSVs) download sequentially
- Large reports may take several seconds to generate
API Implementation
If building a custom export feature, call the report endpoints directly:Date Range Presets
Common preset mappings:| Preset | Start Date | End Date |
|---|---|---|
| Current period | Last period close date | Today |
| Last month | First day of previous month | Last day of previous month |
| This quarter | First day of current quarter | Today |
| This year | January 1 of current year | Today |
| Custom | User-specified | User-specified |
- Last month: June 1, 2026 → June 30, 2026
- This quarter: April 1, 2026 → June 12, 2026
- This year: January 1, 2026 → June 12, 2026
Best Practices
Using the export builder effectively:Report selection:
- ✅ Include Balance Sheet + Profit & Loss for complete financial picture
- ✅ Add Shares Report for member-facing communications
- ✅ Include Loans Outstanding for portfolio management
- ✅ Avoid exporting unnecessary reports (wastes time)
- ✅ Use consistent periods for comparative analysis
- ✅ Choose “Last month” after month-end closing
- ✅ Use “This year” for year-to-date analysis
- ✅ Verify date range before generating (double-check start/end)
- ✅ Use PDF for presentations and official distribution
- ✅ Use CSV for custom analysis in Excel
- ✅ Export both formats for audit packages (PDF for review, CSV for analysis)
- ✅ Use merged PDF for single-recipient distribution (easier)
- ✅ Save exports to organized folders (e.g.,
Financial Reports/2026/Q2/) - ✅ Keep exported filenames (auto-generated names include key metadata)
- ✅ Archive exports for historical reference
- ✅ Don’t modify exported files (regenerate if data changes)
- ✅ Expect 3-10 seconds for multi-report exports
- ✅ Be patient - API calls run in parallel but still take time
- ✅ Don’t click generate multiple times (creates duplicate requests)
Troubleshooting
Q: Export takes a long time A: Multiple API calls are being made. Time depends on:- Number of reports selected (1-4)
- Amount of data in each report
- Server load
- Network speed
- Do you have
reports:readpermission? - Is organization selected (if multi-org access)?
- Is date range valid (start < end)?
- Are there transactions in selected period?
- Check browser console for API error messages
- Browser compatibility (modern browsers recommended)
- PDF viewer (Adobe Reader, Chrome PDF viewer)
- CSV import settings in Excel (delimiter, encoding)
- Run export builder multiple times with different dates
- Call individual report APIs directly with custom parameters
- Navigate to each report page and export individually
- Windows:
C:\Users\[YourName]\Downloads\ - Mac:
~/Downloads/ - Linux:
~/Downloads/
- Build custom script calling report APIs
- Use cron job or scheduled task
- Generate and email reports automatically
Alternative: Individual Report Exports
If you need different date ranges for each report: Option 1: Call APIs directly- Reports → Balance Sheet
- Select custom date
- Export that report
- Repeat for other reports
Permissions
Required permission:reports:read (organization-level scope)
Users who can use export builder:
- Administrators (full access)
- Accountants (full access)
- Treasurers (full access)
- Board Members (if granted
reports:read)
- Regular members (unless specifically granted permission)
- Users with
ledger:readonly (different permission)
Related Topics
Balance Sheet
Financial position report
Profit & Loss
Income statement
Shares Report
Member ownership distribution
Loans Outstanding
Portfolio summary