@Lotherio I have been thinking of the necessary functions for a system like this, and I have come to the conclusion that it is much more workable if you don't attempt to implement it as an economy and go with a currency approach instead.
To only approach it as currency, you should only need the following:
Staff: create currency, destroy currency, global balance, and paycheck
Players: transfer currency to player, transfer currency to object (if you want player vending), pay currency to object (if you have OOC equipment vending or rent)
You can get more complicated than that, but if you create/destroy currency you never have to worry about the difficulty of generating a closed loop economy. Create/destroy is used for quest rewards or non-standard purchases. Global balance shows the funds of all characters. Paycheck is a monthly cron job to call create for each player according to an attribute, like resources or a fiat allowance.
Transfer currency to player is a direct payment for a good or service. If a player owns a vending machine, it's just transfer to object, which then transfers to the owner player.
I would suggest rent money be destroyed, even if a player character owns the building. They need to reflect their spending balance with the same attribute, like everyone else as there is no depreciation.
This has been interesting to think about, and with sufficient soft coding I'm sure you could make a real estate game. Was that the intention, or just to have money in the pocket?