mirror of
https://github.com/aclindsa/moneygo.git
synced 2024-12-25 23:23:21 -05:00
Add monthly cash flow example report
This commit is contained in:
parent
a69468785b
commit
951d56f7fe
@ -42,6 +42,8 @@ function generate()
|
||||
end
|
||||
```
|
||||
|
||||
More examples can be found in the reports/ directory in the MoneyGo source tree.
|
||||
|
||||
## Basic Operation
|
||||
|
||||
The lua code behind a report *must* contain a `generate()` function which takes
|
||||
|
26
reports/monthly_cash_flow.lua
Normal file
26
reports/monthly_cash_flow.lua
Normal 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
|
Loading…
Reference in New Issue
Block a user