For beancount files we now support rustledger (>= 0.15.0) in addition to bean-query (#28):
net_worth() and register() now support toolchain = "bean-query" and toolchain = "rledger" (in addition to "ledger", "hledger", and "beancount").register_rledger() added to support the "rledger" toolchain from rustledger (>= 0.15.0).register_bean_query() added to explicitly support the "bean-query" toolchain that directly uses the bean-query binary.register_beancount() continues to use bean-query if present but if bean-query is not present it now falls back to rledger.
Hence the "beancount" toolchain now works if either beanquery or rustledger are installed."bean-report_ledger" and "bean-report_hledger" toolchains are deprecated since bean-report was removed from beancount in 2020.
Use the "beancount" toolchain that uses bean-query instead.register_ledger() now imports a transaction code column (#25).register_ledger() now extracts marks that are embedded in the descriptions which
ledger's csv output sometimes does when when both transaction codes and marks are present in the transaction.register_beancount() and register_hledger() now import a transaction id column (#21).
Thanks @vikasrawal for suggestion.register_beancount() now coerces the date column to a "Date" object.
register_ledger() and register_hledger() already did so.register_ledger() now trims the comment column with stringr::str_trim().{rio} has been downgraded from "Imports" to "Suggests".
Users who want to use rio::import() or rio::convert()
will need to manually install {rio}.hledger date for newer versions of hledger (#19).
Thanks @chrislloyd for bug report and patch.hledger files with amounts that use comma decimal marks and/or commodity prefixes (#18).
Thanks @StefanBRas for bug report.hledger files has been relaxed to hledger (>= 1.2). Previously depended on hledger (>=1.4).beancount files read in with register_beancount() with the end date argument set
we no longer use any price directives on the end date to determine market value
but only those strictly before the end date.
This matches the filtering of transactions and the new hledger market value behavior.ledger files register() no longer filters out transactions with amount equal to zero (#13).register() returns a tibble instead of a data.frame.beancount files using the output from bean-query
instead of bean-report followed up by hledger.ledger R package won't need to change any code.prune_coa and prune_coa_string functions to help simplify plaintext accounting "Chart of Accounts" names to a given maximum depth.register_beancount(), register_ledger(), and register_hledger() functions are now exported (and documented).register() now has a date argument than can be used to exclude transactions
(and implicitly price statements) before that date.register() now preserves transaction comments when importing ledger files (#16). Thanks Jenya Sovetkin for patch.register() now preserves tags when importing beancount files.register() working with ledger and bean-report on Windows (#15).regex argument from net_worth while adding include, exlude, and ignore_case arguments.toolchain argument to register() and net_worth().net_worth.include_cleared, include_pending, include_unmarked, convert_to_cost, and convert_to_market_value arguments from register() (#6).flags arguments to register() (#6).mark column to imported data frames with values "*", "!", or "" (#6).historical_cost, hc_commodity, market_value and mv_commodity columns (#6).rio::import() to read in registers (#7).amount field to numeric).net_worth() function.