All projects
Investment & Fintech
12 months2024 — 2025

Performance & Fee Reporting Engine

Investment Analytics & Fund Performance

A calculation and reporting engine that turns raw NAV and cash movements into auditable performance and fee statements.

PDF statements

Output

Idempotent runs

Engine

NAV + cash

Data

Period locking

Control

Overview

A specialised analytics platform that ingests NAV and cash transaction statements, computes performance and accrued fees across complex hierarchies, and generates period-locked reports and invoices for finance and investor teams.

The business problem

Performance and fee numbers were calculated manually across spreadsheets, which made period closures slow, hard to audit, and risky whenever fee structures or rollover rules changed.

The solution

I built a Flask service with a layered handler structure that drives deterministic calculations over a versioned PostgreSQL model, then renders PDF statements through a templated reporting pipeline with full reconciliation support.

My responsibilities

  • Implemented the performance and fee-accrual calculation engine
  • Designed the multi-level scheme / bill-group / register hierarchy
  • Built period closure, rollover and reconciliation workflows
  • Automated PDF statement and invoice generation

Challenges solved

  • Keeping historical performance immutable after period closure
  • Supporting multiple fee structures without branching the codebase
  • Reconciling external statements against internal register state

Key features

NAV and cash transaction statement processing
Performance report generation with historical tracking
Invoice accrual and fee computation
Rollover and period-closure management
Financial reconciliation views

Architecture highlights

  • Layered handler/service structure isolating calculation logic
  • Flask-Migrate / Alembic for evolving financial schemas safely
  • pandas + openpyxl ingestion for NAV and cash statements
  • WeasyPrint templating for pixel-consistent PDF statements
  • JWT-secured REST API consumed by an Angular front end

Technologies used

PythonFlaskSQLAlchemyPostgreSQLpandasopenpyxlWeasyPrintAngularAngular MaterialDocker

Scalability

Calculation runs are batched and idempotent, so reporting can be re-run safely and scaled across periods without corrupting closed data.

Performance

  • Vectorised calculations with pandas for bulk periods
  • Pre-aggregated register snapshots for fast reporting
  • Streamed PDF generation to control memory use

Security

  • JWT authentication and role-scoped reporting
  • Immutable, period-locked financial records
  • Audit trail across every calculation run
  • Validated ingestion of external statements

Screenshots

Product screenshots available on request (NDA-protected).

Architecture diagram

Detailed system architecture available on request.