With something like a coat that has natural consequences, I just let my daughter make her own mistakes and live with them. There have been a couple of times where I told her she had to bring the coat in the car just in case, but I didn't make her wear it (in these cases she ends up wearing the coat anyway because it is cold).
There are somethings that are important to me and don't have immediate natural consequences -- like brushing her teeth. In this case, I set up an additional consequence if she refuses to brush her teeth (for us, taking away screen time works very well), and then I don't fight. If she doesn't do what she is supposed to do, she gets the consequence (the next day).
It is simple. Everyone understands the rules. And she knows that a temper tantrum isn't worth the effort.
If the coat is that important to you (and I agree with other posters that this is something a parent can let go), then set up a consequence for her. Then there is no need to fight with her... if she doesn't do what she is supposed to, she gets the consequence. After a couple of times, everything will be fine.
But again, pick your battles... is forcing her to zip up her coat really worth the effort?