CUCC Expedition Handbook

The Bank of Expo

This is not really a bank.

It is an online system which does accounting. It keeps records of how expenses are allocated and who has paid what. You will be issued with an online username and password to access it when you pay your Expo deposit. Your transactions are not private: all transactions on all accounts are visible to any logged-on user.

Please be respectful of this website as you'll find you can edit transactions that others have listed. This is to allow people to collaboratively add their combined expenses with all the complications that cavers bring to anything. However, it could be abused. Please don't. The admins can see records of who changed what and when.

BoC was originally designed for caving club/meet use, but is flexible enough for expo use, where expenses are distributed by number of nights/car-passengers/beers. Being online helps accounting transparency, allows real-time review of creditors/debtors, and, if input permissions are devolved, reduces the burden on the treasurer. Once everything is entered and correctly allocated the accounts should be done without further work. It correctly handles multiple currencies and exchange rates changing over time.

Please read how these expenses records are also kept manually on paper in the Bier and Sesh books in the potato hut.

The current Bank of Expo is hosted at expo.survex.com/boe/ (and the most recent year it was used at expo.survex.com/boe-2022/.

Bank of Expo (and the same software running as Bank of CUCC for ordinary caving trips) was written by Stuart Bennett in Cambridge. He says:

"BoC is a multi-user auditable online share-based accounting system. The `share-based' part is probably its distinguishing feature: absolute amounts are split evenly across the slates of implicated users and/or ring-fenced cost-pools. Transactions are automatically double-entry, and as real-world transactions are made against a real bank account, the (manual) insertion of the transactions to BoC will correspondingly reduce the relevant slates. A useful feature is that the amounts shared can be in a variety of `currencies', whose exchange-rates are permitted to vary over time: this might be EUR per GBP, but also EUR per beer, or GBP per expo t-shirt, etc.

The split mechanism transparently underlies everything, but for user-friendliness there are various handy web-forms provided which generate the split tables (`Transaction Groups'). These range from a simple person-to-person swap, to a customizable `Event' with costs for various items being automatically squirrelled away into pre-set cost-pools."

Source and docs for the upstream version are online at https://github.com/malc0/BoC which has a link to a demonstration system that you can play with (CUCC meets 2014-15).

Configure BOE for a new Expo

You need to have a terminal running logged in to the server using ssh to do all this. Most expo treasurers will need to get a nerd to do this for them. Any Linux nerd, even if unfamiliar with boe, should be able to do all this if they have ssh access.

In /home/expo/boe create a new folder for the data , e.g. for 2029:

and a new folder to hold last-year's code: Copy everything from /home/expo/boe/boc/ into /home/expo/boe/boc-2028/ and then edit the first line of the file /home/expo/boe/boc/boc_config to read:
Root	/home/expo/boe/data/boe29
TemplateDir	resources
#StyleURL /boe/boc/resources/bocstyle.css
#StyleURL /boe/boc/boc.pl?serve=bocstyle
#TimeoutURL /boe/boc/resources/timeout.js
Now the code is in the place that the webserver expects it, and the code is configured to point to the new data for 2029. Now copy everything in the most recent year from, e.g. /home/expo/boe/boc-2028/ into /home/expo/boe/boc-2029/ . Then go into the folder /home/expo/boe/data/boe29/users/ and delete the files for all the users except for you and wookey. (Assuming you were on expo in the previous year). Edit your file to have the line
IsAdmin

Now if you didn't create a password for last year's expo, create a password like this (Wookey will tell you what the 'salt' is):

perl -e "use Crypt::PasswdMD5;print unix_md5_crypt('password','salt');"
and put it in data/boe29/users/yourname and git commit any changes.

From this point on all the configuration you do with be directly with the online BoE running on the server. Log in and check it all works.

Now read the the documentation (PDF) (for the version running on the expo server).


Go back to Expo Treasurer Role
Go on to The Bier and Sesh books