Identical products being sold at different prices in different locations is a common phenomenon. Price differences might occur due to various reasons such as shipping costs, trade restrictions and price discrimination. To model such scenarios, we supplement the classical Fisher model of a market by introducing transaction costs. For every buyer i and every good j, there is a transaction cost of c ij ; if the price of good j is p j , then the cost to the buyer i per unit of j is p j + c ij . This allows the same good to be sold at different (effective) prices to different buyers.We provide a combinatorial algorithm that computes ǫ-approximate equilibrium prices and allocations in O 1 ǫ (n + log m)mn log(B/ǫ) operations -where m is the number goods, n is the number of buyers and B is the sum of the budgets of all the buyers.In order to capture all these scenarios, we supplement the classical Fisher model of a market (see below for a formal definition) by introducing transaction costs. For every buyer i and every good j, there is a transaction cost of c ij ; if the price of good j is p j , then the cost to the buyer i per unit of j is p j + c ij . This allows the same good to be sold at different (effective) prices to different buyers. Note that apart * Technion. sourav@cs.technion.ac.il † Microsoft Research.