I am still trying to find the way to calculate the net worth at a certain
date using *balance *field (I am not sure it will give me any advantage)
But somehow it does not quire work as I expect
E.g.
ledger_text = """
2020-01-01 open Assets:Bank1
2020-01-01 open Assets:Bank2
2020-01-01 open Income:Salary
2020-01-01 * "Salary 1"
Income:Salary
Assets:Bank1 1000 EUR
2020-01-20 * "Salary 2"
Income:Salary
Assets:Bank2 1000 EUR
2021-01-20 * "Salary 3"
Income:Salary
Assets:Bank2 1000 EUR
"""
date_iso = datetime.date(2020,12,31).isoformat()
query=f"""
select account, SUM(position) as amount
where date <= {date_iso} AND account ~ 'Assets|Liabilities'
"""
result:
account amount (EUR)
Assets:Bank1 1000.0
Assets:Bank2 1000.0
This is correct!!
Now using balance field
query=f"""
select account, LAST(balance) as amount
where date <= {date_iso} AND account ~ 'Assets|Liabilities'
"""
account amount (EUR)
Assets:Bank1 1000.0
Assets:Bank2 2000.0 <==== This is incorrect!
So, what am I doing wrong?
On Sunday, April 28, 2024 at 4:17:36 PM UTC+2 Chary Chary wrote:
> Dear all,
>
> I just want to double check, that the beanquery I am using to get my net
> wort at certain date is an optimal one
>
> I use the following:
>
> query = f"""
> SELECT account, convert(SUM(position),'{currency}',{date_iso}) as
> amount
> where date <= {date_iso} AND account ~ 'Assets|Liabilities'
> """
>
> As you can see, I convert everything to one currency with the exchange
> rate at the date of the report.
>
> it works fine, but I am just wondering whether there is more conical way?
> E.g. using
>
> BALANCES [AT <function>] [FROM …]
>
>
--
You received this message because you are subscribed to the Google Groups
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beancount/1dc7bdb9-f9ea-4527-93a3-310d385b466fn%40googlegroups.com.