Just expanding on user253751's comment, this is a feature of client to server networking. The server is responsible for managing data and distributing it between clients - the client merely updates the server on what they're doing and requests the data it needs. The client shouldn't be able to directly update the data the server holds about it, since this would present a massive vulnerability.
For instance, if the client was able to run clientside code on their client (easy to achieve with exploiting) they would be able to set the money they have to any value they want, if network variables could be updated on the server by the client.
Instead, the server should handle all changes to the client's money. So if the user wants to sell something for example, the client sends a network message "I want to sell this" to the server, the server checks they have said item, and so updates their money and removes the item they have sold, then sends the new money value to the client so it can be displayed on the client's HUD, for instance.
In short, this is how it should be, and it's all for good reason.