ihatemoney icon indicating copy to clipboard operation
ihatemoney copied to clipboard

Settle complete project

Open ari-s opened this issue 5 years ago • 5 comments

suppose a group of people have a shared account (my flatmates and I have one to pay rent). I propose the following:

  • add a project setting "shared account"
  • in the "settle_bill"-route add a "settle project" button that creates transactions s.t. everyone has a balance of 0. This button is visible only if the project is a shared account.
  • add a way to see the values of past settlements - that is, the participants balances just before the settlement
  • maybe paginate s.t. every page has one settlement and the transactions that lead up to that.

This is similar but independent of #137

ari-s avatar Aug 29 '18 14:08 ari-s

Thanks for your suggestion.

I am not sure to get it. So I will maybe ask stupid questions until I understand :-).

suppose a group of people have a shared account (my flatmates and I have one to pay rent). I propose the following:

add a project setting "shared account"

If you are speaking of a bank account, at first glance I do not see the point, as an operation paid by the shared bank account is a no-op in terms of users balance.

in the "settle_bill"-route add a "settle project" button that creates transactions s.t. everyone has a balance of 0. This button is visible only if the project is a shared account.

That is exactly #137, no ?

(what is that abreviation : "s.t." ?)

JocelynDelalande avatar Aug 29 '18 19:08 JocelynDelalande

s.t. means "such that", but seems like it's used mostly in mathematics

If you are speaking of a bank account, at first glance I do not see the point, as an operation paid by the shared bank account is a no-op in terms of users balance.

Maybe we're trying to use ihatemoney a bit differently from what it's designed for: we have a shared account. Everyone pays his/her part of the rent to this account and it pays rent for the whole flat, but we also use it to split smaller, often but irregularly occuring bills - think grocery shopping. And only this is where expense splitting comes in. The obvious way to use ihatemoney would be to regularly take a snapshot of the balance and ask everyone to transfer that amount from his/her account to the shared one.

I think the other way to use ihatemoney would be to put everything there, including the part of the rent, which we didn't plan to do.

in the "settle_bill"-route add a "settle project" button that creates transactions s.t. everyone has a balance of 0. This button is visible only if the project is a shared account.

That is exactly #137, no ?

I think it's the same idea, but in my mind would take different code paths, since one is settling between individuals (one to one), whereas this is between an entity that's so far not in the project (the shared account) and everybody else. So far everyone in ihatemoney is equal. with a shared account, that's not the case - people cease to owe each other but the central entity. One might implement #137 and reuse the code under the constraint that everybody settles with the shared account, but I could imagine this would be way harder, since one needs to special-case this in the algorithm to find transaction that would settle up.

Sorry for this closing/re-opening/editing mess: glitch in the touch rejection. :/

ari-s avatar Aug 31 '18 20:08 ari-s

Hi, and thanks for opening a discussion about this.

I also had a hard time understanding what a shared account is in your initial message :-) It's now clearer with your latest explanations, thanks !

If I understand correctly, it would be useful to you to have a way to tell that everybody settled its debts, not by transferring money to someone else, but by making a transaction to a central account.

I understand how having a setting to indicate that "settlements should be done to a bank account instead of between people" but seems to go against one rule we've tried to follow on the project: keep things as simple as possible. Put differently: it's not how we imagined the project so far, and seems to be a paradigm shift.

Also, it's interesting noting that it's possible to use a shared bank account in multiple different ways, and I don't really know which one you're using, and where ihatemoney sits in the big picture.

Now, I wonder if we can solve your problem differently, without adding a new paradigm to the project. What if you could make a set of "settlement" transactions, that would nullify the balance for all the members of the projects? Would that solve your problem?

almet avatar Sep 03 '18 18:09 almet

@ari-s, if you're around, what do you think about the last @almet's proposal?

What if you could make a set of "settlement" transactions, that would nullify the balance for all the members of the projects? Would that solve your problem?

indatwood avatar Apr 22 '20 15:04 indatwood

Wouldn't adding the "shared bank account" as a participant in ihatemoney solve the issue?

When paying groceries with the shared account, select the shared account as payer and the roommates as beneficiaries.

When a roommate sends money to the shared account, select the roommate as payer and the shared account as beneficiary.

Of course, the "settle bills" page would become kind of useless. But you are actually in a simpler case: if a roommate wants to settle, they can just look at their balance and send this amount of money to the shared account.

zorun avatar Apr 27 '24 13:04 zorun