Difference between revisions of "WishList"

From GnuCash
Jump to: navigation, search
m (Reports UI: properly now)
m (Reports UI: more details)
Line 244: Line 244:
 
The engine used for the graphs is "GnomeOffice Graph" (GOG for short, in libgoffice). It is mainly shared by gnumeric and gnucash, which both seem to keep copies of the tree in their own respective trees. Modify with care.
 
The engine used for the graphs is "GnomeOffice Graph" (GOG for short, in libgoffice). It is mainly shared by gnumeric and gnucash, which both seem to keep copies of the tree in their own respective trees. Modify with care.
  
Handling clicks seems to be supported: try the second page of the Graph 'guru'. Code for this can be found in [http://svn.gnucash.org/trac/file/gnucash/trunk/lib/goffice-0.0.4/goffice/graph/gog-guru.c goffice/graph/gog-guru.c], more specifically in the graph_guru_set_page and cb_canvas_select_item functions.  
+
Handling piechart clicks is also done on the second page of the Graph 'guru'. Code for this can be found in [http://svn.gnucash.org/trac/file/gnucash/trunk/lib/goffice-0.0.4/goffice/graph/gog-guru.c goffice/graph/gog-guru.c], more specifically in the graph_guru_set_page and cb_canvas_select_item functions. This seems to draw the chart on a [http://svn.gnucash.org/trac/file/gnucash/trunk/lib/goffice-0.0.4/goffice/cut-n-paste/foocanvas/foo-canvas.h FooCanvas] which supports button_press_event signals. GogPiePlot objects don't support this themselves, so we need to add the callback after rendering it to a pixmap.
  
--[[User:Raboof|Raboof]] 18:17, 29 December 2005 (EST)
+
report/report-system/html-piechart.scm adds a piechart object to the report, gnome-utils/gnc-html-graph-gog.c binds the gnc-guppi-pie handler.
 +
 
 +
--[[User:Raboof|Raboof]]

Revision as of 11:30, 30 December 2005

Note: The main place for submitting enhancement requests is the bugzilla database, see Bugzilla. Use this query for a direct list of all currently open GnuCash items.

GnuCash Wishlist

This page is intended as an edited list of enhancement requests for GnuCash. This page needs some heavy editing -- please go a head, sort and regroup items as you think.

Some Wishlist items

Reliability

The very first time that I started using Gnu Cash, after I had spent about an hour and a half entering receipts from my wallet, it crashed (when I tried to access Help, which Fink had not installed). Because I was used to Quicken, I had not expected to have to "Save" my work. At that time I did not know about Gnu Cash's faciility for manually replaying logs, so I swore, considered abandoning Gnu cash to return to Quicken, but reentered the data.

By the next day I had learned about Gnu Cash's logs. I am still surprised that the need to recover by repplaying a log is not automatically detected. It should be.

But even now, a month later, I still get about one Gnu Cash crash a week. Of the two occasions I have attempted to repplay the logs, one time succeeded and the other tiime failed.

I believe that this is a major shortcoming for Gnu Cash.

Quicken has a transactional model: every tiime you hit the ENTER key, what you have entered is stored to disk, probably in a log file. I have never lost data entered into Quicken, even though I have had crashes. Quicken does not even have the concept of "Saving" your work.'

Professor David DeWitt of University of Wisconsin Computer Science, a fairly prominent man in the database community, has said that he believes that this user level transactional behaviour, guaranteeing almost no loss of work, was one of the biggest factors in Quicken's success.

I do not know why users might accept the requirement of "Save" in a word processor, but not in an accounting program. But Quicken has set expectations here.

Improving Gnu Cash's reliability will require ensuring

  • the need to repplay a log after a crash is detected

but, also

  • an intense reliability testing program, inserting errors and ensuring recovery.

I know: this is Open Source. I am about to volunteer.

Easier Setup of Stocks

I like Gnu Cash's use of an arbitrarily nested accounts tree. I like beiing able to set up a separate subaccount for each stock in a brokerage account.

However, it is a bit painful to HAVE to do so... to have to set up a new coommodity for the stock, and then an account corrresponding to it.

Wish: I would like accounts such as brokerage accounts to be able to contain multiple commodity types, i.e. multiple stocks. I would like to be able to have a single transaction that deducts cash and adds a commodity like the stock purchased to the account.

I think it would be perfectly fine if this operated behind the scenes by creating subaccounts. With queries "are you sure?" I basically want to automate the process.

Implied Stock Price History

When I enter a Buy or Sell transaction, it should be possible for the price recorded to be automatically entered into the price history.

Perhaps only optionally, since occasionally the price in a transaction has no relationship to the fair market value on that day. But at least optionally, since often it does.


Multiple "Commodities" per Account

Many of my suggestions about easier handling of Brokerage and other stock market accounts would be addressed if it were permissible to have more than one commodity type peer account.

E.g.multiple stocks, plus cash, in the same portfolio.

As mentioned above, I think it is great to implement this by subaccounts. Just automate and facilitate the handling.

Another situation that might be addressed by this includes keeping track of basis for capital gains reporting. Again, it is possible to do this by creating a separate subaccount for the accoount that holds the stock, but there's a lot of footwoork involved.

Multiple Views - not just hierarchical account tree

Gnu Cash's arbitrarily nested account tree is a wonderful improvement over Quicken's accounts and categories. Deep hierarchy capability is better than 2 level hierarchy.

But multiple hieerarchical views is better still.

For example, one typically has several accounts associated with a piece of property, say /Asset/Real-Estate/Property1, /Expense/Real-Estate/Property1, /Liability/Real-Estate/Property1/First-Mortgage, etc.

Sometimes one wants to roll things up by asset/expense/liablity; sometimes one wants to look at /Property1/{Asset,Expense,Liability}; i.e. one often wants to pivot path elements in the tree.

One of the big reasons that I want to use Gnu Cash is the hope that I can code up this sort of flexible viewing of accounts and data.

Another examples: source of account / type of account / company holding account. I have several accounts that are associated with different employers, past and present: e.g. Motorola/401K, Motorola/Pension, Motorola/ESPP, Intel/401K, Intel/SERP, Intel/ESPP, Intel/Options AMD/401K, AMD/ProfitSharing, AMD/ESPP, AMD/Options.

Sometimes I want to see these by company.

At other times I want to see these by type - e.g. 401K/{Motorola,Intel,AMD}, Options/{Intel,AMDD} etc.

Similarly, some of these accounts are managed by various of the big finanicial firms.

E.g. AMD/Options is managed by eTrade OptionsLink. But I also have two other eTrade accounts.

Intel/401K is currently managed by Fidelity, although it has been managed by other companies in the past. But I have Fidelity accounts from several other sources.

Sometims I want to look at all of my Fidelity accounts at the same time

Fidelity/Intel/401K Fidelity/Motorola/Options

but note: it is not meaningful to place the admin in the path, since at any point in time Amd/Options only has eTrade as the admin.

Change Tracking

Accounts get sold from one company to another. Employers change the adminsitrators of retirrement accounts - tooday its Fiddelity, tomorrow eTrade. Even within the same company, account numbers get changed: eTrade renumbered everyone last September.

It would be good if Gnu Cash allowed us to keeep track of such changes. Instead of just a single acccount number, it might allow the account number to be versioned. Similarly contact info.

Mysellf, I like wikis - link too arbitrary text, perhaps with particular fields. Or, the model of old InfoCentral: an account is a relationship between a company like Fidelity and a human. There may be multiple such relationships. Rellationships don't last forever.

Export an API

I would like to see a simple libgnucash, for a programmer's interface to the program. I'm not sure how much work this would really take, but I would find it pretty useful to be able to query an accounts present value, list transactions, enter transactions, et cetera programmatically.

--Jdoverholt 11:31, 3 Dec 2005 (EST)

Minor wishlist items

Account Tree Fields, Reordering

I would like to be able to see the Total value in the reporting currencyy as the leftmost fieldd in the account tree.

Of course, overall a general mechanism to specify field ordering in such displays.


Some wishes after working with GnuCash for a short time:

  • Be able to select more accounts at one time, making it possible to delete many accounts at once.
  • Make the delete key (on the keyboard) work for deleting accounts.
  • Be able to drag-and-drop accounts to another place
  • When accounts are changed in the main window, the accounts in the transaction screen (general ledger?) are not updated.
  • The - (minus) key on the keypad can not be used for entering dates, which is an annoyance.

Sjoerder 07:33, 10 Nov 2005 (EST)

Disclaimers

I (andy@patten-glew.net) am taking the liberty of starting a wishlist for Gnu Cash here. I am, of course, starting off with a personal wish list of features that I have found. I do not expect my personal wishlist to have any weight, unless others have similar requests.

I would not be at all surprised to learn that there is an official place for such feature requests. I have not found such an other place and, since I am a longtime wiki user, I think that it is a good idea to create such wishlists in a wiki, where people can brainstorm on features.

I would not be at all surprised to learn that some of the features I am wishing for are present in Gnu Cash, probably under some name other than what I was looking for. In which case the wish can be considered a bug report against the documentation and help system.

My background: I am not an accountant, although I have taken accounting courses, was married to a CPA, and have picked up a lot of accounting along the way. I am a long-time user of Quicken (>10 years). I only started using Gnu Cash about a month ago, frustrated at Quicken and Microsoft Money's lack of features and programmability. I am using Gnu Cash 1.8.9 on an Apple iBook G4, running OSx. (In case anyone is interested, I bought the iBook largely to run Gnu Cash, having been frustrated by Linux on laptops.)

While I am a long-time wiki user - I started off using the Ward Cunningham's original wiki at http://www.cc2.com as an XP wannabe, have evangelized wikis at both Intel and AMD, and have used moin-moin, zwiki, usemod, and, mostt heavily, twiki - I am new to mediawiki, so apologize for inappropriate formatting. In particular, I have not been able to figure out how to create lists in this wiki yet.

Grace as a charting engine

We have replaced guppi with GOG, but it might still be worthwhile to consider moving to grace, a graph producing utility with a nice GUI. See the gallery for an almost insane multitude of possible graph styles including 3-D. Output to SVG, PNG, PS, PDF

Commonly Requested Improvements

End of financial year close issues
Invoice printing including font choice and Fancy invoice customisation
Connecting with PalmOS
Choosing a customer or vendor when doing invoices or payments is clumsy

This also applies to choosing an invoice, and perhaps other things. As it is now, a user has to go to Business->Customers->Find Invoice, fill in search criteria, press the Find button, click an item in the results, and finally click the View/Edit Invoice button.

Why not instead make the path Business->Customers->Open Invoice, and open a dialog with a type-ahead search (similar to choosing accounts in the ledger fields) on the invoice number (or customer name, or vendor name, etc.) by default. A button somewhere in the dialog could open a more comprehensive search function.

Come to think of it, I'm almost always looking for unposted invoices in my books. So maybe a default dropdown list containing only unposted invoices? I guess a good way to summarize this RFE is to make opening a customer, vendor, invoice, etc. for editing a two-click operation -- maybe even a one-click operation if we add dropdowns to the toolbar (should be customizable).

Cheque printing
Quickbooks import capability
Multi-user version
Language

I would maybe like to suggest as a requested feature that the language settings be part of the preferences menu option as a better way of setting the operating language of GnuCash. I would like to invoice clients in both French and English.

Usability WishList

Move close button to tabs

Personally I'd like Edit->Preferences->General->"Show close button on notebook tabs" to be enabled by default, and have that option remove the 'big' Close button. Input from a usability expert is desired.

Projects

Create a context-sensitive help system.

GnuCash can be an intimidating program, at times, in part because it exposes enough complexity from double-entry accounting to be dangerous. One way in which this could be relieved is a conditional-display context-sensitive help system. For first-time users, or on-demand, a sidebar or top-bar containing a short summary of the dialog or window being viewed could come into place. This help-pane should provide a very brief discussion of the goals and terminology used in the dialog, with hyperlinks to more detailed help.

Answer from current developer: This will probably be a lot easier after the Gnome2 port is completed, which will take well into mid-2005. After that, the Gnome2 internal context-sensitive help mechanism can be used for this.

Implement an option that permits to edit a report's preferences 'before' elaborating the report

This will be extremely useful in the cases where a user have many accounts and many transactions: in that case the elaboration of the report could last many minutes, and eventually produce a output that isn't what the user wanted to see.

Reports UI

The graphical reports are nice, but they used to be clickable. I'm going to try my hand at making more stuff clickable again :)

The engine used for the graphs is "GnomeOffice Graph" (GOG for short, in libgoffice). It is mainly shared by gnumeric and gnucash, which both seem to keep copies of the tree in their own respective trees. Modify with care.

Handling piechart clicks is also done on the second page of the Graph 'guru'. Code for this can be found in goffice/graph/gog-guru.c, more specifically in the graph_guru_set_page and cb_canvas_select_item functions. This seems to draw the chart on a FooCanvas which supports button_press_event signals. GogPiePlot objects don't support this themselves, so we need to add the callback after rendering it to a pixmap.

report/report-system/html-piechart.scm adds a piechart object to the report, gnome-utils/gnc-html-graph-gog.c binds the gnc-guppi-pie handler.

--Raboof