1
0
mirror of https://github.com/aclindsa/moneygo.git synced 2024-12-26 23:42:29 -05:00

Add monthly cash flow example report

This commit is contained in:
Aaron Lindsay 2017-07-07 20:53:22 -04:00
parent a69468785b
commit 951d56f7fe
2 changed files with 28 additions and 0 deletions

View File

@ -42,6 +42,8 @@ function generate()
end end
``` ```
More examples can be found in the reports/ directory in the MoneyGo source tree.
## Basic Operation ## Basic Operation
The lua code behind a report *must* contain a `generate()` function which takes The lua code behind a report *must* contain a `generate()` function which takes

View File

@ -0,0 +1,26 @@
function generate()
year = date.now().year
accounts = get_accounts()
t = tabulation.new(12)
t:title(year .. " Monthly Cash Flow")
series = t:series("Income minus expenses")
for month=1,12 do
begin_date = date.new(year, month, 1)
end_date = date.new(year, month+1, 1)
t:label(month, tostring(begin_date))
cash_flow = 0
for id, acct in pairs(accounts) do
if acct.type == account.Expense or acct.type == account.Income then
balance = acct:balance(begin_date, end_date)
cash_flow = cash_flow - balance.amount
end
end
series:value(month, cash_flow)
end
return t
end