spliit icon indicating copy to clipboard operation
spliit copied to clipboard

Make converting currency in expense optional

Open Petersmit27 opened this issue 4 months ago • 0 comments

As discussed in #53 and #330, it is not always desirable to be forced to convert an expense in the original currency to the group's main currency. Thus, it should become an option to not convert the currency when entering the expense, and delay the conversion to the reimbursements. This way, a single conversion rate can easily be used for all expenses when reimbursing.

Feel free to suggest more concrete solutions or directions, since this issue is quite large :)

Implementation thoughts

Expense form

On the expense form, there can be a tickbox to make the "Original amount" not convert to the group's main currency. This essentially leaves the amount and conversionRate columns in the database empty when saving the expense.

Balance sheets

On the balance page, there need to be separate sheets to display the current state for each currency that's still open (see mockup)

To make the design manageable, I think you can assume a group handles three different currencies at most. It should still be possible to use more than three currencies, but it doesn't have to look good imo.

Image

In the "Suggested reimbursements" section, each person's debts in each currency is shown. This is where I have the most question marks, but here's my proposal.

Before the "mark as paid" button is shown, the user must convert any additional currencies to one single currency. For example, if Alice owes Bob $1, €10 and ¥100, Alice needs to convert everything to one currency before she can "mark as paid".

  • In the background, an expense will ✨automagically✨ be generated that converts the amount in one currency to the other
  • Depending on the implementation, it can be all done in one go, or done per currency
  • Also depending on the implementation, this can be to any (remaining) currency, or be forced to convert to the group's main currency

Petersmit27 avatar Sep 13 '25 18:09 Petersmit27