During the time of "vacation" on the Gnucash list, I got my hand on a
financial accounting book which I read.
I found a lot of information about reports (among other things) and I
draw the following conclusions:
First, financial reports are the main reason why one should keep track
of his finances. If they are corectly done, they can provide relevant
information about one's financial status.
Report generation has three phases: (1) creating the accounts and
recording of the transactions, (2) adjusting the accounts and (3)
generating the reports.
(1) Creating the acocunts and recodring the transactions is what
Gnucash already does. However a good organisation of the accounts
is still left to the users. At this point some help sould be
provided to the user to have a clear account structure.
(2) Adjusting the accounts means entering some transactions that are
not really occured, to reflect some internal changes. I will
ilustrate this by an example:
--
Suppose you buy a cellular phone for $120. This is not an expense,
but rather the aquiring of an asset. So you create an asset
account "Cell Ph" and record a transfer of $120 from your bank
account to the "Cell Ph' account. Unfortunately the value of the
phone won't be $120 forever, but it will decrease. If you do
nothing, after 6 months your equity will be incorect, showing a
$120 value when the assets value is smaller.
The thing to do is to decide on the period of use for the asset,
(let's say 1 year for the phone) and divide the value of the asset
to the number of months ($120/12 = $10). Now each month record a
transaction of $10 from the "Cell Ph" account to the expense
account. Now this transaction didn't occur in the real world (you
didn't use $10 of your phone in a month), but now the asset
account for the phone will (almost) corectly show the value of the
asset.
--
This kind of transactions can be automated, and it is important
because the user that does not have accounting knowledge will find
automatic transactions hard to understand/use
(3) Financial reports are quite standard and their creation can be
automated. However there are some points when the program has to
ask the user for information. One such point would be the grouping
of the acocunts (if you have a lot of asset accounts, you would
prefer to report a single asset account showing the sum of all
balances in the accounts).
In its curent form, Gnucash can be used by someone that has good
knowledge of accounting to corectly create the accounts, record
transactions and adjusting accounts, with the "export to spreadsheet"
feature added, this person could easily create good financial reports.
However, I believe that Gnucash sould provide help to the user. That
is, I would like Gnucash to be an accountant for the user, not a tool
for an accountant. In order to achieve that, I believe the following
sould be added:
-- advice for corectly creating the accounts and recording
transactions (wizzards?)
-- automatically record account adjustements (most cases can be
detected and the questions to the user are standard)
-- semi-automatically generate reports, and export them to HTML, or
Gnumeric.
I have already thought of a framework to achieve that, and if there is
some interest in that I can present it.
Best regards,
haral.
Christopher> A thought that comes to mind is to push reporting out
Christopher> to a separate process, let's say, a spreadsheet
Christopher> package. Let's say, Gnumeric.
Christopher> This diminishes *dramatically* the complexity of what
Christopher> needs to be in the main GnuCash program.
Christopher> In more detail...
Christopher> - Have GnuCash generate output in the form of a
Christopher> spreadsheet.
Christopher> - Perhaps this could use the XML data format used
Christopher> by Gnumeric, hmmm...
Christopher> - GnuCash would then have a
Christopher> *not-driven-by-source-code-intimacy* dependancy on
Christopher> Gnumeric.
Christopher> Note that this would solely mean having an XML
Christopher> generator as a part of Gnumeric, which is not a
Christopher> particularly onerous thing; this mandates *no*
Christopher> libraries, *no* APIs, nothing overtly nasty to
Christopher> integrate.
Christopher> It only mandates creating a file. If there were a
Christopher> library, it would be one that GnuCash would *create,*
Christopher> not one that it would need to depend on from
Christopher> elsewhere.
Christopher> Note that this has the added merit that the data that
Christopher> gets pushed out gets pushed out in the form of
Christopher> reported numbers, rather than as a "dumb" HTML table.
Christopher> In other words, the spreadsheet can then be
Christopher> manipulated further, with financial data remaining as
Christopher> financial data.
Christopher> That is much better than getting output as an HTML
Christopher> table, where really the only thing you can do with
Christopher> that is to display it or print it, and "cut/paste"
Christopher> isn't terribly meaningful.
Christopher> I am quite serious here; note that GnuCash is coming
Christopher> close to requiring GNOME, which means that requiring
Christopher> Gnumeric requires few if any additional dependancies.
Christopher> Heading to "woo-woo" land would be to create
Christopher> something like the Excel notion of "pivot tables,"
Christopher> where one spreadsheet would contain detailed data,
Christopher> and another sheet would allow there to be different
Christopher> "views" of this data. That's something that Gnumeric
Christopher> doesn't presently support, which is arguably a *bug*
Christopher> in Gnumeric, which I have reported, but which has
Christopher> thus far been ignored...
--
--
Gnucash Developer's List
To unsubscribe send empty email to: [EMAIL PROTECTED]