Electrum. Payto argument from_addr
Not enough funds usually means that you've confused the unit of account i.e. mbtc vs. btc or you're not accounting for transaction fees including 2fa fees if you have a 2fa wallet. I suggest you use the exclamation point in place of a numeric amount to see what is the max amount you can send. Decoding the generated transaction should be illuminating.