ERC20 deposits gas problem

Hi! I am stuck trying to figure how gas should be provided depositing erc20. If user does not provide gas to destination address deposits are skipped. That should be fine, but somehow skipped deposits still appear in user balance. That means that later someone will have withdrawals problems. How it should work? Is there any way to automatically provide gas or is it users responsibility? Why then skipped deposits still go to users balance?