I have worked around this in the past by adapting my pricing. Sell your initial services higher and lower the price of the reoccurring services. You are making your money for the project but not costing yourself out of having to go back to the site for contract obligations. Price it accordingly to your industry but, when the price is spread out over a contract period your customer expects more each service. To get around that you collect what the project is worth up front and the return visits are built into that initial price or added at a minimum cost.
Hope that helps.