Common mistakes to avoid in software contracts

It seems obvious that a contract for software, or any product or service, should clearly identify what is covered under the agreement. However, in many contracts, the description is vague or too general for the buyer to be certain of the components purchased. It’s in your best interest to ensure that the contract clearly details what is covered, especially if the software has many components or options. Include references to any services included in the purchase price, such as prepaid maintenance, installation, training, data conversion, testing and migration. Also, SLAs should spell out the options included, such as components, databases, operating system, languages, APIs (application program interfaces) and converters. If you do not clearly know what you are purchasing, you could pay later for options you thought were included.

The contract should clearly spell out the list of software you are purchasing by name, quantity and any versions associated (e.g., version number 3.5) and be as detailed as possible. A surprising number of contracts fail to specify such basic information as the manufacturer’s part number, title and description.

Information about which platforms and operating systems the software will run on should also be listed. The list of software and its description should be in an attachment to the main contract (i.e. not the body of the contract itself), which is called a product schedule. This allows you to easily add products later or negotiate price modifications, without affecting the main contract.

A common mistake is allowing the contract to refer to a vendor’s Web site for a product description or legal language, or some other external reference that may change, disappear without notice, or become outdated.

The software list should match the item detail on the invoice you’ll receive from the vendor. Remember to list any important no-charge items as included in the price. For example, compilers, utilities or extra products that are part of a product bundle.

Your contract should detail the software you are licensing. Include the following:

  • Products by name, number, version

  • License fee (future license purchase fees)

  • Delivery terms and dates 

  • Form and media (download, disk, tape, CD)

  • License upgrade fees 

  • Acceptance criteria

  • Is object and /or source code included?

  • Is documentation included (describing what the software does) and in what format (CD, book or other)? Note how many copies you are allowed to make of the documentation.

  • Is education and training included?

  • Are installation services included?