hledger/hledger-lib/Hledger
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
..
Data imp: cost: Generate totally balanced conversion postings for amounts with costs. 2021-12-21 10:50:13 -10:00
Read imp: cost: Generate totally balanced conversion postings for amounts with costs. 2021-12-21 10:50:13 -10:00
Reports imp: cost: Generate totally balanced conversion postings for amounts with costs. 2021-12-21 10:50:13 -10:00
Utils pkg: progress towards supporting GHC 9.2 and newer libs (#1774) 2021-12-06 12:32:50 -10:00
Data.hs pkg!: Break functions related to balancing out into a separate module, 2021-09-19 17:10:38 -10:00
Query.hs fix: ui: declared accounts respect not:ACCT (another #1783 fix) 2021-12-09 13:45:57 -10:00
Read.hs dev: Move journal and text parsing utilities into more appropriate places, to reduce reliance on Hledger.Read.Common. 2021-09-19 17:10:38 -10:00
Reports.hs cln: tests: Remove test and tests, which are just aliases for testCase 2021-08-30 16:32:19 -10:00
Utils.hs fix: bal: better fix for treeLeaves, fixing func tests (#1782) 2021-12-08 18:14:08 -10:00