My experience is that fixed price only works for very short (days and weeks, not months) projects that can be scoped very strictly. Even then, there’s a lot of risk of miscommunication and uncomfortable discussions. My rule of thumb is that if I’m doing a fixed price contract, it can’t be longer than two weeks. This usually amounts to very targeted fixes, upgrades, research projects. Things that are typically not so hard to time box.