You might as well treat all those expenses as gifts because
Speaks volumes about John's inability or unwillingness to pay any of it back no matter what kind of contract you have him sign.
Frankly, I think you should let John sink or swim.
Otherwise you just enable him to continue his financial irresponsibility knowing that Mom will always bail him out.
Been there, done that, and speak from experience.

