Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Submit feedback
    • Contribute to GitLab
  • Sign in
F
finwise-miniapp-be
  • Project
    • Project
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • ThinhNC
  • finwise-miniapp-be
  • Merge Requests
  • !16

Merged
Opened Aug 03, 2026 by ThinhNC@ThinhNC
  • Report abuse
Report abuse

feat(reports): add financial reports and analytics

Summary

Adds authenticated Financial Reports & Analytics capabilities, providing consolidated insights from wallets, transactions, budgets, and saving goals.

Changes

  • Added financial overview reporting with:
    • Income, expenses, and net cash flow
    • Current wallet balances
    • Savings rate and expense-to-income ratio
    • Budget and saving-goal summaries
  • Added cash-flow time series with hourly, daily, weekly, monthly, and yearly granularity.
  • Added spending breakdown by category.
  • Added budget performance and utilization reporting.
  • Added preset and custom reporting periods with timezone support.
  • Added optional wallet and currency filters.
  • Ensured monetary values are aggregated separately by currency.
  • Added currency to budgets and restricted budget usage calculations to transactions using the same currency.
  • Updated Swagger documentation and project agent documentation.

New Endpoints

  • GET /api/v1/reports/overview
  • GET /api/v1/reports/cash-flow
  • GET /api/v1/reports/spending-by-category
  • GET /api/v1/reports/budget-performance

Database Changes

Added the migration:

20260803120000_add_budget_currency

The migration:

  • Adds Budget.currency with VND as the default for existing records.
  • Adds an index for budget reports filtered by user, currency, and date range.
  • Has not been applied to the database yet.

Validation

  • pnpm exec prisma validate
  • pnpm run prisma:generate
  • pnpm build
  • Report validation and date-bucket smoke checks
  • Multi-currency aggregation smoke checks
  • Swagger JSON and component-reference checks
  • git diff --check

The repository currently has no automated test suite or active ESLint configuration.

Check out, review, and merge locally

Step 1. Fetch and check out the branch for this merge request

git fetch origin
git checkout -b feat/financial-reports-analytics origin/feat/financial-reports-analytics

Step 2. Review the changes locally

Step 3. Merge the branch and fix any conflicts that come up

git fetch origin
git checkout origin/develop
git merge --no-ff feat/financial-reports-analytics

Step 4. Push the result of the merge to GitLab

git push origin develop

Note that pushing to GitLab requires write access to this repository.

Tip: You can also checkout merge requests locally by following these guidelines.

  • Discussion 0
  • Commits 1
  • Changes 16
Assignee
No assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
0
Labels
None
Assign labels
  • View project labels
Reference: ThinhNC/finwise-miniapp-be!16

Revert this merge request

This will create a new commit in order to revert the existing changes.

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.

Cherry-pick this merge request

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.