[GNC-dev] Data Model Schema

Scott Morgan scott at adligo.com
Sat Aug 20 15:06:32 EDT 2022


Hi John,

  Well, I did some work building an open source Java Accounting Model (
adligo.org) a few times of the past two decades.  Now I find my self using
QuickBooks online, so I have been looking for some collaborators and
gnucash seems like the most successful project out there.   The enriched
metadata would allow me to build ETL tools to go back and forth between
QuickBooks, my system and gnucash.
  In my opinion accounting systems are basically the evolution of / fancy
spreadsheets.  The main difference is the way transactions are linked in
double-sided accounting.  Longer term I'm hoping for some sort of
import-export standardization of accounting data.    The current standard
seems to still be CSV files, which have problems binding the accounts
together.  You can do this by tracking source systems and source Ids.  But
it's still fairly painful.
  So I figured I would start looking at the model you all were using inside
of GnuCash.

On Sat, Aug 20, 2022 at 11:51 AM john <jralls at ceridwen.us> wrote:

> The SQL Schema is laid out in https://wiki.gnucash.org/wiki/SQL. There's
> an attached ERD, but note that it shows secondary keys and auxiliary tables
> that indicate how GnuCash treats the data once it's loaded. The actual
> schema defines only a few secondary keys and the data represented in the
> auxiliary tables is actually stored in the slots table. Also keep in mind
> that we're still using the both backends as an object store.
>
> What enriched metadata are you looking for? How will having it benefit
> GnuCash?
>
> It seems rather presumptuous of you to unilaterally declare your intended
> derivative project a sibling.
>
> Regards,
> John Ralls
>
> IOn Aug 17, 2022, at 9:06 AM, Scott Morgan <scott at adligo.com> wrote:
>
>
> Hi All,
>
>   Is the Data Model, / DB Schema stored somewhere with enriched metadata?
> If not I would like to volunteer to do this work, in part because I'm
> probably going to create a sibling Java project at some point to share the
> schema / data model.
>
> Cheers,
> Scott
>
> On Wed, Aug 17, 2022 at 11:00 AM <gnucash-devel-request at gnucash.org>
> wrote:
>
> Send gnucash-devel mailing list submissions to
>        gnucash-devel at gnucash.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
>        https://lists.gnucash.org/mailman/listinfo/gnucash-devel
> or, via email, send a message with subject or body 'help' to
>        gnucash-devel-request at gnucash.org
>
> You can reach the person managing the list at
>        gnucash-devel-owner at gnucash.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of gnucash-devel digest..."
>
>
> Today's Topics:
>
>   1. Re:  Database abstraction (john)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 16 Aug 2022 09:15:46 -0700
> From: john <jralls at ceridwen.us>
> To: Thomas <tduellmann+gnucashdevel at gmail.com>
> Cc: gnucash-devel at gnucash.org
> Subject: Re: [GNC-dev] Database abstraction
> Message-ID: <B25CDEDA-378C-42BF-A33B-CC8A8D1600BF at ceridwen.us>
> Content-Type: text/plain;       charset=us-ascii
>
>
>
> On Aug 16, 2022, at 4:54 AM, Thomas <tduellmann+gnucashdevel at gmail.com>
>
> wrote:
>
>
> Hello everybody,
>
> for quite some time I am interested in doing some simple queries against
>
> the data I have in my GnuCash books that I found hard to specify in custom
> reports or the like.
>
> As I have some technical background, I was thinking whether there is
>
> some DB abstraction that allows easier queries than the core database model
> behind GnuCash. At least for me, it would be easier to write some Python
> code or SQL queries rather than writing a custom GnuCash report tbh.
>
>
> So a representation closer to the visual representation in GnuCash where
>
> it is easier (without countless JOINs for example) to make queries (e.g.,
> get all transactions in a specific account that are higher than a certain
> amount).
>
>
> I'd appreciate any kinds of hints on what you would use for such
>
> purposes!
>
>
> Thanks a lot in advance!
>
>
> For that specific example you could use the Python bindings to call
> xaccAccountGetSplitList() and filter the result by amount in a list
> comprehension. The API docs at https://code.gnucash.org/docs/MAINT are a
> good place to discover more functions like that.
>
> Regards,
> John Ralls
>
>
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
>
> ------------------------------
>
> End of gnucash-devel Digest, Vol 233, Issue 6
> *********************************************
>
>
>
> --
> Regards,
> Scott Morgan
> President & CEO
> Adligo Inc
> http://www.adligo.com
> https://www.linkedin.com/in/scott-morgan-21739415
> A+ Better Business Bureau Rating
> <
> https://www.bbb.org/chicago/business-reviews/computer-software-publishers-and-developers/adligo-inc-in-chicago-il-88381256
> >
> https://github.com/adligo
>
> By Appointment Only:
> 1-866-968-1893 Ex 101
> scott at adligo.com
> skype:adligo1?call
> Send Me Files Securely:
> *https://www.sendthisfile.com/f.jsp?id=ewOnyeFQM18IDRf7MMIdolfI
> <https://www.sendthisfile.com/f.jsp?id=ewOnyeFQM18IDRf7MMIdolfI>*
> https://discord.com/
> Adligo#3066
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
>
>

-- 
Regards,
Scott Morgan
President & CEO
Adligo Inc
http://www.adligo.com
https://www.linkedin.com/in/scott-morgan-21739415
A+ Better Business Bureau Rating
<https://www.bbb.org/chicago/business-reviews/computer-software-publishers-and-developers/adligo-inc-in-chicago-il-88381256>
https://github.com/adligo

By Appointment Only:
1-866-968-1893 Ex 101
scott at adligo.com
skype:adligo1?call
Send Me Files Securely:
*https://www.sendthisfile.com/f.jsp?id=ewOnyeFQM18IDRf7MMIdolfI
<https://www.sendthisfile.com/f.jsp?id=ewOnyeFQM18IDRf7MMIdolfI>*
https://discord.com/
Adligo#3066


More information about the gnucash-devel mailing list