When donating money to a (say, charitable) cause, it is possible to use the contemplated donation as a bargaining chip to induce other parties interested in the charity to donate more. Such negotiation is usually done in terms of matching offers, where one party promises to pay a certain amount if others pay a certain amount. However, in their current form, matching offers allow for only limited negotiation. For one, it is not immediately clear how multiple parties can make matching offers at the same time without creating circular dependencies. Also, it is not immediately clear how to make a donation conditional on other donations to multiple charities when the donor has different levels of appreciation for the different charities. In both these cases, the limited expressiveness of matching offers causes economic loss: it may happen that an arrangement that all parties (donors as well as charities) would have preferred cannot be expressed in terms of matching offers and will therefore not occur. In this paper, we introduce a bidding language for expressing very general types of matching offers over multiple charities. We formulate the corresponding clearing problem (deciding how much each bidder pays, and how much each charity receives), and show that it cannot be approximated to any ratio in polynomial time unless P = NP, even in very restricted settings. We give a mixed integer program formulation of the clearing problem, and show that for concave bids, the program reduces to a linear program. We then show that the clearing problem for a subclass of concave bids is at least as hard as the decision variant of linear programming. We also consider the case where each charity has a target amount, and biddersʼ willingness-to-pay functions are concave. Here, we show that the optimal surplus can be approximated to a ratio m, the number of charities, in polynomial time (and no significantly better approximation is possible in polynomial time unless P = NP); no polynomial-time approximation ratio is possible for maximizing the total donated, unless P = NP. Subsequently, we show that the clearing problem is much easier when bids are quasilinear—for maximizing surplus, the problem decomposes across charities, and for maximizing the total donated, a greedy approach is optimal if the bids are concave (although this latter problem is weakly NP-hard when the bids are not concave). For the quasilinear setting, we study the mechanism design question. We show that an ex-post efficient mechanism is impossible even with only one charity and a very restricted class of bids. We also show that there can be benefits to linking the charities from a mechanism design standpoint. Finally, we discuss an experiment in which we used this methodology to collect money for victims of the 2004 Indian Ocean Tsunami.