Need better understanding of smart contract calls

“Calls to Ethereum smart contracts, such as an ERC20 approve() call, are typically marked as a withdrawal of 0.00 ETH. Since ERC20 approve() is so commonly needed (e.g. with Uniswap), it should be automatically recognised and given its own classification. A similar argument exists for calls to other commonly used smart contract interfaces.
However when the call is not to a common interface (e.g. non-ERC20), it should at least be marked as a smart contract call rather than a withdrawal of ETH.”

I’m having real problems sorting out transfers & token purchases to/from IDEX back in 2018/2019 that uses a smart contract. Also I want to move a load of coins from my etoro wallet which again uses smart contracts. I’m unsure how best to deal with these and maybe a tutorial from the accointing team would benefit many.

Should’ve mentioned that this topic includes coins being staked too - they show as withdrawn on the ledger so are not included in the portfolio running balance. I have got around this by setting the staking transactions to “ignored” and when I un-stake I will “unignore” them.