1. A method of facilitating a transaction, comprising: providing, by a processing device, an indication of a shopping list, the shopping list comprising an indication of a plurality of product categories, each product category being associated with a plurality of products; providing, by the processing device, buyer offer information, the buyer offer information including an indication of an offer amount assigned to each product category of the plurality of product categories; and receiving, by the processing device and from a server in response to the providing of the shopping list and the providing of the buyer offer information, an indication of products selected, by the server, from each of the product categories of the shopping list.