Ouch!
Talk about padding the bill!
Looks like they deliberately split the installation into two separate jobs, 1. Install the battery, 2. Program the battery, and billed their minimum labor charge, likely one hour at least, to each job, when the whole thing probably took 20 minutes. And am at a loss to figure out what $40 bucks worth of "shop supplies" you need to install a battery - so this shop must just tack on a percentage of the total to everyone's bill for shop supply costs, whether they used any or not.
But you did get towing and a loaner with the deal - which is worth something..
Think I'd be looking around for a well-reviewed independent service garage that specializes in BMW's for any future needs. I have two BMW dealers within 10 miles of me - both with terrible service departments, but have an independent BMW repair shop near me, owned and run by two BMW factory-trained mechanics, with top reviews (and lower prices) who get my current non-warranty service business, and will get it all once my warranty is up.