When should Customer be expected to pay for the new system? (For this discussion, let's assume the system is a somewhat customized mix of hardware and software.)
When the system is ordered? Perhaps, particularly if vendor is a reseller who must pay suppliers for the components. Vendors may balk at fronting lots of money for customers. The same analysis applies to paying upon delivery.
But customer is left with a significant exposure. What if some of the software disks are corrupted, or the hardware contains defective components? Such deficiencies may not be detected until the system is assembled, installed and turned on. Let's assume that when the power switch is thrown, something goes ZAP!! and a cloud of smoke rises from the system cabinet. In an ideal world we would expect vendor to step up, identify the problem and make it right. But we do not live in an ideal world and vendor may have moved on to the next project. Requests for assistance might be met with suggestions that the problem resulted from user error, or recommendations to take up the question with the manufacturer. (In fairness to vendors, we must acknowledge that some errors or failures may indeed be caused by the users.) If vendor and manufacturers have been paid in full, customer has little leverage, little opportunity to compel them to pay attention.
Which leads us to payments on the "installment plan": a portion upon order, a portion upon delivery and the bulk upon successful acceptance testing. If a substantial portion of the contract price is held back until testing is complete, vendor will not lose interest in the project.
Of course, vendors will not agree to large hold-backs if customer may arbitrarily decide not to pay. It would not be good business to allow customer to refuse to pay simply because customer doesn't like the final product or now believes it "doesn't work." As a result, to be successful, hold backs must be tied to testing standards that are mutually agreed and which can be objectively measured. In that way, vendor and customer are both protected - customer can withhold payment if the system does not "work," while vendor must be paid if it does.