Commit Graph

94 Commits

Author SHA1 Message Date
f407ce3811 container: hledger-flow: discover: credit: remove comma(s) from description 2026-01-06 16:59:49 -08:00
249e2ca77a container: hledger-flow: electrum: add mockup w/ lightning 2025-10-29 15:54:44 -07:00
d684f370ff container: hledger-flow: electrum: add lightning, backwards compat
*WARNING*: lightning support is a WIP due to an unresolved electrum
lightning history bug (see docker-finance #227).

This commit is needed for backwards compatibility, as the new electrum
format will break import - even if lightning is never used.
2025-10-29 15:54:44 -07:00
aaf3c21b7d container: hledger-flow: ethereum-based: compound: add internal swapping
when supplying/withdrawing.
2025-10-15 10:32:32 -07:00
e3f50ddb72 container: hledger-flow: vultr: add credits support
- Fixes direction to allow for credits issued by Vultr for N instances
- Updates documentation, adds where to put invoices to catch Sales Tax
2025-10-09 12:41:31 -07:00
3383b5c73f container: migrate from xsv to xan
`xsv` is no longer maintained and the author recommends `xan` instead.

Fortunately, `xan` is very suitable for our use-case; is very efficient,
and produces no differences in our expected output.
2025-10-03 14:09:34 -07:00
3a35e45ffa container: hledger-flow: add explicit amount4 to applicable rules
For rule consistency. Does not affect balances or other functionality.
2025-09-19 12:55:47 -07:00
2ec14fa1e1 container: hledger-flow: paypal-business: add expenses description subaccount
- If expense description exists, add description as subaccount
  * This is consistent with all other legacy finance rules
    - Typically, legacy institutions provide a column for category type.
      Since PayPal doesn't provide that data, using the description will
      provide the needed information for granular (full view) reporting.

- Removes old TODO that is no longer applicable
  * End-user will need to use custom rules, if needed
2025-09-02 13:23:35 -07:00
ef3b255bac container: hledger-flow: paypal: add expenses description subaccount
- If expense description exists, add description as subaccount
  * This is consistent with all other legacy finance rules
    - Typically, legacy institutions provide a column for category type.
      Since PayPal doesn't provide that data, using the description will
      provide the needed information for granular (full view) reporting.
2025-09-02 13:22:56 -07:00
b1ed20a4c8 container: hledger-flow: finish uniform fiat subaccounts
- For consistency across *all* hledger-flow accounts/rules.
- For future-proofing legacy finance (as related to #163).
2025-08-29 13:09:54 -07:00
812d9cc7ce container: hledger-flow: remove potential % interpretation (printf)
Removes potential interpretation of percent signs in various types of
descriptions/notes/labels (otherwise, import may break).

Resolves "fatal: not enough arguments to satisfy format string" under
certain conditions.
2025-08-08 12:56:14 -07:00
cc2e4a736f container: hledger-flow: btcpayserver: update mockups
Reflects latest "Legacy Invoice Export" and "Wallets" exports.
2025-08-08 12:33:24 -07:00
5920d87f86 container: hledger-flow: btcpayserver: support "Legacy Invoice Export" plugin, update "Wallets" impl
BTCPay Server v2.2.0 has a new "Invoices" export format that is more
complex than the prior "Legacy Invoice Export" format.

To help facilitate the transition to the new format, upstream has
provided a plugin for backwards compatibility. However, this plugin
happens to provide additional columns that must be supported.

Additionaly, the "Wallets" format also has new columns with fee
information, so the impl now supports tx fees (prior, fees required
manual input).

The "Wallets" impl also now defaults to a refund expense account for
outgoing txs and adds tax rules & documentation for rationale.
2025-08-08 12:33:24 -07:00
b51b94d8a3 container: hledger-flow: support non-alpha chars (currency)
Removes old hack for currencies with non-alpha characters.
2025-08-08 12:25:18 -07:00
418ed80a8c container: hledger-flow: ethereum-based: support non-alpha chars (currency)
- Fixes broken import of any tx that contains non-alpha character(s) in
  its currency (digits, etc.)
  * Currencies may now contain any character(s) supported by hledger
2025-08-04 15:27:33 -07:00
0ce9302e50 container: hledger-flow: ethereum-based: rules (spam): add arbitrum/base/optimism, update polygon 2025-08-04 15:07:42 -07:00
cc024b838e container: hledger-flow: metamask: mockups: add arbitrum/base/optimism, update polygon 2025-08-04 15:07:10 -07:00
d270d56366 client/container: ethereum-based: support Etherscan V2, add more L2 chains
- Implements support for unified API via Etherscan V2 (ethereum-based)
  * All ethereum-based L2s are now accessed via single API endpoint
    - Chains are now available via chain ID
  * Updates API key requirement for `fetch` ethereum-based subaccounts
    - The API key's value must now be prepended with "etherscan"
      * Previously was prepended per-chain ("ethereum" or "polygon")
    - The API key is now *required* (can be generated at etherscan.io)
      * Resolves fatal error in Etherscan::parse_response()
      * Impl will now handle if:
        - Config's API key/value is malformed
        - Etherscan API key was not given
        - Etherscan response is fatal

- Adds support for more L2s
  * Arbitrum (One)
  * Optimism
  * Base

- Adds more L2s to existing accounts
  * Coinbase Wallet
  * Ledger Live
  * MetaMask

- Updates documentation
  * Update default generated `fetch` config
  * Update `fetch` usage help
  * Update README
2025-08-04 15:07:10 -07:00
f8226cdccb container: hledger-flow: paypal-business: update mockup
Use generic business name to avoid possibility of infringement.
2025-07-03 14:21:11 -07:00
4718fcd0c4 container: hledger-flow: paypal: update fiat mockup
Reflects latest header and impl changes.
2025-07-03 14:13:31 -07:00
6fc4a1527d container: hledger-flow: paypal: support latest fiat header
- Breaking changes due to additional columns (not backwards-compatible).
- Adds 'fees' subaccount and new tags from the additional columns.
2025-07-03 14:09:23 -07:00
4add7c234c hledger-flow: ethereum-based: add to Ethereum spam rules 2025-03-19 17:48:42 -07:00
99c7075742 hledger-flow: btcpayserver: add local timezone support 2025-03-05 03:26:23 -08:00
338053e0db hledger-flow: btcpayserver: add taxed_as INCOME tag
All 'IN' direction is INCOME by default.
2025-03-05 02:44:11 -08:00
0a2d16098c hledger-flow: ethereum-based: add DeFi swapper tag
Adds the protocol or platform that conducts the swap.
2025-02-07 21:54:43 -08:00
7ed6bc1287 hledger-flow: btcpayserver: add prelim v2 mockups
- Removes previous format (fully deprecated)
- Adds "Legacy Invoice" and "Wallets" mockups
2025-02-07 21:22:54 -08:00
5352e34196 hledger-flow: btcpayserver: add prelim support for v2 reports
- Removes previous format (fully deprecated)
- Adds support for "Legacy Invoice" and "Wallets" reports

See code notes regarding caveats and TODOs.
2025-02-07 21:22:54 -08:00
9380f03b88 hledger-flow: lib_preprocess: allow testing of single / multiple columns 2025-02-06 18:39:24 -08:00
09322467d6 hledger-flow: lib: symlink to finance's lib_utils
Although this would usually break modularity, this may be the exception.
2025-02-06 18:38:53 -08:00
6c6ab9c41d hledger-flow: ethereum-based: add COMP rewards 2025-01-31 19:19:50 -08:00
7c78e9e647 hledger-flow: ledger: skip COMP token
Supported by `fetch` (ethereum-based).
2025-01-31 19:19:50 -08:00
69421e2423 container: hledger-flow: electrum: use transaction label for tax memo
Even though the transaction label is already included as a notes tag,
having this information as a memo for tax reports is incredibly helpful.
2025-01-03 21:45:47 -08:00
6ea1e56317 container: hledger-flow: ethereum-based: add to Polygon spam rules 2025-01-03 21:43:25 -08:00
467cfa2f36 container: hledger-flow: coinbase-pro: fix default account2 for sells 2025-01-03 21:41:24 -08:00
da57805c79 container: hledger-flow: trezor: fix fees subaccount ordering
Keep consistent with all other rules.
2025-01-03 21:39:11 -08:00
7b65d5d6e2 container: hledger-flow: ledger: fix fees subaccount ordering
Keep consistent with all other rules.
2025-01-03 21:39:11 -08:00
fc1691e727 container: hledger-flow: blockfi: fix fees subaccount ordering
Keep consistent with all other rules.
2025-01-03 21:39:11 -08:00
c8e80e0c19 container: hledger-flow: ledger: add more compound tokens 2025-01-02 20:43:56 -08:00
e74590ced2 container: hledger-flow: ethereum-based: re-order blockchain/subaccounts
For consistency (ethereum-based and all other supported networks).
2025-01-02 20:30:32 -08:00
226a62ac31 container: hledger-flow: tezos: add network to subaccounts
- Creates per-wallet / per-account compliance for IRS Rev. Proc. 2024-28

- Needed for wallets that may share the same subaccount name on the same
  device but are entirely different wallets that support different
  networks and/or assets within that network.
2025-01-02 20:30:32 -08:00
d602d78621 container: hledger-flow: algorand: add network to subaccounts
- Creates per-wallet / per-account compliance for IRS Rev. Proc. 2024-28

- Needed for wallets that may share the same subaccount name on the same
  device but are entirely different wallets that support different
  networks and/or assets within that network.
2025-01-02 20:30:32 -08:00
ab602a036d container: hledger-flow: electrum: add tax related to rules 2025-01-02 20:30:32 -08:00
499c171d73 container: hledger-flow: add subaccount/network to tax rules
- Creates per-wallet / per-account compliance for IRS Rev. Proc. 2024-28
2025-01-02 20:30:32 -08:00
6a4c2da99b hledger-flow: ethereum-based: add to Ethereum spam rules 2024-12-27 18:19:34 -08:00
a7834160ec hledger-flow: algorand: add to spam rules 2024-12-27 02:34:45 -08:00
4bec30f600 container: hledger-flow: vultr: add sales tax rule
Vultr has now added Sales Tax to their CSV invoice.
2024-10-01 19:34:15 -07:00
a16922f87a container: hledger-flow: add Vultr support
This addition is treading a fine line between finance and other
accounting, as Vultr cloud service is related to DevOps and is also not
a financial entity. However, financial information is provided; so this
addition is useful.

With this commit, a precedent is set for other cloud services to be
added to the repository (services that provide CSV financial accounting
data) and I believe that they could (should) be added as needed.

NOTE: there are several upstream CSV issues:

  - Only expenses are given
    * Transfers must be added manually (manual import or custom rules)

  - Sales tax is not included
    * Sales tax expenses must be added manually
2024-09-11 21:25:51 -07:00
c65c31659c hledger-flow: electrum: fix calculating 'No Data'
If electrum-provided prices aren't available, 'No Data' will be given.
Attempts to calculate this string will result in 0.00 for fiat values.

Do not attempt to calculate this string. Instead, leave the column empty
(for bitcoin.tax calculations).
2024-09-09 20:20:53 -07:00
91bfc21f62 hledger-flow: algorand: add to Governance Rewards 2024-09-06 17:46:41 -07:00
7f413d5351 hledger-flow: capital-one: bank: fix direction 2024-08-28 23:11:29 -07:00