firefly-iii / firefly-iii

Firefly III: a personal finances manager
https://firefly-iii.org/
GNU Affero General Public License v3.0
15.81k stars 1.43k forks source link

Suggestion: transaction type 'refund' #769

Closed tannie closed 7 years ago

tannie commented 7 years ago

I've looked through older issues to see if this has been addressed before, and though it seems it has been (partially) it has been a while and I'd like to add my thoughts/ideas on this.

Usually when the year is over I get the year-end bill for my electricity use. Sometimes I have to pay extra, sometimes I get some money back. From what I understand from most financial gurus etc, this would not count as income, but instead as a deduction on an expense and should be booked as such. Firefly however, does not have this option.

In other apps I've used I've occasionally bumped into the option where I could select an expense transaction and click on 'create refund' and it would create a new transaction, with all the options for an expense (in Firefly this would mean the source account is an expense account, not a revenue account) but with an incoming amount, not an outgoing one.

I don't know if this is possible in a future Firefly, perhaps with a flag on an expense transaction or perhaps a completely new transaction type.

I have work-arounds for refunds now, though I'd prefer a more correct reflection of what really happens 😄
If I take back a box of eggs to Albert Heijn it seems a bit weird to me to have to create a revenue account for it, because I don't work for Albert Heijn, I'm just getting money back I've spent there.

JC5 commented 7 years ago

There's a choice here to do the right thing or the logical thing.

Technically speaking you're right of course: what Firefly III should do is transfer the start-of-year amount into a special asset account. At the end of the year, the actual amount is moved to an expense account and the rest is transferred back. Other solutions are to create a "negative expense" (GNUCash) that makes sure the refunded amount does not show up as income.

When you return eggs, something similar should happen and the amount for the eggs should be deducted from the original expense.

What happens by the way if you have to pay extra? Does it not count as an expense for the current period, but for the one where te original payment was made?

And indeed, Firefly III does not yet support this. When you buy something large and return it, you'll see a huge expense and a huge income, skewing all charts.

I'm thinking about the following. It's a mix of internal architecture and usability (we need both):

This would make most charts annoyingly complex of course but alright then.

What do you think?