In my experience as a former accountant I found that tendency to pay on time was inversely proportional to the size of the business. i.e. the smaller the business, the more likely it was that they would break payment terms.

In the vast majority of instances it simply comes down to the customer’s poor cashflow. Even when economic times were good I would estimate that a third of small businesses were living a hand-to-mouth existence.

The bad habit of the larger companies is to unilaterally change their terms. It’s quite common, for example, for companies to move from 30 to 60 day payments and tell their customers to, in essence, love it or leave it.