The matches, all of which are day-night, will be played on November 2, 6, 9, 13 and 16. The series will conclude in Ranchi, the BCCI said in a release.
Ahmedabad, Hyderabad and Kolkata will host the second,third and fourth ODIs. The ODIs will be preceded by a practice game between the visitors and the India A team in Mumbai on October 30.
Sri Lanka are filling in for the West Indies after the Caribbeans pulled out owing to a pay dispute with their Board. West Indies, who left after the fourth ODI in Dharamsala, were supposed to play a one off Twenty20 and a three-match Test series.
Sri Lanka's offer to step in prompted the BCCI to agree to a tour of the island nation in July-August next year.
Sri Lanka were scheduled to play Tests in India next year but that plan has now been reworked.
Cuttack was scheduled to host the only T20 nternational against West Indies while Kolkata was the venue for the fifth ODI to celebrate 150 years of Eden Gardens.