i posted a similar question to this. answers ranged from hot soapy water and lots of elbow grease to a days work with fancy chemicals. I opted for the first option, and on a canopy which hadn't been cleaned for years, with lots of moss etc on it, i got it quite a bit cleaner, but absolutely no where near spotless. It was very hard work and for the time it would take to get it completely clean, you need to be charging more than the customer paid for the canopy.
I would suggest try calling a company who make canopies, and to strongly advise your customer it needs cleaning every 6 months..
I think canopy cleaning is one of those jobs where either you hate the job cos you're knackered and it pays bad, or the customer isn't too happy cos its cost them £300 to get a canopy cleaned that cost them £300