Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow merging/converting 2 transactions into a single transfer #5675

Closed
3 tasks done
GeorgeBark opened this issue Jan 31, 2022 · 9 comments
Closed
3 tasks done

Allow merging/converting 2 transactions into a single transfer #5675

GeorgeBark opened this issue Jan 31, 2022 · 9 comments
Labels
enhancement Requests for enhancements of existing stuff.

Comments

@GeorgeBark
Copy link

Support guidelines

Description

First of all, thank you for your amazing work.

I am having the same issue as #1863:

I have two accounts. One is my everyday account while the other is my savings account; both are with the same bank.
The csv I receive looks like this:
Date,Account,Description,Credit,Debit
d/m/Y,111111,text,450,
d,m,Y,222222,text,,-450

However, it is not limited to the same bank, it could be between different banks.

Solution

I have been doing some research and there are already similar issues: #4232 #4017 and #1845.

I totally understand why you have decided to dismiss their requests due to complexity. However, I would like to revisit the issue with a much narrower scenario:

When in a list of transactions, if 2 are selected, enable an action to "merge into transfer". (if one or more than 2 are selected then the option is disabled or not there at all).

To prevent opening Pandora's box and allowing for complex merging, check that:

  1. One transaction is a withdrawal, the other is a deposit.
  2. The transactions have the same amount, oposite sign (they cancel each other out)

If both true, allow to continue. Then:

  1. Get the withdrawal as the main transaction
  2. Get the account of the deposit
  3. Use the same code you have in ConvertToTransfer.php to convert the transaction to a transfer with the account id of step 2
  4. Remove the deposit transaction

What are alternatives?

No response

Additional context

I am not a PHP developer but I would be happy to help with pseudo-code if you wish.

Many thanks!

@JC5
Copy link
Member

JC5 commented Jan 31, 2022

I'm not a fan of this idea.

Firstly, this is the kind of system magic that makes it pretty unclear when options are available, when they're hidden, what they do. What does it mean to merge a transfer? When is it available? Why can't I merge transactions with different amounts? Why can't I have it make two splits instead of one single transfer? Why can't I merge two deposits, what's the difference? A narrow use case opens the door for a wide use case, although that's not the problem per se.

Most importantly, this is a use case meant for users who import data but are unable or incapable of importing transactions in such a way that Firefly III recognizes the opposite account, and creates a transfer automatically. Not that many people have that problem.

I appreciate what's going on here but I'd much rather script something against the API that would fix this for you.

Ultimately, the problem is cleaning and fixing transactions. Systems like YNAB, Mint and others will automatically clean (most) transactions and fix stuff like this. But since I don't have the capability to offer the same thing for CSV imports or basic imports I have to think of something else.

Adding buttons to magically merge some transactions isn't the solution. I think the solution has to be part of the data importer, but I'm not sure what it can be.

@GeorgeBark
Copy link
Author

Thanks for the very quick reply.

I see your point and I think I agree with you. In the end this is an importer issue and not really an expense management issue. It should indeed be somehow in the importer but I cannot see either how to implement it unless some "intelligence" is applied, it may not be worth it.

About this:

I appreciate what's going on here but I'd much rather script something against the API that would fix this for you.

Instead of a script, I wouldn't dare asking you to invest time on my problem, would it be possible to add an API to convert to transfer a given transaction id? I tried with the PUT on the transaction but it doesn't seem to allow changing the "type". If either the PUT accepts changing the type or if a new endpoint is available, I could script it as you mentioned.

Thanks in advance!

@JC5
Copy link
Member

JC5 commented Feb 1, 2022

Yes, this is on my list to add. 👍

@JC5 JC5 added the enhancement Requests for enhancements of existing stuff. label Feb 1, 2022
@GeorgeBark
Copy link
Author

Great, looking forward to it! Many thanks!

@JC5 JC5 added this to the Layout 3.0+ milestone Feb 9, 2022
@JC5 JC5 mentioned this issue Aug 8, 2022
@JC5 JC5 modified the milestones: Layout 3.0+, next-major, firefly-iii-v8.0.0 Mar 26, 2023
@Inrego
Copy link

Inrego commented Apr 14, 2023

I too have the need to be able to merge transactions into a single transfer. I use Nordigen to import my transactions into Firefly, but since I often use different descriptions on source/destination accounts when I transfer, Firefly does not pick this up.
Sure, a way to automate it would be great, but for starters I'm looking for a way how I can manually fix these inconsistencies?

@WillScott73
Copy link

I third this request

@JC5 JC5 added enhancement Requests for enhancements of existing stuff. and removed enhancement Requests for enhancements of existing stuff. labels Feb 8, 2024
Copy link
Contributor

github-actions bot commented Feb 8, 2024

Hi there!

This is an automatic reply. Share and enjoy

This issue has been marked as an enhancement. The requested enhancement to an existing feature will become a part of Firefly III or the data importer in due course.

If you come across this issue, please be aware there is NO need to reply with "+1" or "me too" or "I need this too" or whatever. Such comments are not helpful, and do not influence the roadmap. Your comment may be 💀 deleted. You can subscribe to this issue to get updates.

Thank you for your contributions.

@JC5
Copy link
Member

JC5 commented Apr 20, 2024

#6304

@JC5 JC5 closed this as completed Apr 20, 2024
Copy link
Contributor

Hi there! This is an automatic reply. Share and enjoy

This issue is now 🔒 closed. Please be aware that closed issues are not monitored by the developer of Firefly III.

  • If the original bug is not actually fixed, please open a new issue. Refer to this issue for clarity.
  • Follow-up questions must be posted in a new discussion
  • Further replies to this issue may get no response.

If there is more to discuss, please open a new issue or discussion.

Thank you for your contributions.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 12, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement Requests for enhancements of existing stuff.
Projects
Status: In progress
Development

No branches or pull requests

4 participants