We examine competitive non-linear pricing in a model in which consumers have heterogeneous and elastic demands and can buy from more than one supplier. It is an equilibrium for firms to offer a menu of efficient two-part tariffs, where the discount for one-stop shopping is such that the elasticity of "demand for two-stop shopping" equals two. Compared with linear pricing, non-linear pricing tends to raise profit but harm consumers when: (i) demand is elastic, (ii) there is heterogeneity in consumer demand, (iii) consumers incur shopping costs when buying from more than one firm, and (iv) a consumer's brand preference for one product is correlated with her brand preference for another product. Non-linear pricing is more likely to lead to wel...