Look, I get it, I was starting out once, and out of necessity did some "high risk" work where we invested a lot of time before getting paid. Sometimes it worked out, sometimes it failed.

I learned to understand that -risk- has a value. All transactions have risk, maybe I don't deliver, maybe you don't pay.

I now explicitly factor risk into quotes. We can share risk (you pay some, but not all, up front, coupled with progress payments), or I can take the risk (I'm pricing it higher, and assuming you're skipping the last payment), or you can take the risk (pay up front, but pay less.)

Treating risk as a line-item in the budget helps both parties understand the pricing better. Having a track record (of paying or producing) helps the other party accept more if the risk.

I've had some clients prove to be unreliable payers. For them I accept no risk. All work us done on a "pay first" basis. Some choose to find another supplier. I don't consider that a loss.