<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >Hledger.Data.Journal</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_Hledger-Data-Journal.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >hledger-lib-0.14: Reusable types and utilities for the hledger accounting tool and financial apps in general.</TD ><TD CLASS="topbut" ><A HREF="src/Hledger-Data-Journal.html" >Source code</A ></TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >Hledger.Data.Journal</FONT ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" >A <TT ><A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TT > is a set of <TT ><A HREF="Hledger-Data-Types.html#t%3ATransaction" >Transaction</A ></TT >s and related data, usually parsed from a hledger/ledger journal file or timelog. This is the primary hledger data object. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3Anulljournal" >nulljournal</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Anullctx" >nullctx</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournalContext" >JournalContext</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalFilePath" >journalFilePath</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalFilePaths" >journalFilePaths</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amainfile" >mainfile</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AaddTransaction" >addTransaction</A > :: <A HREF="Hledger-Data-Types.html#t%3ATransaction" >Transaction</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AaddModifierTransaction" >addModifierTransaction</A > :: <A HREF="Hledger-Data-Types.html#t%3AModifierTransaction" >ModifierTransaction</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AaddPeriodicTransaction" >addPeriodicTransaction</A > :: <A HREF="Hledger-Data-Types.html#t%3APeriodicTransaction" >PeriodicTransaction</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AaddHistoricalPrice" >addHistoricalPrice</A > :: <A HREF="Hledger-Data-Types.html#t%3AHistoricalPrice" >HistoricalPrice</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AaddTimeLogEntry" >addTimeLogEntry</A > :: <A HREF="Hledger-Data-Types.html#t%3ATimeLogEntry" >TimeLogEntry</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalPostings" >journalPostings</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> [<A HREF="Hledger-Data-Types.html#t%3APosting" >Posting</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalAccountNamesUsed" >journalAccountNamesUsed</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> [<A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalAccountNames" >journalAccountNames</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> [<A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalAccountNameTree" >journalAccountNameTree</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree" >Tree</A > <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfilterJournalTransactions" >filterJournalTransactions</A > :: <A HREF="Hledger-Data-Types.html#t%3AFilterSpec" >FilterSpec</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfilterJournalPostings" >filterJournalPostings</A > :: <A HREF="Hledger-Data-Types.html#t%3AFilterSpec" >FilterSpec</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfilterJournalTransactionsByDescription" >filterJournalTransactionsByDescription</A > :: [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >] -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfilterJournalTransactionsByDate" >filterJournalTransactionsByDate</A > :: <A HREF="Hledger-Data-Types.html#t%3ADateSpan" >DateSpan</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfilterJournalTransactionsByClearedStatus" >filterJournalTransactionsByClearedStatus</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfilterJournalPostingsByClearedStatus" >filterJournalPostingsByClearedStatus</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfilterJournalPostingsByRealness" >filterJournalPostingsByRealness</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfilterJournalPostingsByEmpty" >filterJournalPostingsByEmpty</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfilterJournalTransactionsByDepth" >filterJournalTransactionsByDepth</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfilterJournalPostingsByDepth" >filterJournalPostingsByDepth</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfilterJournalTransactionsByAccount" >filterJournalTransactionsByAccount</A > :: [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >] -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfilterJournalPostingsByAccount" >filterJournalPostingsByAccount</A > :: [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >] -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalSelectingDate" >journalSelectingDate</A > :: <A HREF="Hledger-Data-Types.html#t%3AWhichDate" >WhichDate</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalFinalise" >journalFinalise</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/old-time-1.0.0.5/System-Time.html#t%3AClockTime" >ClockTime</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/time-1.1.4/Data-Time-LocalTime.html#t%3ALocalTime" >LocalTime</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournalContext" >JournalContext</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Either.html#t%3AEither" >Either</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalBalanceTransactions" >journalBalanceTransactions</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Either.html#t%3AEither" >Either</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalCanonicaliseAmounts" >journalCanonicaliseAmounts</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalApplyHistoricalPrices" >journalApplyHistoricalPrices</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalHistoricalPriceFor" >journalHistoricalPriceFor</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/time-1.1.4/Data-Time-Calendar.html#t%3ADay" >Day</A > -> <A HREF="Hledger-Data-Types.html#t%3ACommodity" >Commodity</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="Hledger-Data-Types.html#t%3AMixedAmount" >MixedAmount</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalCloseTimeLogEntries" >journalCloseTimeLogEntries</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/time-1.1.4/Data-Time-LocalTime.html#t%3ALocalTime" >LocalTime</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalConvertAmountsToCost" >journalConvertAmountsToCost</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalCanonicalCommodities" >journalCanonicalCommodities</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Map.html#t%3AMap" >Map</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > <A HREF="Hledger-Data-Types.html#t%3ACommodity" >Commodity</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalAmountCommodities" >journalAmountCommodities</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> [<A HREF="Hledger-Data-Types.html#t%3ACommodity" >Commodity</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalAmountAndPriceCommodities" >journalAmountAndPriceCommodities</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> [<A HREF="Hledger-Data-Types.html#t%3ACommodity" >Commodity</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AamountCommodities" >amountCommodities</A > :: <A HREF="Hledger-Data-Types.html#t%3AAmount" >Amount</A > -> [<A HREF="Hledger-Data-Types.html#t%3ACommodity" >Commodity</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalAmounts" >journalAmounts</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> [<A HREF="Hledger-Data-Types.html#t%3AMixedAmount" >MixedAmount</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalDateSpan" >journalDateSpan</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3ADateSpan" >DateSpan</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amatchpats" >matchpats</A > :: [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >] -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AjournalAccountInfo" >journalAccountInfo</A > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> (<A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree" >Tree</A > <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A >, <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Map.html#t%3AMap" >Map</A > <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A > <A HREF="Hledger-Data-Types.html#t%3AAccount" >Account</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgroupPostings" >groupPostings</A > :: [<A HREF="Hledger-Data-Types.html#t%3APosting" >Posting</A >] -> (<A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree" >Tree</A > <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A >, <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A > -> [<A HREF="Hledger-Data-Types.html#t%3APosting" >Posting</A >], <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A > -> <A HREF="Hledger-Data-Types.html#t%3AMixedAmount" >MixedAmount</A >, <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A > -> <A HREF="Hledger-Data-Types.html#t%3AMixedAmount" >MixedAmount</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcalculateBalances" >calculateBalances</A > :: <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree" >Tree</A > <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A > -> (<A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A > -> [<A HREF="Hledger-Data-Types.html#t%3APosting" >Posting</A >]) -> <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree" >Tree</A > (<A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A >, (<A HREF="Hledger-Data-Types.html#t%3AMixedAmount" >MixedAmount</A >, <A HREF="Hledger-Data-Types.html#t%3AMixedAmount" >MixedAmount</A >))</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApostingsByAccount" >postingsByAccount</A > :: [<A HREF="Hledger-Data-Types.html#t%3APosting" >Posting</A >] -> <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Map.html#t%3AMap" >Map</A > <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A > [<A HREF="Hledger-Data-Types.html#t%3APosting" >Posting</A >]</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:nulljournal" ><A NAME="v%3Anulljournal" ></A ></A ><B >nulljournal</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#nulljournal" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:nullctx" ><A NAME="v%3Anullctx" ></A ></A ><B >nullctx</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournalContext" >JournalContext</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#nullctx" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalFilePath" ><A NAME="v%3AjournalFilePath" ></A ></A ><B >journalFilePath</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalFilePath" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalFilePaths" ><A NAME="v%3AjournalFilePaths" ></A ></A ><B >journalFilePaths</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalFilePaths" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:mainfile" ><A NAME="v%3Amainfile" ></A ></A ><B >mainfile</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >, <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >)</TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#mainfile" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:addTransaction" ><A NAME="v%3AaddTransaction" ></A ></A ><B >addTransaction</B > :: <A HREF="Hledger-Data-Types.html#t%3ATransaction" >Transaction</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#addTransaction" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:addModifierTransaction" ><A NAME="v%3AaddModifierTransaction" ></A ></A ><B >addModifierTransaction</B > :: <A HREF="Hledger-Data-Types.html#t%3AModifierTransaction" >ModifierTransaction</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#addModifierTransaction" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:addPeriodicTransaction" ><A NAME="v%3AaddPeriodicTransaction" ></A ></A ><B >addPeriodicTransaction</B > :: <A HREF="Hledger-Data-Types.html#t%3APeriodicTransaction" >PeriodicTransaction</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#addPeriodicTransaction" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:addHistoricalPrice" ><A NAME="v%3AaddHistoricalPrice" ></A ></A ><B >addHistoricalPrice</B > :: <A HREF="Hledger-Data-Types.html#t%3AHistoricalPrice" >HistoricalPrice</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#addHistoricalPrice" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:addTimeLogEntry" ><A NAME="v%3AaddTimeLogEntry" ></A ></A ><B >addTimeLogEntry</B > :: <A HREF="Hledger-Data-Types.html#t%3ATimeLogEntry" >TimeLogEntry</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#addTimeLogEntry" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalPostings" ><A NAME="v%3AjournalPostings" ></A ></A ><B >journalPostings</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> [<A HREF="Hledger-Data-Types.html#t%3APosting" >Posting</A >]</TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalPostings" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalAccountNamesUsed" ><A NAME="v%3AjournalAccountNamesUsed" ></A ></A ><B >journalAccountNamesUsed</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> [<A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A >]</TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalAccountNamesUsed" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalAccountNames" ><A NAME="v%3AjournalAccountNames" ></A ></A ><B >journalAccountNames</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> [<A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A >]</TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalAccountNames" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalAccountNameTree" ><A NAME="v%3AjournalAccountNameTree" ></A ></A ><B >journalAccountNameTree</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree" >Tree</A > <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalAccountNameTree" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:filterJournalTransactions" ><A NAME="v%3AfilterJournalTransactions" ></A ></A ><B >filterJournalTransactions</B > :: <A HREF="Hledger-Data-Types.html#t%3AFilterSpec" >FilterSpec</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#filterJournalTransactions" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Keep only transactions we are interested in, as described by the filter specification. May also massage the data a little. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:filterJournalPostings" ><A NAME="v%3AfilterJournalPostings" ></A ></A ><B >filterJournalPostings</B > :: <A HREF="Hledger-Data-Types.html#t%3AFilterSpec" >FilterSpec</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#filterJournalPostings" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Keep only postings we are interested in, as described by the filter specification. May also massage the data a little. This can leave unbalanced transactions. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:filterJournalTransactionsByDescription" ><A NAME="v%3AfilterJournalTransactionsByDescription" ></A ></A ><B >filterJournalTransactionsByDescription</B > :: [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >] -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#filterJournalTransactionsByDescription" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Keep only transactions whose description matches the description patterns. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:filterJournalTransactionsByDate" ><A NAME="v%3AfilterJournalTransactionsByDate" ></A ></A ><B >filterJournalTransactionsByDate</B > :: <A HREF="Hledger-Data-Types.html#t%3ADateSpan" >DateSpan</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#filterJournalTransactionsByDate" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Keep only transactions which fall between begin and end dates. We include transactions on the begin date and exclude transactions on the end date, like ledger. An empty date string means no restriction. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:filterJournalTransactionsByClearedStatus" ><A NAME="v%3AfilterJournalTransactionsByClearedStatus" ></A ></A ><B >filterJournalTransactionsByClearedStatus</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#filterJournalTransactionsByClearedStatus" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Keep only transactions which have the requested cleared/uncleared status, if there is one. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:filterJournalPostingsByClearedStatus" ><A NAME="v%3AfilterJournalPostingsByClearedStatus" ></A ></A ><B >filterJournalPostingsByClearedStatus</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#filterJournalPostingsByClearedStatus" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Keep only postings which have the requested cleared/uncleared status, if there is one. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:filterJournalPostingsByRealness" ><A NAME="v%3AfilterJournalPostingsByRealness" ></A ></A ><B >filterJournalPostingsByRealness</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#filterJournalPostingsByRealness" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Strip out any virtual postings, if the flag is true, otherwise do no filtering. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:filterJournalPostingsByEmpty" ><A NAME="v%3AfilterJournalPostingsByEmpty" ></A ></A ><B >filterJournalPostingsByEmpty</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#filterJournalPostingsByEmpty" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Strip out any postings with zero amount, unless the flag is true. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:filterJournalTransactionsByDepth" ><A NAME="v%3AfilterJournalTransactionsByDepth" ></A ></A ><B >filterJournalTransactionsByDepth</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#filterJournalTransactionsByDepth" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Keep only transactions which affect accounts deeper than the specified depth. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:filterJournalPostingsByDepth" ><A NAME="v%3AfilterJournalPostingsByDepth" ></A ></A ><B >filterJournalPostingsByDepth</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#filterJournalPostingsByDepth" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Strip out any postings to accounts deeper than the specified depth (and any transactions which have no postings as a result). </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:filterJournalTransactionsByAccount" ><A NAME="v%3AfilterJournalTransactionsByAccount" ></A ></A ><B >filterJournalTransactionsByAccount</B > :: [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >] -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#filterJournalTransactionsByAccount" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Keep only transactions which affect accounts matched by the account patterns. More precisely: each positive account pattern excludes transactions which do not contain a posting to a matched account, and each negative account pattern excludes transactions containing a posting to a matched account. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:filterJournalPostingsByAccount" ><A NAME="v%3AfilterJournalPostingsByAccount" ></A ></A ><B >filterJournalPostingsByAccount</B > :: [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >] -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#filterJournalPostingsByAccount" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Keep only postings which affect accounts matched by the account patterns. This can leave transactions unbalanced. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalSelectingDate" ><A NAME="v%3AjournalSelectingDate" ></A ></A ><B >journalSelectingDate</B > :: <A HREF="Hledger-Data-Types.html#t%3AWhichDate" >WhichDate</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalSelectingDate" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Convert this journal's transactions' primary date to either the actual or effective date. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalFinalise" ><A NAME="v%3AjournalFinalise" ></A ></A ><B >journalFinalise</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/old-time-1.0.0.5/System-Time.html#t%3AClockTime" >ClockTime</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/time-1.1.4/Data-Time-LocalTime.html#t%3ALocalTime" >LocalTime</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournalContext" >JournalContext</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Either.html#t%3AEither" >Either</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalFinalise" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Do post-parse processing on a journal, to make it ready for use. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalBalanceTransactions" ><A NAME="v%3AjournalBalanceTransactions" ></A ></A ><B >journalBalanceTransactions</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Either.html#t%3AEither" >Either</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalBalanceTransactions" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Fill in any missing amounts and check that all journal transactions balance, or return an error message. This is done after parsing all amounts and working out the canonical commodities, since balancing depends on display precision. Reports only the first error encountered. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalCanonicaliseAmounts" ><A NAME="v%3AjournalCanonicaliseAmounts" ></A ></A ><B >journalCanonicaliseAmounts</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalCanonicaliseAmounts" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Convert all the journal's amounts to their canonical display settings. Ie, all amounts in a given commodity will use (a) the display settings of the first, and (b) the greatest precision, of the amounts in that commodity. Prices are canonicalised as well, so consider calling journalApplyHistoricalPrices before this. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalApplyHistoricalPrices" ><A NAME="v%3AjournalApplyHistoricalPrices" ></A ></A ><B >journalApplyHistoricalPrices</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalApplyHistoricalPrices" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Apply this journal's historical price records to unpriced amounts where possible. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalHistoricalPriceFor" ><A NAME="v%3AjournalHistoricalPriceFor" ></A ></A ><B >journalHistoricalPriceFor</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/time-1.1.4/Data-Time-Calendar.html#t%3ADay" >Day</A > -> <A HREF="Hledger-Data-Types.html#t%3ACommodity" >Commodity</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="Hledger-Data-Types.html#t%3AMixedAmount" >MixedAmount</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalHistoricalPriceFor" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Get the price for a commodity on the specified day from the price database, if known. Does only one lookup step, ie will not look up the price of a price. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalCloseTimeLogEntries" ><A NAME="v%3AjournalCloseTimeLogEntries" ></A ></A ><B >journalCloseTimeLogEntries</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/time-1.1.4/Data-Time-LocalTime.html#t%3ALocalTime" >LocalTime</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalCloseTimeLogEntries" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Close any open timelog sessions in this journal using the provided current time. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalConvertAmountsToCost" ><A NAME="v%3AjournalConvertAmountsToCost" ></A ></A ><B >journalConvertAmountsToCost</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalConvertAmountsToCost" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Convert all this journal's amounts to cost by applying their prices, if any. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalCanonicalCommodities" ><A NAME="v%3AjournalCanonicalCommodities" ></A ></A ><B >journalCanonicalCommodities</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Map.html#t%3AMap" >Map</A > <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > <A HREF="Hledger-Data-Types.html#t%3ACommodity" >Commodity</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalCanonicalCommodities" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Get this journal's unique, display-preference-canonicalised commodities, by symbol. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalAmountCommodities" ><A NAME="v%3AjournalAmountCommodities" ></A ></A ><B >journalAmountCommodities</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> [<A HREF="Hledger-Data-Types.html#t%3ACommodity" >Commodity</A >]</TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalAmountCommodities" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Get all this journal's amounts' commodities, in the order parsed. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalAmountAndPriceCommodities" ><A NAME="v%3AjournalAmountAndPriceCommodities" ></A ></A ><B >journalAmountAndPriceCommodities</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> [<A HREF="Hledger-Data-Types.html#t%3ACommodity" >Commodity</A >]</TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalAmountAndPriceCommodities" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Get all this journal's amount and price commodities, in the order parsed. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:amountCommodities" ><A NAME="v%3AamountCommodities" ></A ></A ><B >amountCommodities</B > :: <A HREF="Hledger-Data-Types.html#t%3AAmount" >Amount</A > -> [<A HREF="Hledger-Data-Types.html#t%3ACommodity" >Commodity</A >]</TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#amountCommodities" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Get this amount's commodity and any commodities referenced in its price. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalAmounts" ><A NAME="v%3AjournalAmounts" ></A ></A ><B >journalAmounts</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> [<A HREF="Hledger-Data-Types.html#t%3AMixedAmount" >MixedAmount</A >]</TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalAmounts" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Get all this journal's amounts, in the order parsed. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalDateSpan" ><A NAME="v%3AjournalDateSpan" ></A ></A ><B >journalDateSpan</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> <A HREF="Hledger-Data-Types.html#t%3ADateSpan" >DateSpan</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalDateSpan" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >The (fully specified) date span containing this journal's transactions, or DateSpan Nothing Nothing if there are none. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:matchpats" ><A NAME="v%3Amatchpats" ></A ></A ><B >matchpats</B > :: [<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A >] -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#matchpats" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Check if a set of hledger account/description filter patterns matches the given account name or entry description. Patterns are case-insensitive regular expressions. Prefixed with not:, they become anti-patterns. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:journalAccountInfo" ><A NAME="v%3AjournalAccountInfo" ></A ></A ><B >journalAccountInfo</B > :: <A HREF="Hledger-Data-Types.html#t%3AJournal" >Journal</A > -> (<A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree" >Tree</A > <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A >, <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Map.html#t%3AMap" >Map</A > <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A > <A HREF="Hledger-Data-Types.html#t%3AAccount" >Account</A >)</TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#journalAccountInfo" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Calculate the account tree and all account balances from a journal's postings, returning the results for efficient lookup. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:groupPostings" ><A NAME="v%3AgroupPostings" ></A ></A ><B >groupPostings</B > :: [<A HREF="Hledger-Data-Types.html#t%3APosting" >Posting</A >] -> (<A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree" >Tree</A > <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A >, <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A > -> [<A HREF="Hledger-Data-Types.html#t%3APosting" >Posting</A >], <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A > -> <A HREF="Hledger-Data-Types.html#t%3AMixedAmount" >MixedAmount</A >, <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A > -> <A HREF="Hledger-Data-Types.html#t%3AMixedAmount" >MixedAmount</A >)</TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#groupPostings" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Given a list of postings, return an account name tree and three query functions that fetch postings, subaccount-excluding-balance and subaccount-including-balance by account name. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:calculateBalances" ><A NAME="v%3AcalculateBalances" ></A ></A ><B >calculateBalances</B > :: <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree" >Tree</A > <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A > -> (<A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A > -> [<A HREF="Hledger-Data-Types.html#t%3APosting" >Posting</A >]) -> <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Tree.html#t%3ATree" >Tree</A > (<A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A >, (<A HREF="Hledger-Data-Types.html#t%3AMixedAmount" >MixedAmount</A >, <A HREF="Hledger-Data-Types.html#t%3AMixedAmount" >MixedAmount</A >))</TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#calculateBalances" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Add subaccount-excluding and subaccount-including balances to a tree of account names somewhat efficiently, given a function that looks up transactions by account name. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="topdecl" ><TABLE CLASS="declbar" ><TR ><TD CLASS="declname" ><A NAME="v:postingsByAccount" ><A NAME="v%3ApostingsByAccount" ></A ></A ><B >postingsByAccount</B > :: [<A HREF="Hledger-Data-Types.html#t%3APosting" >Posting</A >] -> <A HREF="/usr/share/doc/ghc/html/libraries/containers-0.3.0.0/Data-Map.html#t%3AMap" >Map</A > <A HREF="Hledger-Data-Types.html#t%3AAccountName" >AccountName</A > [<A HREF="Hledger-Data-Types.html#t%3APosting" >Posting</A >]</TD ><TD CLASS="declbut" ><A HREF="src/Hledger-Data-Journal.html#postingsByAccount" >Source</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="doc" >Convert a list of postings to a map from account name to that account's postings. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.6.1</TD ></TR ></TABLE ></BODY ></HTML >