I bought a foxwell NT530 which came with bmw-specific software. Loaded ford software as well - works great for manufacturer specific codes and functionality including battery/abs/srs/transmission and body module interrogation/activating dealer-specific tasks such as injector balancing, missfire logging and stuff I have yet to experiment with. You can select battery type /register new battery etc
2012 E70 50i