1. An availability control unit in a financial management computer system, comprising: a database to store a budget data structure having budget nodes, the budget nodes storing data representing available budget and expenditure items admitted to the financial management computer system; a database to store a rule data structure defining a plurality of rules, each rule having an associated response and an associated control object, where each control object includes at least one pointer to a budget node; a processor which, responsive to receiving a new expenditure transaction indicating an expenditure value to be added to a particular budget node, executing each rule associated with a control object that includes a pointer to the particular budget node; the processor configured to receive user input and modify one or more of the rules during runtime based on the user input; the processor configured to report an error and cause the new expenditure transaction to be blocked, responsive to any executed rule indicating an error.