Make a cashbook view for cash transactions.
Coerce year to int when validating.
Use bank.name as a cashbook filter value instead of bank.id.

This makes URLs more comprehensible: cashbook?bank=BankName&year=2013
instead of cashbook?bank_id=2&year=2013
Expose non-members with positive bar accounts through the API.