Contract assembly is a technological approach to generating transactional versions of a complex legal contract by transforming it into a document generation process application. In use, a contract-generation process app gathers all the transactional data necessary and then uses that data to generate a new version of the contract.

Transforming a word-processor-based contract into a process application involves two stages of development: (1) building business logic into the contract itself (within Microsoft Word or WordPerfect) and (2) building a sophisticated interview (a sequence of interactive data-gathering forms) that gathers all the transaction-specific information necessary to generate a new version of the contract.


Building Business Logic into the Contract

Transforming a contract into a process application involves reading through the contract, line-by-line, and identifying parts of the contract that may vary from transaction to transaction. There are four types of variable information in a contract:

·  Simple variables

·  Computed variables

·  Optional language blocks

·  Repeating language


     Simple Variables

Simple variables include names, dates, and dollar amounts. While searching through the contract, each time an application architect finds a simple variable item, he or she replaces it with a Text, Number, or Date variable. For document generation software that runs inside the major word processors, this should be a simple process, involving little more than highlighting the text in question, clicking on the variable button, and making a few formatting selections.

     Computed Variables

Most contracts will have many variable items that require calculations. For example, in a sales contract, the amount of the monthly installments might be the total sales price (including tax, interest, etc.) minus the amount of the down payment, divided by the number of months of the loan. Again, in enterprise-grade document generation platforms, this should be a relatively easy process—any complexity would result from the mathematical expression involved, rather than from the development tool.

     Optional Language Blocks

Optional language blocks could be entire clauses that are included in the contract only if certain conditions exist, or an optional block could be as small as a pronoun or verb. To determine whether an optional language block should be included in a document, conditional (IF/Then/Else) logic must be used. Virtually all document generation software suites provide this capability.

     Repeating Language

In most types of contracts, there will be repeating blocks of language. For example, in a contract that includes multiple buyers and multiple sellers, the contract might require specific information for each party that it then merges into a separate paragraph for each party. A process application designed to generate complex contracts would have to account for any number of parties. To make this allowance, a document generation system would provide scripting options that would allow for the merging of any number of items in a list (for example, a list of sellers) into the contract.


Building Sophisticated Contract Interviews

In use, a contract generation process app presents system users with a sequence of interactive data-gathering forms, commonly called an Interview. The questions in the interview correspond with variables merged into the document or used in the business logic of the document. In well designed systems, the interview will only present relevant questions, based on answers to previous questions, and will provide range validation for date and numeric answers and field-specific help resources for any type of question.


Other Considerations

Powerful contract-generation systems will allow for data to be drawn from one or more external data sources, thus eliminating, in some instances, the need to key data into the system. Likewise, such contract-generation systems allow for application deployment in any environment (desktop, on-premise, cloud) and in any browser running on any type of desktop or mobile device. Elite contract generation systems allow for integration of process applications into virtually any type of web app, including BPM defined workflows, case management systems, or GRC solutions. Output from a contract-generation process application can be profiled into any type of content repository (DMS, ECM).