1.5 KiB
1.5 KiB
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 print’s 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 report’s output to a new output format. | Can be done by transforming report’s 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. |