I think you've gotta put yourself in the customer's shoes. If you ask a vendor when a project will be done, and they respond "well we have some unknowns haha", what are you supposed to do with that? It's not a very useful answer.
"Here's what we've accomplished this month. Would you like to continue the engagement for another month?" Better than lying about knowledge of the future.