boox 0.4.1 Beta

A very simple Java API for double-entry book-keeping.

  Add it to your Download Basket!

 Add it to your Watch List!


Rate it!

What's new in boox 0.4.1 Beta:

  • added the ClerkGroup class to handle bulk permission administration
  • revisions to the Permission class
  • Permission properties now configurable via the xml accounts configuration file
Read full changelog
send us
an update
GPL (GNU General Public License) 
ROOT \ Database \ Database APIs
boox is a very simple Java-based database API for double-entry book-keeping. Data is stored in a SQL database - boox has been developed and tested with postgresql, but should work with any other SQL database for which a jdbc driver is available.

There are six levels of access applicable to every Clerk/Ledger combination.
Three are write permissions:

- canCreateAccounts;
- canCredit;
- canDebit;

and three are read permissions:

- canBalance;  - read ledger balance only - implied by:
- canRead;  - read account balances within ledger, implied by:
- canAudit; - read transaction details on accounts within ledger.

The Auditable and AuditElement interfaces have been added.

Using Boox

Drop the two jars (Boox and utils) into your classpath, satisfy the dependencies, and make sure the configuration files are present, correct and readable.


Boox and utils depend on the Apache Commons connection pooling libraries. You will need to get
these from the Apache Commons project; you need to get the current versions of two libraries:

- CommonsPool, which manages the object pooling; and
- CommonsDBCP, which manages connections.

utils wraps these with ConnectionSource to allow the static method call

We also need jdom, to read the xml database configuration files. (This is a hardcore dependency and I'll drop it in the next release. Get it from

Put the jars in your classpath.

Configuration files:

You need two configuration files to go in /etc/platosys  .This location is hardcoded in two  places: in, and in If you need to change the location, because you don't have appropriate access to /etc/ or you are running Windows, you will need to change the source and recompile.

Otherwise, edit the two sample configuration files (both xml files) and put them in /etc/platosys. It's a good idea to lock down the permissions on these so that they are only readable by your app; on a production system, even this might not be enough and we'd need  another mechanism.


Boox and utils write debugging messages to logfiles held in /var/log/platosys; you will need to give your app
write permissions on that folder.

Last updated on November 3rd, 2008


#book keeping #Java API #Java #API #book-keeping #accounting

Add your review!