The first criteria to use in deciding SQL vs NoSQL would be is the data relational? I would argue a budget is relational. Second would be is there a consistent schema? I believe your schema is far more consistent than you think. I would use a SQL database. The other important question...
For MongoDB and many other NoSQL databases, we use a standard such as CRUD. This standard says that there are operations to create, read, delete and update documents. Below are some examples of the most typical tasks to deal with documents and their equivalent in the SQL world: CREATE: ...