@MoiraGoggin, I can't be there for this, but Chuck will. We found a way around that problem by defining the process and response times in the project agreement.
Working in the context of 3 levels of agreement,
- the lowest level. The customer doing all the data cleanup until you deem it ""acceptable."" You would flag the problems but they must clean it up. You get 3 days to respond to data, and they must reply within 3 days; if they take longer, its $XX per incident. If they want faster response from you, they must upgrade to a higher level. They only get 2 rounds fix data: the initial submission to you, and the next rev; if they can't get it right by then, it's $YY/additional cycle.
- the highest level specifies 1-day (or faster) turn around by you. You do all the data cleanup, relying on them to approve the data you end with. If they want to take 2 weeks to get back to you fine, you'll still respond in 1 day, unless they give you reprieve. If they want to go 7 rounds of data cleanup, fine, you'll do that.
We've found that approach of specifying the response and process rules helps a lot in these projects that rely on customer help in design. Report design is particularly appropriate here.
Make the lowest level competitive, so they won't go shopping because of it, but if the other 2 levels obviously make their lives easier, they'll go for it. It's not unreasonable to make the highest level 3x the price of the base level.