Is it better to have a field in the database that stores the customers account balance or use views and queries to generate the information.
I think this depends on a lot of factors, how often will you be accessing the balance, how complex is it to recalculate it everytime you need it. What are the overheads of having views, etc.
Purely on the face of the information you have given I would store the value as recalculating it from scratch each time could be a pain.