It's tough bro. I've had a few people under me at work overtime that I've had to let go for similar reasons. I mean everyone has a bad day here and there, but when you have to wonder how your day is going to go based on their attitude, it starts not being worth it. Especially if it start costing you business. It's always hard because I know deep down they're good people, but after repeated attempts telling them they needed to keep it professional in meetings, among customers, etc... They just wouldn't. They were fantastic employees and worked hard when they were in a good mood, but once that attitude kicked in, all of it went out the window. Performance and punctuality just went to crap.

In my cases, I was really left with no choice as upper management was pushing it too. I'm sure it's probably a much harder decision on your end. I'm not sure what all transpired to get to that point or how long she's worked for you, but maybe talk to her one more time. Let her know the mood swings need to be kept in check at work and if there are any issues, they need to be addressed without the attitude. I try to give everyone a few chances to let things sink in (I know I've had my fair share of chances) but if you've already gotten to that point it might be time to find a new manager.