hledger/hledger-lib/Hledger/Read
Stephen Morgan 8eedbbbe87 imp: cost: Generate totally balanced conversion postings for amounts with costs.
Introduce --infer-equity option which will generate conversion postings.
--cost will override --infer-equity.

This means there will no longer be unbalanced transactions, but will be
offsetting conversion postings to balance things out. For example.

2000-01-01
  a   1 AAA @@ 2 BBB
  b  -2 BBB

When converting to cost, this is treated the same as before.
When used with --infer-equity, this is now treated as:

2000-01-01
  a                               1 AAA
  equity:conversion:AAA-BBB:AAA  -1 AAA
  equity:conversion:AAA-BBB:BBB   2 BBB
  b                              -2 BBB

There is a new account type, Conversion/V, which is a subtype of Equity/E.
The first account declared with this type, if any, is used as the base account
for inferred equity postings in conversion transactions, overriding the default
"equity:conversion".

API changes:

Costing has been changed to ConversionOp with three options:
NoConversionOp, ToCost, and InferEquity.
The first correspond to the previous NoCost and Cost options, while the
third corresponds to the --infer-equity flag.  This converts transactions with costs
(one or more transaction prices) to transactions with equity:conversion postings.
It is in ConversionOp because converting to cost with -B/--cost and inferring conversion
equity postings with --infer-equity are mutually exclusive.

Correspondingly, the cost_ record of ReportOpts has been changed to
conversionop_.

This also removes show_costs_ option in ReportOpts, as its functionality
has been replaced by the richer cost_ option.
2021-12-21 10:50:13 -10:00
..
Common.hs cln: hlint cleanups 2021-11-21 19:33:21 -10:00
CsvReader.hs cln: csv: small rename 2021-12-08 16:57:53 -10:00
InputOptions.hs pkg!: Break functions related to balancing out into a separate module, 2021-09-19 17:10:38 -10:00
JournalReader.hs imp: cost: Generate totally balanced conversion postings for amounts with costs. 2021-12-21 10:50:13 -10:00
LedgerReader.hs.disabled debug: move command parsing debug output down to level 8 2020-07-03 11:37:01 -07:00
TimeclockReader.hs pkg: Drop base-compat-batteries dependency. 2021-10-31 07:56:07 -10:00
TimedotReader.hs timedot: a D default commodity (and style) is applied to timedot aounts 2021-11-05 23:34:46 -10:00