[Feature] Add Investment Account Support for Pluggy.ai Bank Sync #2206

Closed
opened 2026-02-28 20:06:32 -06:00 by GiteaMirror · 3 comments
Owner

Originally created by @gustavostz on GitHub (Jun 15, 2025).

Verified feature request does not already exist?

  • I have searched and found no existing issue

💻

  • Would you like to implement this feature?

Pitch: what problem are you trying to solve?

The current Pluggy.ai integration successfully syncs Brazilian bank accounts and credit card accounts (thank you @lelemm for this amazing contribution! 🎉). However, investment accounts were not included in the initial implementation. Brazilian users who have investment accounts at their banks would benefit from being able to track their complete financial picture, including their investment portfolios, within Actual Budget.

Basically, I would love to see the Pluggy.ai integration extended to include support for investment accounts.

Describe your ideal solution to this problem

Suggested Implementation Approach

Based on the existing code structure, here are some areas that might need enhancement (not entirely sure, but it seems to be the path):

1. Account Name Display (CreateAccountModal.tsx)

The current implementation differentiates between BANK and CREDIT accounts. We could extend this to include INVESTMENT accounts:

// Current approach (line 177)
name: `${oldAccount.name.trim()} - ${oldAccount.type === 'BANK' ? oldAccount.taxNumber : oldAccount.owner}`,

// Could be extended to:
name: `${oldAccount.name.trim()} - ${
  oldAccount.type === 'BANK' ? oldAccount.taxNumber : 
  oldAccount.type === 'INVESTMENT' ? `Investment - ${oldAccount.owner}` : 
  oldAccount.owner
}`,

2. Balance Calculation (CreateAccountModal.tsx)

Investment accounts might have different balance structures:

balance:
  oldAccount.type === 'BANK'
    ? oldAccount.bankData.automaticallyInvestedBalance + oldAccount.bankData.closingBalance
    : oldAccount.type === 'INVESTMENT'
    ? oldAccount.investmentData?.totalBalance || oldAccount.balance
    : oldAccount.balance,

3. Transaction Processing (app-pluggyai.js)

The transaction processing logic could be enhanced to handle investment-specific transaction types and ensure they are properly formatted for Actual Budget.

🙏 Additional Context

As mentioned by @BrunoPradoBR in the #4049 PR discussion, the Pluggy.ai API already provides investment account data in the payload.

Thank you for considering this feature request! The Pluggy.ai integration has already been incredibly valuable for the Brazilian Actual Budget community, and this enhancement would make it even better.

Teaching and learning

No response

Originally created by @gustavostz on GitHub (Jun 15, 2025). ### Verified feature request does not already exist? - [x] I have searched and found no existing issue ### 💻 - [ ] Would you like to implement this feature? ### Pitch: what problem are you trying to solve? The current Pluggy.ai integration successfully syncs Brazilian bank accounts and credit card accounts (thank you @lelemm for this amazing contribution! 🎉). However, investment accounts were not included in the initial implementation. Brazilian users who have investment accounts at their banks would benefit from being able to track their complete financial picture, including their investment portfolios, within Actual Budget. Basically, I would love to see the Pluggy.ai integration extended to include support for investment accounts. ### Describe your ideal solution to this problem ## Suggested Implementation Approach Based on the existing code structure, here are some areas that might need enhancement (not entirely sure, but it seems to be the path): ### 1. Account Name Display (`CreateAccountModal.tsx`) The current implementation differentiates between BANK and CREDIT accounts. We could extend this to include INVESTMENT accounts: ```typescript // Current approach (line 177) name: `${oldAccount.name.trim()} - ${oldAccount.type === 'BANK' ? oldAccount.taxNumber : oldAccount.owner}`, // Could be extended to: name: `${oldAccount.name.trim()} - ${ oldAccount.type === 'BANK' ? oldAccount.taxNumber : oldAccount.type === 'INVESTMENT' ? `Investment - ${oldAccount.owner}` : oldAccount.owner }`, ``` ### 2. Balance Calculation (`CreateAccountModal.tsx`) Investment accounts might have different balance structures: ```typescript balance: oldAccount.type === 'BANK' ? oldAccount.bankData.automaticallyInvestedBalance + oldAccount.bankData.closingBalance : oldAccount.type === 'INVESTMENT' ? oldAccount.investmentData?.totalBalance || oldAccount.balance : oldAccount.balance, ``` ### 3. Transaction Processing (`app-pluggyai.js`) The transaction processing logic could be enhanced to handle investment-specific transaction types and ensure they are properly formatted for Actual Budget. ## 🙏 Additional Context As mentioned by @BrunoPradoBR in the #4049 PR discussion, the Pluggy.ai API already provides investment account data in the payload. Thank you for considering this feature request! The Pluggy.ai integration has already been incredibly valuable for the Brazilian Actual Budget community, and this enhancement would make it even better. ### Teaching and learning _No response_
GiteaMirror added the needs votesfeature labels 2026-02-28 20:06:32 -06:00
Author
Owner

@github-actions[bot] commented on GitHub (Jun 15, 2025):

Thanks for sharing your idea!

This repository uses lodash style issue management for enhancements. That means enhancement issues are automatically closed. This doesn’t mean we don’t accept feature requests, though! We will consider implementing ones that receive many upvotes, and we welcome contributions for any feature requests marked as needing votes (just post a comment first so we can help you make a successful contribution).

The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+

Don’t forget to upvote the top comment with 👍!

@github-actions[bot] commented on GitHub (Jun 15, 2025): :sparkles: Thanks for sharing your idea! :sparkles: This repository uses lodash style issue management for enhancements. That means enhancement issues are automatically closed. This doesn’t mean we don’t accept feature requests, though! We will consider implementing ones that receive many upvotes, and we welcome contributions for any feature requests marked as needing votes (just post a comment first so we can help you make a successful contribution). The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+ Don’t forget to upvote the top comment with 👍! <!-- feature-auto-close-comment -->
Author
Owner

@AugustoPinheiro commented on GitHub (Jun 17, 2025):

https://github.com/actualbudget/actual/pull/5184

@AugustoPinheiro commented on GitHub (Jun 17, 2025): https://github.com/actualbudget/actual/pull/5184
Author
Owner

@lelemm commented on GitHub (Jun 18, 2025):

Hi @gustavostz,

Thanks for raising this feature request and for your engagement with the project.

After reviewing it carefully, we’ve decided that this is not something we’ll support in the core codebase—now or in the future. The main reason is that investments from Pluggy.ai don’t have transactions, and modeling each investment as a fake bank transaction doesn’t align with the design principles we want to maintain. It would introduce functionality that feels out of place and could create long-term maintenance issues.

This type of customization is exactly what we want to enable through our upcoming plugin system. Once that’s available, it’ll provide a clean and maintainable way to implement features like this without impacting the core.

Thanks again for your understanding!

@lelemm commented on GitHub (Jun 18, 2025): Hi @gustavostz, Thanks for raising this feature request and for your engagement with the project. After reviewing it carefully, we’ve decided that this is not something we’ll support in the core codebase—now or in the future. The main reason is that investments from Pluggy.ai don’t have transactions, and modeling each investment as a fake bank transaction doesn’t align with the design principles we want to maintain. It would introduce functionality that feels out of place and could create long-term maintenance issues. This type of customization is exactly what we want to enable through our upcoming plugin system. Once that’s available, it’ll provide a clean and maintainable way to implement features like this without impacting the core. Thanks again for your understanding!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#2206