I have often read people post things like, "Lenders shouldn't charge upfront fees...if they do, RUN!" And for a period of time I seemed to agree with this. I have to say, I no longer do.
Full disclosure, I work with a lender, and we don't do this, but I have advocated for them to start doing this. And the reason is obvious.
I don't think a lender should charge anyone during initial consultation, explanation of what they do, their rates, terms, fees, nor when they give them a general idea of how much they'll lend on a property. However, once a lender has agreed to fund your deal and issued some type of terms, and now plans to order an appraisal, they should charge the borrower something. It could be $50, $100, $200. I don't know what the number is, but they should charge something.
The reason being is, "time is money." Lenders are working on your loan, which means they're not working on someone else's, nor are they trying to drum up more business. What SOME borrowers do, and by no means is this everyone, or even the majority, is they get a lender to commit all of this information, terms, etc, and then they go and shop it. At this point, the final lender has a lot less work to do because often the previous lender has done a lot of the early grunt work, which the borrower forwards onto the next lender.
But more than that, some lenders don't charge the fee until closing, which means the entire staff has been working on this loan for weeks, only to see it disappear. It happens. Borrowers walk away. And the people who are working on the loan have an expectation they will get paid, and should be paid.
Again, I don't know what the correct upfront fee is (after lender agrees to the deal), but I do believe it should be something. So this idea that a lender "should NEVER charge upfront fees" is completely wrong to me. It'd be like sending a contractor the scope of work, having him go out and price all the materials, maybe even purchase some, and then saying, "we found another contractor." The contractor worked.
Once a lender commits, a borrower should commit. And if the borrower then bails after a good amount of work has been done, a borrower should pay something.
My two cents.