hledger/doc/DECISIONS.md
2023-01-21 09:50:32 -10:00

1.5 KiB
Raw Blame History

Decisions

A partial list of notable development decisions.

2022

Replace “transaction price” terminology with “cost”

“Transaction price” never quite stuck. “Cost” is simpler, shorter, more intuitive, consistent with --cost and “cost reporting”, and more distinct from “market price”.

There is an (acceptable) ambiguity: “cost” could mean the @ UNITCOST price attached to the amount, or the total cost when the amount is converted (QUANTITY * UNITCOST).

Status: as of 2023Q1 this has been done in the manuals and is slowly ongoing in the code.

2023

Plugin types

We will document and support where feasible several distinct kinds of plugin, written in haskell or other languages:

Plugin type Description Current status
reader Parse/ingest new data formats/sources to hledger journal data. Can be done by generating journal or csv format.
writer Render/export hledger journal data to new data formats/destinations. Can be done (lossily) by transforming prints txt/csv/json/sql output.
processor Process hledger journal data after parsing, before reporting. Not well supported, somewhat possible in a haskell script.
formatter Render a hledger reports output to a new output format. Can be done by transforming reports builtin txt/csv/json/html output.
command Provide new hledger subcommands implementing new reports or actions. Can be done with addon scripts/programs in PATH.