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