scripts: equity.hs, a test of the scripting api
This commit is contained in:
parent
4e9c09fb87
commit
6cd0c1aa56
23
examples/equity.hs
Normal file
23
examples/equity.hs
Normal file
@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env runhaskell
|
||||
{-
|
||||
Print an entry posting the total balance of the specified account and
|
||||
subaccounts, or all accounts, from the default journal. Like ledger's
|
||||
equity command. Useful when starting a new journal or closing the books.
|
||||
|
||||
Usage: equity.hs [ACCTPAT]
|
||||
-}
|
||||
import Hledger
|
||||
import Hledger.Cli
|
||||
import System.Environment
|
||||
|
||||
main = do
|
||||
j <- myJournal
|
||||
d <- getCurrentDay
|
||||
args <- getArgs
|
||||
let acctpat = head $ args ++ [""]
|
||||
(acctbals,_) = balanceReport [Flat] (optsToFilterSpec [] [acctpat] d) j
|
||||
txn = nulltransaction{
|
||||
tdate=d,
|
||||
tpostings=[nullposting{paccount=a,pamount=b} | (a,_,_,b) <- acctbals]
|
||||
++ [nullposting{paccount="equity:opening balances",pamount=missingamt}]}
|
||||
putStr $ show txn
|
||||
Loading…
Reference in New Issue
Block a user