Transaction-time currency-conversions for coffee list

22 views
Skip to first unread message

Michael Eliachevitch

unread,
Nov 9, 2018, 10:21:17 AM11/9/18
to Beancount
I am trying to move the fund of our coffee machine from spreadsheet to beancount. A coffee at the coffee machine costs a certain amount of money (which changes occasionally). But instead of paying immediately, people put a mark on a list and once a week someone (now it's me) collects the list and puts it in a spreadsheet to calculate the balance of each user, who then pay some money in if they are in debt. This money is then used to buy coffee, water filters etc. These expenses are currently not really tracked with the spreadsheet approach, which is why I tried to introduce beancount. Also, students/researchers frequently come and go, which I think can also be easier managed with beancount. I had used ledger for my own expenses before, but it is hard to install without root rights, while beancount is only a pip3 command away.

I thought that I could introduce a new currency for the coffee, e.g. "COF". Now, when counting the marks how many coffee each person drank, I thought I can just write in the number of coffees, and make beancount calculate the number of Euros that get substracted from their balance, e.g.:
                  
2018-10-31 price COF                            0.15 EUR

2018-10-31 * "Evaluating tick marks of coffee list"
   
Liabilities:Employees:Employee1             21 COF
   
Liabilities:Employees:Employee2              3 COF
   
Liabilities:Employees:Employee3              5 COF
   
...
   
Income:Coffeemachine

2018-10-31 * "Some user payed into the coffee fund"
   
Liabilities:Employees:Employee1                    -50 EUR
   
Assets:Coffeefund                                   50 EUR

2018-11-31 price COF                            0.15 EUR
...

What I actually want is having Euros substracted from their accounts, but write the number of Coffees for convenience, to spare myself some calculations. I tried the `X COF @ Y Euro ` syntax, but it didn't help, the accounts still receive COF and the conversion only happens when I display the accounts in fava my bean-query script with conversions. So far, this worked, because since I recently started the ledger, the prices didn't change. But when they do, the people have to pay for the current coffee price and not for the price that existed when they drank their coffee.

I understand that I had misunderstood how currencies/commodities work, since they have no memory of what price they had in the past. However, I feel that what I am trying to achieve can not to be difficult and I just missed/misunderstood some part early in the documentation. Does anybody now a way to achieve what I am trying to? Or maybe can suggest a better workflow?

Reply all
Reply to author
Forward
0 new messages