How do nobles make money? Well some of them actually perform some task, such as bookkeeping, managing the workforce, working their dwarven butts off in the smelter/forge, etc. They should get payment from the dwarven civilization (aka your fortress), along with the standard free room(s). Yes, they should actually have accounts and have to PAY for goods.
Any second now you will ask "but what about all the currently useless nobles?".
But what about all the currently useless nobles?
Glad you asked, mysterious unknown person! Basically, nobles make money through taxes. It's kind of realistic that at the moment they can quite literally steal from their own kingdom. Since the goods that aren't in a shop yet are owned by the fortress, they are quite literally owned by the king. The Grand Daddy of all Dwarves (not literally.) I'm pretty sure that stealing from your own king carried a harsh punishment in ye olde times. However, if they were to pay for the goods they pilfer, it would make more sense, as well as bring a better sense of economy into game.
So, my suggestion (that may and/or may not be flawed) is that all dwarves that immigrate are tied to a noble house. I don't mean family ties, more like serfs. The King gives land and whatever to the nobles in exchange for taxes. The nobles give land and whatever to the serfs for taxes. So basically all the dwarves that arrive (including the starting ones) belong to one of the nobles. Since the dwarves cannot actually own land at the moment, they have to borrow the workshops from the nobles. So let's say Kol the smith is serfed to Bob the Baron. Every season he has to pay taxes to Baron Bob for using the materials the King Elvis has given Baron Bob, the workshop, live on the kingdoms land that the nobles have a kind of strange joint claim too etc etc. So basically every season poor Kol has to pay... say 200☼ to Baron Bob. Baron Bob then has to pay King Elvis money too.
Although this would require a rather harsh rework of the intra-fortress economy. Let's say 200 in taxes, 900 (300 per month?) for a nice bedroom, 200-400 for let's say 2 pieces of clothing, considering how expensive that is, then add to that food and booze. The poor dwarf would have to pull 28 hour shifts. Or the economy could get a little more realistic prices. Unless I go out to buy some super-expensive designer shirt, I usually don't have to pay a months rent for a shirt.
Anyways: summing it up. All dwarves (or most dwarves) are tied to a noble they pay taxes too (for either a concrete, silly or just plain crazy reason). Thus the noble gets some cash he can actually pay things with. The nobles also pay taxes to the king.
A bunch of "also"s:
Also, this could help with mandates. A noble would have to quite literally pour money out of his nose to pay for a star sapphire item.
Also, nobles might have abstracted dwarves in other fortresses that pay taxes to them, to help nobles that have few/no serfs.
Also, the tax system helps bring money back to the fortress. While the money technically belongs to the king, it would just be abstracted into the appereantly limitless fortress account.
Also, nobles that have big accounts from start (barons, counts and such come to mind), could quite possible bring a mule carrying a chest full o coin with them.
Also, you might be required to produce and export coin to the kingdom to actually pay taxes.
And finally: all of this doesn't matter if you are one of those that never turn the economy on!