aboutsummaryrefslogblamecommitdiffstats
path: root/leddy.1.scd
blob: 045a49101d684f08923c125fbc3342743ad8a3f2 (plain) (tree)
























































































                                                                               
leddy(1)

# NAME

*leddy* - plain text accounting tool

# DESCRIPTION

*leddy* is a read-only plain text accounting tool. It parses text files
containing financial transactions, as in a general ledger, and aggregates or
searches through them in varying ways depending on the passed command. For
safety, because it has the potential to parse sensitive and precise financial
data, *leddy* never modifies any files.

*leddy* expects a file format that differs somewhat from that of other plain
text accounting tools. The file format is documented in *leddy*(5).

# USAGE

*leddy* expects a number of flags followed by a command. All flags must precede
the command.

The available flags are as follows:

*-b* _date_
	Ignore entries prior to the provided date. Date must be provided in
	ISO 8601 (YYYY-MM-DD) format. Default is _null_.

*-e* _date_
	Ignore entries after the provided date. Date must be provided in
	ISO 8601 (YYYY-MM-DD) format. Default is _null_.

*-f* _/path/to/ledgerfile_
	The ledger file to parse. This is always required. No default.

*-q*
	Include Equity accounts in balance sheet reports. Has no effect on
	other reports.

*-z*
	Include zero balance accounts. By default, these are hidden, except on
	trial balance reports.

The available commands are as follows:

*tb*
	Print a trial balance report. This is a report showing the balances of
	all accounts, and can be used for purposes including a general overview
	of all activity in a given time, verifying that the ledger balances,
	etc.

*bs*
	Print a balance sheet report. This is a report showing the balances of
	each asset, liability and equity account at a given point in time. It
	typically does not make conceptual sense to pass a *-b* parameter to a
	balance sheet report, because all transactions prior to a given point
	in time should be incorporated into a balance sheet.

	For financial reporting, balance sheets contain equity accounts. For
	most people, however, equity accounts are not terribly useful, so
	*leddy* does not show them by default on balance sheets. You can pass a
	flag (as indicated in the prior section) to show these if you wish.

*is*
	Print an income statement report. This is a report showing the activity
	of each income and expense account between two given points in time.
	*leddy* produces these in a standard way without deviation from typical
	accounting principles.

	Users unfamiliar with double-entry accounting should note that income
	details are typically entered as credits, and expenses are typically
	debits. Ordinary income looks negative on a balance sheet, and *leddy*
	does not hide this from the user.

*fx*
	Print an exchange rates report. This is a report showing the exchange
	rates that are implied to exist between currencies or commodities when
	multiple currencies appear in the same entry. For example, if you write
	an entry that debits 10 USD from an account and credits 15 CAD to
	another, *leddy* assumes the entry is meant to balance and an exchange
	rate of 1.5 CAD per USD is implied.

	The report only prints the final implied exchange rate between each
	pair on each date. If multiple exchange rates were implicitly created
	for each day, only the one from the last such entry on that date is
	shown on the report.

	See *leddy*(5) for more details on using *leddy* with multiple
	currencies.