[GH-ISSUE #2289] [Feature] Remember already synced transactions so they don't respawn if deleted #115272

Closed
opened 2026-06-11 06:31:09 -05:00 by GiteaMirror · 9 comments
Owner

Originally created by @Capelare on GitHub (Jan 26, 2024).
Original GitHub issue: https://github.com/actualbudget/actual/issues/2289

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?

A bit of context in this discord conversation.

When importing transactions from a linked bank account (through GoCardless, but I'd assume it should be independent from the sync service used), transactions that have already been imported and processed will reappear if they were deleted or don't match anymore. I believe it would be a nice feature for Actual to remember the already synced transactions so this doesn't happen.

A couple of use cases that come to my mind:

  1. Balancing out transactions: My inlaws ask me to buy them something online and transfer me the money. This is something I would never introduce in my budgeting app if I were to do it manually, because it doesn't have anything to do with my budget and I don't want to see in my reports that I spent some money on Amazon (which I didn't) and that I had some extra income (which I didn't either).
  2. I paid for something and my colleague reimbursed me their part: Again, similar scenario. If I paid 50€ for lunch for two and I get 20€ from the other person I don't see why I would want two transactions (-50€ and +20€) when the reality is that I spent 30€ and that's it. When those transactions are synced from the bank I'd go ahead and merge them together, editing the -50€ to -30€ and removing the +30€, so I can keep a cleaner transactions list and reports that reflect reality better.
  3. Splitting complex transactions: If I want to have two transactions for something that appears as one bank transaction. Similar to using the split categories group but allowing for more flexibility (e.g. you might want to give different dates to the transactions).

I see the bank sync feature as one way of introducing data, but after it has been introduced one should be able to edit it and work with it as if it was a manually introduced transaction.

Someone in the discord thread mentioned that "the basic premise is that transactions in actual match the transactions that occurred", but if that was strictly the case, manually introduced transactions that don't have a matching transaction after syncing should be removed from Actual, and I think no one would agree with that.

Describe your ideal solution to this problem

I think one solution would be to be able to approve/edit/reject transactions that are synced from the bank (this is the approach of other budgeting apps).

Another solution could be to just remember the imported transactions and do some incremental imports when syncing.

Teaching and learning

No response

Originally created by @Capelare on GitHub (Jan 26, 2024). Original GitHub issue: https://github.com/actualbudget/actual/issues/2289 ### 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? A bit of context in this [discord conversation](https://discord.com/channels/937901803608096828/1196168998224670740). When importing transactions from a linked bank account (through GoCardless, but I'd assume it should be independent from the sync service used), transactions that have already been imported and processed will reappear if they were deleted or don't match anymore. I believe it would be a nice feature for Actual to remember the already synced transactions so this doesn't happen. A couple of use cases that come to my mind: 1. Balancing out transactions: My inlaws ask me to buy them something online and transfer me the money. This is something I would never introduce in my budgeting app if I were to do it manually, because it doesn't have anything to do with my budget and I don't want to see in my reports that I spent some money on Amazon (which I didn't) and that I had some extra income (which I didn't either). 2. I paid for something and my colleague reimbursed me their part: Again, similar scenario. If I paid 50€ for lunch for two and I get 20€ from the other person I don't see why I would want two transactions (-50€ and +20€) when the reality is that I spent 30€ and that's it. When those transactions are synced from the bank I'd go ahead and merge them together, editing the -50€ to -30€ and removing the +30€, so I can keep a cleaner transactions list and reports that reflect reality better. 3. Splitting complex transactions: If I want to have two transactions for something that appears as one bank transaction. Similar to using the split categories group but allowing for more flexibility (e.g. you might want to give different dates to the transactions). I see the bank sync feature as one way of introducing data, but after it has been introduced one should be able to edit it and work with it as if it was a manually introduced transaction. Someone in the discord thread mentioned that "the basic premise is that transactions in actual match the transactions that occurred", but if that was strictly the case, manually introduced transactions that don't have a matching transaction after syncing should be removed from Actual, and I think no one would agree with that. ### Describe your ideal solution to this problem I think one solution would be to be able to approve/edit/reject transactions that are synced from the bank (this is the approach of other budgeting apps). Another solution could be to just remember the imported transactions and do some incremental imports when syncing. ### Teaching and learning _No response_
GiteaMirror added the feature label 2026-06-11 06:31:09 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Jan 26, 2024):

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 👍!

<!-- gh-comment-id:1911763658 --> @github-actions[bot] commented on GitHub (Jan 26, 2024): :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

@rastographics commented on GitHub (May 15, 2024):

Can this be opened back up?
There are other issues that people bring this up as a problem.

For me, I have transactions that I don't care to have in actual, but if I delete them, they will always reappear on sync.

What is the use case why anyone would want a transaction to be re-imported on every sync when they have already manually deleted it?

<!-- gh-comment-id:2113272637 --> @rastographics commented on GitHub (May 15, 2024): Can this be opened back up? There are [other issues that people bring this up as a problem](https://github.com/actualbudget/actual/issues/2272#issuecomment-2002626233). For me, I have transactions that I don't care to have in actual, but if I delete them, they will always reappear on sync. What is the use case why anyone would want a transaction to be re-imported on every sync when they have already manually deleted it?
Author
Owner

@youngcw commented on GitHub (May 15, 2024):

This is open, it has the "needs votes" label. https://github.com/actualbudget/actual/issues/2289#issuecomment-1911763658

<!-- gh-comment-id:2113281808 --> @youngcw commented on GitHub (May 15, 2024): This is open, it has the "needs votes" label. https://github.com/actualbudget/actual/issues/2289#issuecomment-1911763658
Author
Owner

@rastographics commented on GitHub (May 15, 2024):

Thanks for reply, I just upvoted the original post. but I'm confused how it is open? The tag on it that I see is "Closed"
image

Also, I'm not sure how this is considered a feature request and not a bug? Is it expected functionality for imported transactions to keep re-importing after getting manually deleted?

Sorry I'm fairly new to Actual and github contributing in general so these are questions asked in good faith 😁

<!-- gh-comment-id:2113302886 --> @rastographics commented on GitHub (May 15, 2024): Thanks for reply, I just upvoted the original post. but I'm confused how it is open? The tag on it that I see is "Closed" ![image](https://github.com/actualbudget/actual/assets/3922354/e54b60cb-f3f2-4439-a31f-8c6e6ee25b19) Also, I'm not sure how this is considered a feature request and not a bug? Is it expected functionality for imported transactions to keep re-importing after getting manually deleted? Sorry I'm fairly new to Actual and github contributing in general so these are questions asked in good faith 😁
Author
Owner

@Capelare commented on GitHub (May 15, 2024):

It’s just the way this repo is managed, take a look at the first comment by @github-actions, they explain there that the issues are automatically closed until they have enough votes :)

<!-- gh-comment-id:2113306533 --> @Capelare commented on GitHub (May 15, 2024): It’s just the way this repo is managed, take a look at the first comment by @github-actions, they explain there that the issues are automatically closed until they have enough votes :)
Author
Owner

@rastographics commented on GitHub (May 15, 2024):

How many votes are needed? Also, if I were to attempt a pull request to fix this behavior, how would I go about finding out if it would be accepted (assuming all the rules were followed for code styling, etc on this repo).

In other words, before I go about trying to make a fix for this, I would want to know that the maintainers would welcome the fix.

<!-- gh-comment-id:2113313451 --> @rastographics commented on GitHub (May 15, 2024): How many votes are needed? Also, if I were to attempt a pull request to fix this behavior, how would I go about finding out if it would be accepted (assuming all the rules were followed for code styling, etc on this repo). In other words, before I go about trying to make a fix for this, I would want to know that the maintainers would welcome the fix.
Author
Owner

@youngcw commented on GitHub (May 15, 2024):

The votes are to get the attention of someone with the time and desire to fix it. But it would still need approved after a PR was submitted

<!-- gh-comment-id:2113315827 --> @youngcw commented on GitHub (May 15, 2024): The votes are to get the attention of someone with the time and desire to fix it. But it would still need approved after a PR was submitted
Author
Owner

@youngcw commented on GitHub (Apr 23, 2025):

You can disable re-syncing a deleted transaction in the bank sync settings for an account.

<!-- gh-comment-id:2825632981 --> @youngcw commented on GitHub (Apr 23, 2025): You can disable re-syncing a deleted transaction in the bank sync settings for an account.
Author
Owner

@mbrevda commented on GitHub (May 9, 2025):

No such option when importing via the API though...

<!-- gh-comment-id:2866522868 --> @mbrevda commented on GitHub (May 9, 2025): No such option when importing via the API though...
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#115272