We propose a new one-shot sealed bid auction design for the sale of multiple units of multiple varieties. The design caters to the sale of complementary varieties, but substitute varieties may also be allowed; and units of the same variety are assumed to be substitutes. Goods may be sold individually or in packages. The auction design accommodates a rich set of preferences on the buyers’ side, and it incorporates a new and practical language for the seller to express her preferences. It solves the seller’s problem of partitioning a given number of units of different varieties into packages to maximise social welfare. When bidders bid non-strategically, the auction determines anonymous competitive equilibrium prices, which are non-linear in varieties, but linear in packages. The outcome of the auction is shown to be a competitive equilibrium when divisibility of items is permitted. A novel structure on supply functions enables us to use linear programming techniques to find a competitive equilibrium. For the special case where only one unit per variety is sold, and some additional assumptions on preferences, we use an ascending procedure to show that an indivisible competitive equilibrium exists, i.e. prices and allocations are integers.