A method that works wonders is to unpack exactly what has to be done in July and why. That involves gathering information about the business.
Just as a good estimate requires some modelling, so does a good requirement. By July they might not need an overhaul of the whole billing system, but there might be a few small things that would have a huge impact that could be done. Maybe you can deliver 60% of the functionality in June and another 30% in August.
My experience is that this kind of thinking plays well with upper management, C-level kinds of people. That is, they make trade-offs on this level all the time and are glad to be engaged in this way. In fact, if everybody thought this way, the company wouldn't have any problems.
My experience also is that some middle-managers are highly offended by this approach for reasons I can't understand, other than they feel like they've lost control. It seems like a small price to pay for "getting things done" for the business, but they don't like to get bypassed.