hledger-0.3: A ledger-compatible text-based accounting tool.

Ledger.Entry

Description

An Entry represents a regular entry in the ledger file. It normally contains two or more balanced RawTransactions.

Synopsis

Documentation

showEntry :: Entry -> StringSource

Show a ledger entry, formatted for the print command. ledger 2.x's standard format looks like this:

yyyymmdd[ *][ CODE] description.........          [  ; comment...............]
    account name 1.....................  ...$amount1[  ; comment...............]
    account name 2.....................  ..$-amount1[  ; comment...............]

pcodewidth    = no limit -- 10          -- mimicking ledger layout.
pdescwidth    = no limit -- 20          -- I don't remember what these mean,
pacctwidth    = 35 minimum, no maximum  -- they were important at the time.
pamtwidth     = 11
pcommentwidth = no limit -- 22

balanceEntry :: Entry -> EntrySource

Ensure that this entry is balanced, possibly auto-filling a missing amount first. We can auto-fill if there is just one non-virtual transaction without an amount. The auto-filled balance will be converted to cost basis if possible. If the entry can not be balanced, raise an error.