This paper introduces a class of problems which integrate pickup and delivery vehicle routing problems (PDPs) and inventory management, and we call them inventory routing problems with pickups and deliveries (IRP-PD). We consider a specific problem of this class, where a commodity is made available at several origins and demanded by several destinations. Time is discretized and transportation is performed by a single vehicle. A mathematical programming model is proposed together with several classes of valid inequalities. The models are solved with a branch-and-cut method. Computational tests are performed to show the effectiveness of the valid inequalities on instances generated from benchmark instances for the inventory routing problem. Results show that the branch-and-cut algorithm is able to solve to optimality 345 over 400 instances with up to 50 customers over 3 periods of time, and 142 over 240 instances with up to 30 customers and 6 periods. A computational study shows that the average cost of a non integrated policy is more than 35% higher than the cost of an integrated policy.