The short answer is as early as possible. Moneysense puts ages for financial learning in bins, and the youngest bin is 0-6 years old. Ontario is rolling out pilot projects to teach high school kids financial skills. It is very much needed. The consumer debt is rising year-over-year states Equifax, and full-term jobs are eroding away with AI.
Teaching money does not have to be boring!!! It can be fun. I have put up posters to teach my kids count and summation. Game of monopoly, though invented by an anti-capitalist woman (controversial), is fun over holidays. I am thinking of turning my budgeting system, budgetnow.ca, into a game. How would you make teaching money fun for your children?