SFTtech / SFTtech/abrechnung

Create short-cut feature for creating intra-group balance exchange transfers

Open
#202 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
208
Forks
18
PR merge metrics
No merged PRs in 30d

Description

When two people have accounts with non-zero balances in two groups, they will often agree to settle their open balances by swapping them between those groups.

Take this example:

Group "Best Friends"

  • Alice: Balance -10
  • Bob: Balance +20
  • Charlie: Balance -10

Group "Vacation 2023"

  • Alice: Balance +10
  • Bob: Balance -10

Since the vacation is over, the balances should now be settled and the group should be archived.
Alice and Bob can do this directly by Bob giving 10€ to Alice.
But they can also do it by creating a Transfer "Bob gives 10€ to Alice" in group Vacation 2023, and creating a symmetric Transfer "Alice gives 10€ to Bob" in group "Best Friends".

Afterwards, the balances will be

Group "Best Friends"

  • Alice: Balance 0
  • Bob: Balance +10
  • Charlie: Balance -10

Group "Vacation 2023"

  • Alice: Balance 0
  • Bob: Balance 0

This is very practical as it eliminates the need for some more bank transfers, and reduces the overall balances in all groups.

The only downside, currently, is that you need to manually create the symmetric transfers, which is error-prone and unnecessary work.

Offering a particular feature, for example on the Balances page, which allows you to see Alice's and Bob's balances in both groups and to create the appropriate transaction pair automatically, would be a great help here.

We could also consider extending the database scheme to allow tracking these kinds of things, but that would be way more complex and have the potential for over-engineering.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the Balances page and the existing transfer-creation flow described in the issue; map how balances for two people across both groups are displayed and how symmetric transfers are currently entered. Done means users can review the relevant balances and create the matching transfer pair without manually entering both transfers, with the data-model implications decided.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
full-stack, payments
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.