The Gnucash database?

Robert Heller heller at deepsoft.com
Mon Jul 19 14:33:17 EDT 2004



In message <071920041758.10744.40FC0BD6000BDECE000029F822007503309C00040D at comca
st.net>, blfs at comcast.net writes:
>
>
>
>
>-------------- Original message -------------- 
>
>> "blfs" writes: 
>> 
>> > 
>> > I glanced through the OFX stuff on the net. 
>> > 
>> > There must be code out there somewhere that converts 
>> > text to OFX. I dont know anything about QIF or 
>> > OFX but they seem like very different applications. 
>> > 
>> > OFX is for secure transactions over the net and I would 
>> > think it would be rather limited. QIF is an out of the box 
>> > financial program I understand with limited security. 
>> > 
>> > It would seem to me that the most natural way to write 
>> > Gnucash would be to write it for a flat text file in the Unix 
>> > tradition. If it is not trivial to translate a flat text file to 
>> > the format required for Gnucash that is a rather serious 
>> > design flaw. I can certainly load a flat text file into any 
>> > database I know of with relative ease. 
>> > 
>> > I must be missing something here. 
>> 
>> You are. Gnucash IS NOT A DATABASE!!!! 
>> 
>> Go read the archives. 
>> 
>> -derek 
>> 
>> -- 
>> Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory 
>> Member, MIT Student Information Processing Board (SIPB) 
>> URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH 
>> warlord at MIT.EDU PGP key available 
>If you cant query the data easily loaded into the Gnucash program
>without using the Gnucash interface that is a problem.  I have installed the
>program and read a little about it, but I am really stuck on this point that
>it cannot import a plain flat text file.  I dont understand this.  
>
>Further, if Gnucash is a financial program it is a database no matter how
>you want to define database this type of program has to be one.  It
>is impossible to have a financial program that is not a database.

'database' is a deceptively simple term.  There are simple databases,
that are basically 'static' 2D arrays (one dimension is the 'columns',
which are field names', the other dimension is the 'rows', the tupple
numbers), where each row (tupple) is an *isolated* instance.  If
Gnucash worked with this sort of database (which seems to be what you
are thinking about), then your problems make sense.  OTOH, some
databases are more complex.  In the case of Gnucash the database is
more than 2D, it is effectively three or more dimensions.  There are
muliple sets of rows of tupples. Each set (or table) is an account. For
any transaction, (at least) *two* tupples exist, in (at least) *two*
tables (accounts).  This is basic double-entry bookkeeping, which is what
Gnucash does.  Note that all of the tables (accounts) are *ordered* in
date order.  Any one account, *by itself*, makes no sense, since *every*
transaction references at two accounts.

The only kind of file Gnucash can import is a *transaction* file (such
as QIF, which is what Quicken exports).  This sort of file, although a
text file, is not really a 'flat' database file.  Each record actually
describes a *pair* of matched (and balanced) tupples, in two *differnt*
tables (accounts) -- a 'debit' tupple and a 'credit' tupple. For
example, a checking account (an asset account) and your electric bill
(an expense account).

Yes, Gnucash has a 'database' (in normal mode, stored in an XML file),
but it is not a *simple* database.  This is probably what is causing
you confusion.

What does your 'flat' text file look like?  Is it something like:

date,transactionid,description,status,debitaccount,creditaccount,amount

Then it should be possible to write code to import this sort of file,
but each item will affect two accounts (tables).  This is somewhat
non-trivial. 

>MIME-Version: 1.0
>
>_______________________________________________
>gnucash-user mailing list
>gnucash-user at gnucash.org
>https://lists.gnucash.org/mailman/listinfo/gnucash-user
                                     \/
Robert Heller                        ||InterNet:   heller at cs.umass.edu
http://vis-www.cs.umass.edu/~heller  ||            heller at deepsoft.com
http://www.deepsoft.com              /\FidoNet:    1:321/153


More information about the gnucash-user mailing list