WishList

From GnuCash
Revision as of 14:34, 29 September 2007 by Doolin (talk | contribs) (Multiple "Commodities" per Account)
Jump to: navigation, search

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.

Projects

Some issues which are either big/important or for which some information has already been gaterhered have their own page:

Other issues which have been mentioned here but should be discussed in Bugzilla are:

Old discussions are archived on OldDiscussions.

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

http://bugzilla.gnome.org/show_bug.cgi?id=107282

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

Security

First let me say - I love GnuCash, I am a CPA and have an IT background and I love its functionality. I use it for my home finances as well as the formal bookkeeping application for our school's Cub Scout Pack and other organizations. However, I was wondering if the developers were planning on setting up functionality to password protect the application and related data files. Given the sensitive information maintained by GnuCash - password protection would be a big plus.


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.

Wouldn't the introduction of a number of druids sort out all (or at least most) issues regarding how to handle/record the various transactions with stocks?
  • Create one druid that will have to use when you create your commodity. This druid should create all the needed accounts for all possible actions (buy, sell, dividend, re-invest dividend, add shares, remove shares, etc) which are used by GnuCash's reports.
  • Create one or more other druids that will take care of the purchasing/selling/dividend etc transactions. Something like Money or Quicken. GnuCash should of course fill in the appropriate accounts in the background when you press apply.
By enforcing this common use of accounts, if would be much easier to create reports I think.
--Bengt 20060405
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.

Why not just store the stock quote as a buy/sell price. When you update the stock quote at the end of the day, you will get a Last Quote entry. If this is implemented, then when you import QIF files with stock purchase/sell your pricedb should be automatically updated with these prices.
-- Bengt 20060405

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 per 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.

    NOTE: I can assure you that this will never happen -- it would be a HUGE architectural change. The Account is a core object that collects a single commodity type. Changing that would be not only a HUGE undertaking but would require changing every tool and report, not to mention changing the UI in non-insignificant ways. So, don't hold your breath for this -- I don't think it will ever happen.

    Instead, I think we just need better tools to help users set up Brokerage accounts, druids to create the appropriate subaccounts and attach them together. Perhaps we can simplify the UI by combining the multiple per-commodity sub-accounts into one view.. But under the covers you can't get away from the 1:1 mapping.

    -warlord 2006-03-01

Here is a data point: I have 4 brokerage accounts. Each account has stocks, mutual funds, cash, etc.Doolin 10:34, 29 September 2007 (EDT)

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.

http://bugzilla.gnome.org/show_bug.cgi?id=353602 http://bugzilla.gnome.org/show_bug.cgi?id=165174

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)

See:
Attaching Images to Transactions

I would like to see the ability to attach images to transaction items. --Wookie 12:31, 6 January 2007 (EST)

See http://bugzilla.gnome.org/show_bug.cgi?id=336843 ; please add additional comments there. I'll delete this section soon again.
Scanning and OCR of receipts/bills/paystubs

I would like to suggest adding support for scanning in and OCR'ing receipts/bills/paystubs/etc for two reasons:

  • The scanned document images could then be attached to corresponding transactions for archival purposes (see wishlist item above).
  • It would make splitting transactions easier so that I can track sales tax, soc. sec. tax, property tax, etc if GNUCash could OCR the scanned document, highlighting amounts and asking for which account it applies to. --Wookie 12:31, 6 January 2007 (EST)
You mean, scanning of bills as an alternative data import function? Instead of importing data from a QIF file, you would like to import data from a scanned-in bill? Sounds... interesting, but certainly not in the near future. As a partial implementation step, one might write a program that scans and OCRs a bill and writes the result into a CSV or QIF file, which can then be imported into gnucash. --Cstim 04:50, 8 January 2007 (EST)

Commonly Requested Improvements

Minor 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.
  • Be able to select more accounts at one time, making it possible to delete many accounts at once. http://bugzilla.gnome.org/show_bug.cgi?id=343240
  • Make the delete key (on the keyboard) work for deleting accounts.
  • Be able to drag-and-drop accounts to another place http://bugzilla.gnome.org/show_bug.cgi?id=121695
  • 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.


End of financial year close issues

The standard way to run a set of books in a business is to enter transactions as they occur, or in batches daily or weekly, and then reconcile those transactions with statements and reports that come a few weeks later. For example, you may keep track of the deposits and withdrawals to a checking account on an event basis, but certain fees and adjustments may be missed until a bookkeeper receives the monthly bank statement, usually well into the next month, and reconciles the statement with the GL account.

Furthermore, many reports are performed after periods end, such as a monthly report on payroll to determine what tax to deposit, a quarterly report on payroll to complete government forms, and a full Income Statement (P&L) after a year has ended. These reports are inaccurate if performed during the period in question; they must necessarily be done afterwards, and often, after the period is reconciled.

This state of affairs requires that you keep your books for past periods open for a while before leaving them. Many accounting programs that limit your open history allow you to have 24 months open - 2 years - and support the ability to close the last calendar year when you are ready.

Imagine running your books - personal or business - to December 31. Now, you face January, and you want to be able to reconcile your statements for various accounts that will arrive in January for December or for October-December (Q4), and you want to be able to run reports on December, Q4, or the whole preceding year, for a little while, perhaps at least until tax day. However, you also want to be able to drop the last year after that, because the data takes up space and processing time, and you need not work with it all the time. You have a choice - you can open a new account and populate starting accounts, which is a nuisance and means you have to update the starting numbers any time you go back and change the old file, or you keep going in the same file and just accrue more and more data. The former is error-prone and the latter is slow.

What is needed is a built-in function of the application that can drop a chosen set of months at the beginning of the data set and summarize the activity into the starting balances for the remaining data so that an obsolete year can be cleanly dropped later on in the next year. This allows the application to support continous operation.

Invoice printing including font choice and Fancy invoice customisation

The Fancy Invoice is mostly customizable, now, as of 1.9.2. At least the contents of the report are obtained from the data as opposed to hard-coded in the report. Ideally we should just integrate something like e-guile and allow users to generate the HTML template with embedded guile.

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).

Islamic Financial Calculations

I would like to suggest adding support to Zakah/Khums. You know Muslims are supposed to pay a portion of their excess money every year to poor people. If this suggestion is approved we may need to start writing the formula needed to calculate the money someone should pay each year.

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.

Debtors and Creditors

There has been repeated discussion around the way debtors and creditors (customers in vendors in non-accounting terms) are implemented. The following as needed for international markets, but I believe many US users also need them:

  • The ability to create credit notes (the inverse of an invoice) for both vendors and customers. The is essential in real world business and changing invoices or bills to reflect credits is not an option. The accounting system should reflect what actually happened and when, not merely provide a summary. Allowing the entry of negative items in an invoice (resulting in a negative total amount) and well as negative payments would be an interim way of providing this.
  • The need to allow manual allocation of payments to invoices (and selectively pay parts of a bill) is also required. Once an items is paid for many vendors or clients indicate final approval of the transaction, but refusal to pay for a specific item would indicate non-acceptance of the transaction. GnuCash must be able to reflect this. Simply allocating payments to the ordest invoice works fine in most cases, but where the real world differs from this, the system must be amended to allow for this, not the other way round.
  • The lot number, indication which payment has been allocate to which invoice, should be exposed to a user. It will help, both when a customers reads a statement and when reading a vendor statement, tracking how payment were allocated.

Usability WishList

Transaction Entry Forms

The addition of a transaction entry form that would permit the use of drop down menus to determine transaction type and accounts, along with memory to pre-select accounts for certain types of payees would make Gnu Cash easier to use. I know this may ape some of what is in MS Money and Quicken, but it would be a big help in usability and "feel" for the user. It seems awkward to enter your transactions directly into the ledger rows - its seems somewhat hard to find the line when you have a whole lost of previously recorded transactions already posted.

I haven't used a green sheet in over 15 years.  ;>)

GNU Cash to go

For security I prefer doing online banking not in a browser and store program and data on an USB stick. So attacks can only happen when the stick is connected to the pc. And that is with private use but also in commercial environment not very often. Second advance, on travelling I can use my stick (mobile phone) too.

I think two version make sense. The one is a Linux on USB stick with GNU-Cash on it. And the second is a Windows version which could simply run from any USB-stick and store really all data including all TEMPs on the usb stick. (Please no U3 - just and simple USB-Sticks).

For security a built in encryption of program and data would be a good idea.

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.

Closing tab should focus the next tab to the left

Closing tabs in gnucash has unexpected behavior: focus is shifted to the first tab. To be consistent with other tabbed applications (e.g., Mozilla), focus should shift to the tab immediately to the left. The current behavior makes it cumbersome to close a bunch of tabs in a row--you close the tab, and then need to move to the next open tab, then close, repeat, etc..

User:jsled: The focus shifts to the last-selected tab; there is a stack of recently-visited tabs.

See also http://bugzilla.gnome.org/show_bug.cgi?id=346314

Ctrl-PgUp and Ctrl-PgDown Should Move Between Tabs Regardless of Focus

Similar to the previous suggestion, it should be possible to move between tabs without having to switch the focus to the tab bar. As in Mozilla, Ctrl-PgUp and Ctrl-PgDown should cycle through the tabs. (This works now if you first click on one of the tabs, but it should work even if the cursor focus is in the main window).

Using keyboard and drop downs to enter multiple transactions on one form

It should be possible to make multiple entries without having to use the mouse, on a single form. The current interface forces you to click on a confirmation button for each entry and then use a mouse to scroll down and select a category for each entry. This can be very time consuming if making many entries for the first time

User:jsled It is possible to enter multiple transactions without using the mouse. You can select the account with the keyboard, even if you need to use to menu (rather than completion). Also, there shouldn't be a confirmation dialog during normal transaction entry. Can you describe what you're seeing, and in what version of gnucash?
Invoice duplication option

I have a lot of invoices in which the items stay the same, only the prices change. An example is my phone bill. It always has the basic phone charge, and the long distance charges, the only thing that changes each month is how much long distance.

Selecting date in calendar popup

When entering a date by clicking the popup calendar, the popup should close upon day selecting.

Allow Sorting of Columns in Import Window

While importing QFX data for example the "Generic import transaction matcher" window presents "Date", "Amount", Description" columns to name a few. Dates are out of order, so are the descriptions. It would be nice to sort columns (at least date and description) by clicking on the column header.

This is already done in other windows; for example, the "Select Account" window that pops up when a transaction is double-clicked from the import window.

This has only been tested on Windows v. 2.1.2.

WONTFIX

Just in order to avoid any ambiguities, we'll move any wishlist item that definitely won't be implemented in gnucash into this section. ("won't be implemented" means: "will for sure not be implemented by any of the current developers"; if anyone starts the implementation himself, he/she is free to do so.)

Use through web browser

I am just starting a small business and I am trying to set up all of my business to be run remotely. This is because as the business expands all my employees will be working remotely. That, and I don't want my business reying on everyone using the same OS. So, I have a content management system and project management system that are hosted elsewhere and can both be accessed through a browser. The next wish is financial management run the same way. Gnucash is the closest I've seen to being exactly what I need.. if only I could access it through a browser.

We're sorry, but this "wish" would basically require to write a completely new program. GnuCash has been designed as a normal Desktop application from ground up, and it is completely impossible to adapt this into a webserver-based application. If you're really looking for a server-based software, SQLedger might be much more suited for your needs. In GnuCash, this won't happen (WONTFIX). See also some gnucash-devel discussion in April/May. --Cstim 04:56, 9 October 2006 (EDT)
If I recall correctly, gnucash was, by policy, never going to be available on MS Windows either. I would also very much like to move all my financial activity to web-based applications, but I do recognize the difficulty and potential risk. No hurry, no complaint, and thanks for the MS Windows version.Doolin 10:24, 29 September 2007 (EDT)
Hmm... speak for yourself. I'd love to expose (specific) functionality through a web interface. As well, it's not at all "completely impossible"; UIs should just be UIs over application logic. At the same time, I'm not actively working towards this goal right now, and there's a lot of distance between here and there. ---jsled
I'm really new to this all but I'd love to see some sort of online interface also. Possibly not fully powered, but enough where you could enter a transaction. Let's say you're out of town and use your debit card, go home, log in, create the transaction and when you get back home, everything is updated. Or your at a cafe with WiFi, take out your PDA, get online, browse to your site, and enter the transaction for the mocha you just bought. I think it would be very useful to help keep track of cash purchases and such. Being new, I'm not sure of the possibilities, but would you be able to use PHP with the QOF (see List of external software interfaces) library to update GNUCash? Has this been tried? (Or if Postgres support was better, PHP directly to Postgres) Any thoughts? --met1205 20:14, 2 March 2007 (EST)
QOF doesn't know anything about GnuCash internals ... think of QOF as somethhttp://lists.gnucash.org/pipermail/gnucash-user/2007-March/019720.htmling like glib. The best approach would be to use the SWIG bindings to get at the gnucash "engine" via your favorite scripting language. Jsled 11:45, 3 March 2007 (EST)
The recently announced Python bindings could be a good start in the direction of a web interface. --Bastiaan 10:34, 21 March 2007 (EDT)

One of my favorite features of Quicken was WebEntry, which let users enter transactions in a web browser for later download to Quicken. I'd like to build a lightweight (mobile-friendly) web interface that can turn user input into data suitable for import into GNUCash. J2xl 13:01, 24 September 2007 (EDT)