This is my list, so there are probably a few others, at least, where you can order B12 online from Canada. So far, I've only found cyanocobalamin. Shipping takes one week or so.
canadadrugsuperstore.com/ This has been the easiest place for me, so far.
There is a third site, but it works with b12-shot.com and I stopped using both because they seemed to be having a fued.
Average price is $16.99 for a 10 ml vial. $13.00 shipping per order. $9.99 for 10 syringes/needles. I can buy syringes cheaper at Walgreens, but you need a prescription.
I am posting this because responses to individual posts get lost. Perhaps others could add their suppliers as well and we can keep this as basically an ordering post?