invoice is the price the dealer pays. msrp is the "suggested" markup. usually retail prices are suggested by a manufacturer to maintain a certain price "status" thats why most products have a MAP price, under which an authorized reseller may not publish. that that is an asside..
you can get a car under msrp. there is always an updated invoice pricing pdf thats floating around so you can see what the dealer pays. if you can get it under invoice that usually means dealers have incentives or kickbacks. the discount usually depends on how desperate the dealer is to make a sale and how many cars are left in their allocation
easiest way to get a cheap car is to do european delivery. not only is the msrp a few thousand cheaper, but the invoice is cheaper as well. furthermore ED cars dont go through the dealer allocation so if you find someone who does alot of ED cars, they well get closer to ED invoice than a regular dealer can get close to their invoice price on their lot cars (because there is always another joe who hasnt heard of internet who will pay more than you)
and trust me... ED is an amazing experience : )
another thing to note is that dealers have a separate internet department. i dont know if this holds true but if you email them, they assume you already know the pricing etc so they dont waste time bullshitting you. usually you get their best "take it or leave it" price. when i got mine i emailed every dealer within 500 miles and i also emailed alot of other dealers known to move lots of cars in both california and florida etc. the nice thing about buying a bmw is that you have options. ED gets you cheaper but you have to pick it up at the dealership. with performance center delivery, however, you broaden your options because you always pick up at the performance center in south carolina, regardless of which dealer you ordered.