Developers, I am planning to add a feature to gnucash, primarily, but not exclusively, related to currency accounting, and wanted to summarize what I was thinking of. I would welcome feedback.
Since version 2.4.0, GnuCash supports trading accounts as described in 'Tutorial on multiple currency accounting' and 'Multiple currency accounting in GnuCash' by P. Selinger (see http://wiki.gnucash.org/wiki/Trading_Accounts). I believe Mike Alexander added this feature. In his tutorial, he (P. Selinger) mentions a 'reference currency method' as an alternative to the use of trading accounts. This is essentially the feature I wish to add. Today, in file->properties->Accounts tab, you can turn "trading accounts" on or off. I propose to change this to a selection of three alternatives: use trading accounts, specify a 'book currency', or neither trading accounts nor book currency. If trading accounts is selected, it would work as implemented by Mike. If neither is selected, it would work as gnucash does now without trading accounts selected. So no one would be forced to use the new feature. If 'book currency' is selected, it would require the specification of the book currency in file->properties. Transaction entry would be modified to ensure every split that was not in the book currency had a 'price' or 'exchange rate' associated with it (to the book currency). In addition, the existing lot tracking capabilities would be used to track the 'cost' (in book currency) of all accounts not denominated in the book currency (lots would automatically be created rather than having the user go through the Actions->View Lots process). In entering any transaction that disposes of non-book-currency amounts, the user would be provided with assistance to calculate and book any gain or loss associated with the transaction based on these tracked costs. The idea is that several policies would be used for this purpose (probably implemented in phases): LIFO, FIFO, average cost (perhaps), manual specification. Much of this lot tracking has already been implemented but I don't believe it has been fully tested. A 'Cost and Unrealized Gains/Loss' report would be added to the menu if this feature is selected. It would show, for all non-book-currency accounts, as of a user-selected date: name, currency/commodity, cost, quantity, rate, value, unrealized gain/loss. Optionally, for each account, lot detail would be shown and, for each lot transaction detail would be shown. The US Income Tax Report would be enhanced to use the booked gains/losses (bug 554397). Among the changes I foresee are: - File->Properties: specify and select 'book currency', if selected, default gain/loss account and default lot tracking policy. - Account Edit: for 'non-book-currency' accounts, specify gain/loss account, lot tracking policy, short-sales allowed, currency account is priced in, skip lot-tracking flag. - Register Transaction Entry: transaction currency will be 'Book Currency' rather than currency of register transaction is entered from, raise 'Edit Exchange Rates' dialog if split not in book currency, create/update lots for non-book-currency splits, if a sale (subject to 'short sales' rule), uses Lot Tracking Policy to calculate cost amount and tentative gain/loss - Stock Split: make compliant - Lot Viewer: Modify existing capability so that integrity can't be messed up. Also, it should not be available in menu for book-currency accounts. It currently has a problem where it seems to generate multiple Realized Gain/Loss entries under some conditions I haven't figured out yet. It will probably take me several months to get this done. As I said above, I welcome feedback/comments. Regards, Alex _______________________________________________ gnucash-devel mailing list [email protected] https://lists.gnucash.org/mailman/listinfo/gnucash-devel
