The first commercial activity to be computerised was finance. Book-keeping was mechanised even before the invention of the digital computer - businesses had comptometers and mechanical accounting machines; the accounts office of a large corporation had a separate machine room where - in today's health and safety climate - ear defenders would certainly be compulsory. So, as the cost of computing has fallen, the cost of keeping accounts should have fallen to the point where it is almost zero cost. But, for various reasons, it hasn't. Accounts office machine rooms may be a thing of the past, but accounting is still expensive

Not with Boox, though. Drop the Boox jar into your classpath and configure a database, and you've got straightforward access to accounting operations.

The essential process in Boox is to create a Transaction object and call its post() method. The Currency, Money, Account, Ledger and Journal classes do pretty much what they say, and access control is managed through a Clerk object. The Boox class provides a range of useful static methods, avoiding the need to instantiate objects, and the API is completed by two interfaces, Auditable and AuditElement. If you understand double-entry book-keeping, Boox does what it says: but you do need to be able to program in Java to use it.

But why bother?

Good question. Most of us don't bother keeping track of the pennies in our pocket (perhaps emptying them out every now and again to save weight) - so why should we bother keeping track of other de minimis transactions? With Boox you can, at very little cost. Boox however isn't a micro-currency system, and it doesn't do crypto: it's about doing accounting.

Boox was developed to record transactions denominated in pseudo-currencies rather than in real money, but it does so correctly, using the double-entry system. It can handle multiple currencies, including a mix of real currencies and pseudo-currencies. Double-entry book-keeping was developed in the middle ages and is about recording who owes whom how much and for what. It has intrinsic controls that make it auditable, and it endures because it recognises in finance the same underlying symmetry that Newton recognised in dynamics as his Third Law of Motion.

What about anonymity and privacy?

What about them, indeed. Privacy, on the whole, is a good thing - except where money is concerned. Then, more often than not, a "right to privacy" means a "right to ripoff". Monks needed an auditable system of accounting because they each had a shared interest in the wealth of their monastery. Boox is fully auditable. EVERY transaction is recorded in (at least) three places - which I suppose makes it triple-entry. It's recorded in two accounts and in the Journal, which is just a big long list of transactions.

But Boox has its own permissions framework, based around the Clerk and Ledger objects. It's possible to configure Boox to limit access to specific ledgers; alternatively, and by default, it can be configured to provide open access for reading and auditing all accounts. This is the principle of open-book accounting and, by letting the public audit the books, does more for confidence than any sign-off from a top-four firm

Boox applied

Boox isn't an accounting system, it's a java library to help build an accounting system. It's being used for the Peersite social market network project and for the Parsley project to build a free, open-source, secure web-application to do accounting for small and very small businesses