GnuCash Wishlist


Online Banking
Online download of statements
I would like to be able to give GnuCash my bank information, and have it connect to my bank's OFX server and download the most recent transactions for the account. Ideally, there would be a standalone agent that could be run periodically (via cron, or through Gnome somehow?), download statements, and dump them in an import bucket (see below) for import the next time GnuCash is run.
Online execution of bill payment and transfers
Similar to online download. By communicating to a bank via OFX requests, GnuCash would be able to schedule bill payments and transfers between accounts. This should be integrated with the scheduled transaction editor, to allow a user to setup an electronic payment through their bank at the time they set up the scheduled transaction if they choose.
Integrate online transactions more tightly with the account register
Rather than have a user select "Actions / Online Actions / Issue Transaction", perhaps a "transaction type" field could be added to the register. When an online transaction type is selected (for OFX, either Apay or Epay), the user will be prompted for any additional information beyond what is entered in the register itself, and an online task to send the payment will be created to be sent the next time the user synchronizes with the bank (see next item).
Merge all online bank communication into one interface
All online transactions should be sent/received through one user interface. i.e., when a user selects "Synchronize with bank" or something, this would send all pending OFX bill payments, download all available OFX statements, download HBCI transactions, send pending HBCI payments, etc. The user would be able to review and override each scheduled synchronization task (i.e., don't download statements for account A, just send payments).

Logically, setting up online communications should take place through a single druid as well, whether your bank speaks OFX or HBCI.
Add an online_id slot for each split, rather than one per transaction
If you transfer money from one account to another, and download OFX statements from each one, the transaction importer will overwrite the online_id each time, making it forget it imported it the next time. There should be an online_id stored for each split, not just one per transaction.
Scheduled transactions
Replace "Since Last Run" with "Upcoming Transactions" view
The "Since Last Run" screen could be made much more useful and flexible. Instead of just listing the transactions due (or past due), provide a list of scheduled transactions in the next month (or two, configurable). This gives you a much better warning of what is coming due. Double-clicking on a transaction opens a transaction entry window, or deleting it will skip that occurrence of the scheduled transaction (equivalent to the current "Ignore").

Another advantage with this is that it provides an easy way to do short-term cashflow forecasting. For example, if you highlight an upcoming transaction (or several transactions) drawn off of the same account, this view can easily display the predicted balance after those estimated transaction amounts are deducted from the current account balance. This would be a fast way to see how much spending cash is left in a checking account until the next paycheck, for example.
Integrate transaction importer with scheduled transactions
The transaction importer could work with the new "Upcoming Transactions" view (above). The importer could match against not only existing transactions, but also upcoming transactions. If it finds a potential match in the upcoming transactions, it can prompt the user to import it as that transaction, removing it from the upcoming transaction list.
Integrate scheduled transactions with online banking
When creating a scheduled transaction, the user should be able to choose an online transaction type - either a recurring automatic payment, or a single electronic payment each time. If automatic payment is selected, this recurring payment will be created with the user's bank at the next synchronization. If electronic payment is selected, the user will be prompted to enter the payment amount and details every time an instance of the scheduled transaction is about to be created, which will then be sent to the bank at the next synchronization. Both methods require adjusting the scheduled transaction date (according to bank guidelines) to account for payment delivery delays.
Transaction importer
Add a "statement import bucket"
The "import bucket" is a holding area for statements that are ready to be imported. When GnuCash is started, the statements are analyzed and logically merged into one statement per account. On the user's request (perhaps a notification can be displayed on an overview page?), the user can go through each account's statement in the transaction importer, at which time the reconciled transactions are removed from the bucket.

Since the import bucket probably doesn't require any GnuCash-specific code until the statements are analyzed, hopefully this will allow external processes to drop off statements for import without actually running GnuCash.
User interface
More informative account overview screen
Rather than presenting just a list of accounts when GnuCash starts, it would be nice to provide an overview of your finances. This could include things like:

  • A few user-chosen accounts and their balances
  • A list of upcoming bills / scheduled transactions in the next 10 days
  • A notification of any new statements in the import bucket
  • A graph or chart of your financial situation
  • Messages or warnings from any other modules, if/when available (budget planner, etc)

This might make the most sense to be in a web-page-like layout. This area is something I think Quicken and Money really do well.