You should wait AT LEAST until the plants exhibit alternating nodes, which indicates sexual maturity. This occurs at 4--6 weeks usually (from seed. Clones from mature donors can be flowered at anytime).
Flowering done before that will severly compromise yield.
I've seen people try to flower small 2 week old plants and the plants died--they simply did not have enough stored energy to complete flowering.
A lot of beginners are unaware that pot plants usually more than double in height during the first 3 weeks of flowering. Often they run out of vertical space and must bend the plants over.
I prefer to flower my indoor plants at 15". They finish at around 3'.
Remember the further away from the light a budsite is, the smaller and weaker it will be. That's why most experienced growers keep their plants relatively short.
My first indoor crop (after a disasterous experience with a phototron) I made that mistake and let the plants get 4' tall before flowering. I had to raise the light all the way to the ceiling AND bend them over. And while the buds closest to the light were quite nice, the lower ones weren't.
Sp be aware of these factors and of course height restrictions of your growspace.