Sodium Met as a last resort.
Should also have discussed whether he was going to claim on his insurance. If so then you could have provided the written report.(And charged for it.)
If he's claiming under his insurance then the costs of you trying to remove the stain (and also for any report you write) would also become part of his claim-the only thing he would then be out of pocket for would be his excess on his policy.
You should have been upfront before trying to remove the stain that it would cost him anyway. Done right he'd have paid you and still recommended you to friends because of your professionalism.
(You wouldn't find a vet, for example, saying "sorry , Mr Customer, I tried my best but your pet still died, so despite using my drugs and skills I'm not going to bill you". Would you?