2008-10-01

jGnucashLib - Java-Gnucash library, viewer and scriptable editor with Plugins

Hello,

it could be interesting for you, that version 2.0.0 of jGnucashLib is released.
(actually even 2.0.3)

http://apps.sourceforge.net/mediawiki/jgnucashlib/index.php?title=Main_Page

In prior GPL-versions you could only read gnucash-files with your own
java-programs.
Now you can do so much more:

* jGnucashLib can read and write and used the features of Java6.
(Use it to write your own programs that utilize gnucash-files)
Uppon chances in a gnucash-file everything else including line-breaks
is kept. The library has proven itself to be completely safe in years of
daily use.
If you don't trust it not to damage your data or want to debut sth.:
UnGZip the file before and after the change and do a diff. You'll
see meaningfull output.

* jGnucashViewer is a standalong viewer as a directly executable jar-file.

* jGnucasEditor is where it gehts interesting.
It is not a replacement for Gnucash but a simple editor acting as a frame
for plugins and scripts to automate accounting-tasks..
The most important plugin up to now is the HBCI-homebanking-plugin:

HBCI-transactions are not only booked in a gnucash-account representing your
bank-account and everything goes to "expenses-other", no. For repeated
types of transactions you can have regular expressions and scripts in any
of a large number of scripting-languages..

common things:
* Existing transactions that are simply a day or two off will be moved to when
the bank says they actually happened.
* Transactions that apear in the gnucash-file but not on your bank-account will
be marked with a TODO-comment.
* Transactions with a comment TODO, NAK, OK and unbalanced transactions
are highlighted in different ways to make them stand out.
* After every day that contains newly imported transactions a new, empty
transaction is added with a comment telling the account-saldo as the bank
says it is, as gnucash says it should be and the difference. (To
easy the manual work)
* Imported transactions contain the original-HBCI-data in an invisible attribute
that is not touched by Gnucash. This way they can be associated with
their hbci-
transaction in later HBCI-imports.

scripts:
* Every script has a regular expression and is run only on newly imported HBCI-
transactions that match thus expession.
(e.g. ".*ARAL.*" -> run script to book sales-tax and net-value to 2
acounts given in the script)
* For very easy cases you can just give an alternate target-account to
book the value to instead of
running a full script.
* Every of the numerous scripting-languages used by JSR223-scripting can be used
(defaults to Javascript but alsoPHP, Python, Perl, ... can be used).
* Scripts can access the gnucash-data and any external data with no limits
(e.g. to find out if and how much reserved have been booked for an order or
to set the status of a detected CoD-payment on an external web-site)

script-editor:
* There is a script-editor that openes if wanted to every time no
existing script is matching
and you choose to write a new one.
* The editor marks the regular expression depending of it matching the
current transaction
or not.
* The editor can test-run scripts on an empty gnucash-file while
implicitely creating any
account requested via getAccountbyID or getAccountbyName and show
resulting transaction(s)
the script generated.

examples for using the existing plugins:
* book known, repeated transactions with the correct sales-tax
* When financial authorities take tax-money from your account, split it
into the different taxes by parsing the description-text.
* Split payments to your insurance-companies the same way when they
have combined the payments for multiple insurances in one transaction,

examples for future plugins:
* parse PDF and text -invoices/paypal/ebay-emails, credit-card-statements,...
and book them with minimal human efford
* automatically book inventory-deviations
* automate payments for ebay-sales and associate them with the sale.


Have fun with it,
Marcus Wolschon

1 Kommentar:

Anonym hat gesagt…

Stop hack the program!!!