I did some research on this topic. These two are the most helpful links (though slightly dated):
http://www.finiki.org/wiki/Cross-border_and_expatriate_issues
http://www.finiki.org/wiki/Canadian-US_investing_differences
Specifically to your question:
401k. Your options:
- Leave your account in the US till retirement age and withdraw then. Pay non-resident tax.
- Withdraw all at once: Pay income tax + penalty + tax on gain
- Withdraw little by little and file 1040NR every year: Pay penalty + income tax (lower tax bracket) + tax on gain (lower tax bracket)
Roth IRA. Your options:
- Leave it till you retire. Can't make any transactions.
- Withdraw your principal all at once before you leave the US. Pay no taxes or penalties.
Brokerage accounts:
- Liquidate all investments. Non residents are not allowed to have brokerage accounts.
- If you want to buy US stocks in Canada, you can buy US-ETFs in Canadian brokerages. There are USD and CAD hedged versions if you want to protect against currency fluctuations.
Bank accounts:
- Keep your bank account.
- Keep your credit card.
HSA
- Keep it. It's a huge tax haven!
- Charge your medical expenses anywhere in the world to the HSA. File a 1040NR for all disbursements.
Home/Rental property. Your options:
- Sell it before you leave the US. Capital gains tax is much lower in the US.
- Keep it and declare it as "effectively connected" through a property manager. File W-8ECI and 1040NR.
Transfer money from USA to Canada:
- Don't do a direct bank to bank transfer. Fees are huge!
- Educate yourself and set up a Norbert's gambit. It's the most efficient. (
http://www.finiki.org/wiki/Norbert's_gambit)