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.