- Creates per-wallet / per-account compliance for IRS Rev. Proc. 2024-28
* Obfuscated keymap now creates a unique indentifier per-wallet /
per-account where all trades, spends and income are now clearly
tied to their respective wallets / accounts.
- Removes support for anonymized ("universal pool") reports.
- Re-enables space after completion for plugin arguments
- Ignores internal/implementation files when completing
* Files must be within an 'internal'/'impl' directory
As said before; `lib_ledger` was meant to be a general abstraction to
any underlying CLI ledger.
But, between C++ `ledger` and Ledger Hardware Wallet, this abstraction
has become too confusing and counterproductive.
Since `hledger` will be the underlying implementation for the forseeable
future, all doubt should now be removed.
As said before; `lib_ledger` was meant to be a general abstraction to
any underlying CLI ledger.
But, between C++ `ledger` and Ledger Hardware Wallet, this abstraction
has become too confusing and counterproductive.
Since `hledger` will be the underlying implementation for the forseeable
future, all doubt should now be removed.
Since modules are included upon build type, if a build doesn't support
a feature then that feature's dependencies will not be available.
This commit will give notice of those missing dependencies.
Since inception, the intent was to abstract the "interface" to allow for
a general-purpose CLI accounting ledger. However, there appears to be
confusion about whether the underlying implementation is `ledger`
accounting software or `hledger` accounting software.
So, making it clearer that it's `hledger` accounting software (although,
will continue to keep the `ledger` command for backwards-compatibility).
Since inception, the intent was to abstract the "interface" to allow for
a general-purpose CLI accounting ledger. However, there appears to be
confusion about whether the underlying implementation is `ledger`
accounting software or `hledger` accounting software.
So, making it clearer that it's `hledger` accounting software (although,
will continue to keep the `ledger` command for backwards-compatibility).
- Adds plugin type support
* Adds pseudo-paths to help usage
* Adds arg parsing of given plugin name
- Prepended pseudo-paths will use repo or custom plugin
Issue #51 describes at least a few undocumented bitcoin.tax issues:
- Bicoin.tax gives unexpected cost-basis results when `Fee` is given
with `Total` (when `Total` is given in place of `Price`). The
expectation is that bitcoin.tax will perform the cost-basis
calculation on `Total` when `Fee` is also given.
However, bitcoin.tax *will* give expected cost-basis results if
`Price` is given in place of `Total` (with `Fee` also given) *or* if
`Total` is given *after* local cost-basis adjustments are made (but
*without* `Fee` given).
The rationale for why docker-finance doesn't use `Price`:
* docker-finance has all of the `Total`s; so `Price` isn't
necessary.
* Local price information isn't available for most trades (and
shouldn't be necessary since all `Total`s are available).
- Additionally, when `Fee` is non-fiat (crypto), it now must be marked
as a SPEND in order to be disposed (and to produce an accurate
closing report).
- Finally, if `FeeCurrency` *does* not match either `Symbol` or
`Currency` (e.g., BTC-ETH w/ BNB fee), it's unknown if cost-basis
must be calculated locally as well (if `Total` is given). Local
calculations cannot be done because `Fee` price information is
(almost certainly) not available for this type of trade.
Until upstream can assert that attaching the `Fee` will subsequently
adjust the cost-basis of `Total` *and* dispose of the `Fee` in the
process (while also allowing `Total` to be used in place of `Price`),
the `Fee` (and `FeeCurrency`) column(s) must not be populated and values
instead moved to SPEND (as described above).
Upstream is aware of these issues (since May) and they're in the process
of resolution. In the meantime, docker-finance work-arounds should
suffice for all trades that have a fiat `Fee` and/or a
`Fee`/`FeeCurrency` that matches one side of the trading pair.
- Make known that non-zero returns are fatal errors
- Return success on success (iadd | manual)
- Add iadd to `edit` usage help
- Remove outdated comments