We told our oldest just after she turned 9. I wouldn't wait too much lunger, or she'll get her first info from other kids at school - which may or may not be accurate.

We were caught once, too. It was awkward, but we just gave her a very basic explanation and left it at that. She didn't bring it up again.