I try to leave emotions out of it. Get all the facts, and even if they’re facts, have ALL parties agree those are the facts (if not, provide proof until the other side accepts it as fact).
If no proof is available, continue to have all sides communicate it from their point of view in a calm way.
Let all sides, listen to the other side and take it all in.
Now put all the facts and views together, and find a solution. It’s not a blame game, it’s a solutions game where all parties involved agree on the solution. Sometimes it involves conceding on a few points, just as much as the other side may have to. Keep it fair and reasonable, but try to keep the “customer is always right” in mind. You may lose a bit for this, even if you’re fully in your rights. The losing part may be a loss to you, but if the customer becomes from upset to happy, it may very well be a RETURNING customer, making up for the loss in the long run.
Obviously, if they keep being upset AND unreasonable in the long run, cut your losses, and do not continue doing business with them.