Are they refusing to pay because they dispute the results of the project or the qulity of the work? That is one category. In that case find out what the problem is, and if possible agree to fix the problem if they will have a check waiting on site for you to take away after you are done. If they are incorrect in their claim then kick the problem upstairs to management to discuss. Sometimes suggesting arbitration instead of litigation may help.
Are they refusing to pay at all, or just delaying payment? Like some large companies are their "standard" terms 120 days or some such rediculous period? (General Electric does this.) Some contractors take the "You get paid when we get paid" attitude. In that case you may have to wait, but sometimes a letter pointing out that your contract is with them and not their client helps. In other cases you may have to wait for the payment and take them off your customer list for future work.
Are they just broke and don't have the money? Then work out progresive payment terms, be a nice guy, and you may move up the list.
Are they just deadbeats? In that case you may have to suck it up and move on.
In many instances it comes down to leverage. You have possibilities:
- A letter from an attorney may help, and is relatively inexpensive, but not always much influence
- A lien is a possibility. Lien laws vary from state to state, and an attorney may be needed if you are unsure. In some states you have to file notice of willingness or intent to file a lien for non-payment at the time of accepting the order. In some states municipalities etc. are exempt from liens.
- Send written notice that any warranty is voided by non-payment and notify them support service will not be provided unless payment is made immediately. If your customer is not the final owner, but you are a subcontractor or second tier supplier make sure the actual owner is copied.