In a wide range of product markets in which prices are negotiated, price dispersion across buyers for similar (or even identical) products can be driven by heterogeneity in brand preferences, search costs, and bargaining abilities. We develop a model that allows for each of these frictions and estimate it using data on hospital purchases of medical devices/supplies in a variety of product categories. While nearly all categories exhibit substantial price dispersion, the drivers of dispersion vary across categories. Among physician preference items, brand preferences are important drivers of price heterogeneity; among more commodity-like products, low price elasticities are driven by high relative bargaining weights of manufacturers and search frictions increase markups even further. We estimate that benchmarking information that improves hospital bar-gaining for the same products has the potential to reduce average prices by 1:5 - 3:4 percent. Information that reduces hospital search costs by half could increase hospital surplus by up to 50 percent.