Skip to content

feat: enhance the find transaction report behavior - #520

Merged
kantorge merged 3 commits into
release/v4from
feat/find_transaction_improvements
Aug 6, 2026
Merged

feat: enhance the find transaction report behavior#520
kantorge merged 3 commits into
release/v4from
feat/find_transaction_improvements

Conversation

@kantorge

@kantorge kantorge commented Aug 6, 2026

Copy link
Copy Markdown
Owner

This release refines the Find Transactions report with new filtering capabilities and improved data visualization.

  • Expanded Filtering Options: Introduces new filters for transaction types and investments, allowing users to refine their search results with greater precision.
  • Contextual Filter Warnings: Provides helpful warnings when filter combinations are logically impossible (e.g., filtering for investment categories while no investment transaction types are selected), preventing empty results.
  • Interactive Category Waterfall Chart: Adds a new Category Waterfall chart to the Find Transactions report, offering a clear visual breakdown of aggregated values. The existing dashboard widget is also made interactive, allowing users to click on a column to drill down to the corresponding transactions in the report.
  • Item-Level Filtering for Breakdowns: Introduces an option to "Only count matching items in breakdowns." When active, aggregate views (like the Monthly Breakdown and Category Waterfall) only include transaction items that match the active category or tag filters, providing more granular insights.

Summary by CodeRabbit

  • New Features
    • Added transaction type and investment filters.
    • Added category waterfall reporting with interactive navigation to filtered transactions.
    • Added an option to show breakdowns using only matching transaction items.
    • Added category and tag filtering across reporting charts.
    • Investment searches now accept q and match names, symbols, and ISINs.
    • Added filter-conflict warnings and improved filter persistence through report links.
  • Enhancements
    • Added localized reporting and filtering text in English, French, Hungarian, and Polish.
    • Improved waterfall charts with clearer totals, colors, tooltips, and no-data states.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: e9d3c8f2-ffd5-43d8-a106-c22c7cd80d4f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The reporting flow now supports transaction-type and investment filters, matching-item aggregation, category waterfalls, shared waterfall rendering, and filtered dashboard navigation. API responses include waterfall metadata, while localized labels and warnings cover the new controls.

Changes

Transaction filtering and waterfall reporting

Layer / File(s) Summary
API filter contracts and query behavior
app/Http/Controllers/API/*, app/Http/Requests/API/FindTransactionsRequest.php
The API validates and applies transaction-type, investment, and expanded category filters. Investment search accepts q as an alias for query. Waterfall responses include category and transaction-type metadata.
Report filter state and aggregation
resources/js/reports/components/find-transactions/*
The report adds transaction-type and investment filters, URL and cache synchronization, conflict warnings, matching-item filtering, and waterfall aggregation.
Filtered report widgets
resources/js/reports/components/widgets/*FindTransactions*, resources/js/reports/components/widgets/{DepositsByParentCategory,WithdrawalsByParentCategory}.vue
Report widgets receive category, tag, and matching-item filters and recalculate their aggregates when the filtering scope changes.
Shared waterfall chart implementation
resources/js/shared/lib/charts/waterfall.js, resources/js/shared/ui/charts/WaterfallChart.vue
Shared waterfall data transformation and chart rendering now support localization, currency formatting, result rows, empty states, color-mode changes, and column-click events.
Dashboard waterfall integration and localization
resources/js/dashboard/components/widgets/CategoryWaterfall.vue, lang/*.json
The dashboard uses the shared waterfall chart and navigates to filtered transaction results from column clicks. English, French, Hungarian, and Polish translations include the new labels and explanations.

Estimated code review effort: 4 (Complex) | ~60 minutes

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant FindTransactions
  participant TransactionApiController
  participant ReportWidgets
  participant WaterfallChart
  User->>FindTransactions: select types, investments, and item filters
  FindTransactions->>TransactionApiController: request filtered transactions
  TransactionApiController-->>FindTransactions: return matching transactions
  FindTransactions->>ReportWidgets: pass transactions and active filters
  ReportWidgets->>WaterfallChart: render aggregated waterfall data
  WaterfallChart-->>User: display chart and clickable columns
Loading

Possibly related PRs

  • kantorge/yaffa#482: Changes transaction-related API behavior in TransactionApiController.php.
  • kantorge/yaffa#492: Changes overlapping waterfall and transaction-report components.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately identifies the main change as enhancements to the Find Transactions report.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/find_transaction_improvements

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@kantorge

kantorge commented Aug 6, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

coderabbitai[bot]

This comment was marked as resolved.

@kantorge

kantorge commented Aug 6, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

coderabbitai[bot]

This comment was marked as resolved.

@kantorge
kantorge merged commit 24082c1 into release/v4 Aug 6, 2026
7 checks passed
@kantorge
kantorge deleted the feat/find_transaction_improvements branch August 6, 2026 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant