The total on the dashboard is probably just an oversight.
If I'm not mistaken, it also only displays a single currency total.
As for the client's page, it should show all changes to the client's balance.
That should also include making a purchase as the workflow first adds the paid quantity to their balance and then subtracts the order's total from the balance, all of which should be recorded in the table.
Through the admin panel if you make an invoice and then mark it as paid as an administrator it also won't be added to the history as it bypasses the normal logic (however, this will be changing in the next major release).
The only real situation where it wouldn't appear is if you are using a payment gateway that handles the logic in a different way. What one are you using?