Page tree
Skip to end of metadata
Go to start of metadata

Clause Library Table

This table holds clauses that can be referenced in print templates. There are many ways to use a clause library that vary in complexity. The out-of-the-box setup includes examples of several reasonably simple approaches.

There are different reasons for using a clause library to hold contract language rather than simply storing all text and variables in the Microsoft Word print template. Here are a few of them:

  • If all source clauses are stored in a library, then if the clause text needs to be changed, it must only be changed in one place, and all print templates or records that use that clause will be updated for future contracts.
  • Clauses may have specific conditions associated with them so that they are only used if some particular meta data exists in the contract.
    • Note that it is also possible to add such conditions to print templates, so that this does not necessarily require a clause library.
  • Workflow can be configured to handle changes to standard language, with approvals, statuses, and so on. Responsibility for maintaining and updating the clause can be assigned to a particular team or clause owner.
    • Alternatively, print templates could also have approvals and statuses if language is managed directly in the print templates.
  • With a clause library, users may be presented with a list of alternative clauses for particular sections or a list of optional clauses that they can select to construct a given contract. A simple version of such selection is built into the contract template to demonstrate these approaches.
  • Some companies want to identify approvers who will need to review a contract based on a particular clause that is changed for a given contract. Approval information can be stored in the source clause to provide approval automation. This typically requires a more complex setup and is not included in the out-of-the-box Clause Library table.

Our out-of-the-box setup is focused on providing the first four benefits. It provides a simple repository for clause language that can then be inserted into print templates, either automatically, or with some user selection.

Use Case

The clause library has several fields to assist in managing the use of language throughout your contracts. The key fields and their usage is as follows:

  • Clause Type - Categorizing clauses makes it possible to filter them if you want to allow users to select from alternative clauses for a specific section of the contract, for instance the termination provisions, or the indemnification provisions.
    Clause Type drop-down list
  • Status - Statuses of Active, Pending Approval, Retired, Replaced or Rejected can be used to filter available clauses and to indicate where they are in any approval workflow.
  • Default Risk Rating - indicates the level of risk for this clause type on a scale of 0 (no risk) to 1 (highest risk).
  • Clause Priority - is used to sort a drop-down list of clauses that may be filtered and presented to the user. If you have four variants for indemnification, for instance, and you want to display them in a particular order, you would set the Clause Priority with the appropriate values (1 for the highest to appear on the list).
  • Approval Team - can be used to define the approval team with responsibility for updating this clause.
  • Clause Owner - can be used to indicate a specific person responsible for changes to the clause.
  • Language - allows you to select the language of the clause text
  • Has Multiple Languages - selecting Yes displays a related table where you can link multiple child clauses in other languages.
  • Clause Usage - indicates how a clause may be used and can also be used as a filter to display optional clauses or user-selected clauses for users to choose, as opposed to conditional clauses that will be populated into the template automatically based on some predefined condition.
    Clause Usage drop-down list

  • Usage Details - this is a text description field to provide details on where and how this clause should be used. It is purely informational.
  • Used by Print Templates - allows you to link a clause to the print templates that will use it, to have an audit trail of which templates will or should be updated if the clause language changes.

Action Buttons on the Action Bar

The action bar above the clause table has three special options under the Actions drop-down. These options are Clone Clause, Insert Clause Number, and Remove Clause Number 

Clone Clause, Insert Clause Number, and Remove Clause Number are the top three choices under the Actions bar.

  • Clone Clause can be used with one or more clauses to clone them and create a copy. The copies will map most of the field values and will add the date cloned to the clause title. This makes it easy to create copies of a clause for some purpose such as revision, and then to edit the resulting clause.
  • Insert Clause Number adds MS Word code that results in auto-numbering in front of that clause when the clause is used in a print template. This is one method of managing clause numbering within your contracts. See below for more details.
  • Remove Clause Number removes the MS Word code for auto-numbering from the selected clause(s). This is handy if you change your mind about the method to use for numbering.

HTML Field Conversion into MS Word

The Clause Text field is an HTML based field and can use standard HTML formatting tags. To see all formatting options, click the Edit button below the clause text field to bring up the HTML editor.

If you copy and paste clauses into the clause text field from a Microsoft office file such as MS Word or Excel, it is best to use the Cleanse HTML button to strip out some of the excess code that is typically inserted by Microsoft. This will give a cleaner result when the clause is inserted into a print template and converted back into MS Word.

HTML text fields are treated in a special way in Microsoft Word. Depending on specific HTML field characteristics, content may be translated in the Word document to either the Normal or Normal(Web) formatting style. Including <p> codes in the paragraph results in the Normal(web) formatting. It is important to configure any print template in Word to set the same font, size, and spacing style for Normal (Web) as for Normal, or for whatever other main style is used in your template, for consistency. For instance, if your template has some hard coded text, followed by variables that point to specific HTML clauses, you would want to define Normal (Web) to look the same as the hard coded text style. For more information, see Troubleshooting Print Templates.

Methods for Auto-Numbering Contract Paragraphs

In example print templates, the numbering and indentation style is set in the print template, applied to the relevant clause variable. However, sometimes the HTML text that replaces the variable in the template does not retain the numbering or indentation.

If print template formatting doesn't work for you, you can choose to insert the auto-numbering formatting inside the clause text, instead of in the print template. To do so, edit the clause in Source HTML and insert the MS Word auto-numbering code at the front of the clause text. When the document is generated, this code automatically assigns a sequential number and applies list indentation. Note that if you use this method, these numbers are reassigned every time the document is opened, which means the clauses are always shown as recently modified when a contract is edited.

Auto-numbering Code
<agiloft_tag_fc fc="al_fc_start LISTNUM LegalDefault \l 1 al_fc_end"></agiloft_tag_fc>

In the standard implementation, we handle numbering in the print template, not the clause text. Whichever method you choose, make sure to test it thoroughly.

Using the Clause Library in Contract Print Templates

The standard setup of the clause library assumes that clauses may be created for any language that may be used in one or more contract types and print templates. It may make sense to put most of your contract language into the print template and just use the clause library for user-selectable alternative text or optional text. The choice is yours.

If you do not reuse language in multiple print templates, there is really not much advantage to storing it in the clause library. In that case it is simpler to just put your language directly in the print template, where it does not need to be translated back and forth between Word and HTML and where users looking at the print template can see exactly what will be produced. It is easy to provide conditions directly in the print template for alternative or conditional clauses.

As you define your clauses, you can link them to the specific print templates where you plan to use them. Then they will appear within the print template in a related table of Clauses Included, for reference.

Once the clauses are created, you can create a print template that inserts the conditions and the specific clauses you want. Please review Print Template Syntax Reference for details on the syntax to use to insert a clause into a print template.

Allow Users to Select Alternate Clauses

Sometimes, you may want contract managers to be able to select from multiple clause options. There are a few different ways to do this, depending on how many choices they will need to make.

  • If there are only a few user decisions, it may be simplest to add a link to the selected clauses within the contract record, filtered to the choices available. Then whichever clause is selected can be inserted into the print template.
  • If there are many decisions, it may be easiest to just provide questions for the user to answer and then have conditions built into the print template based on the answers given. This makes maintenance of the print template more complex, but may make it easier for the users making the decisions.

We have provided two examples of user selection in the out-of-the-box setup.

Selecting Optional Clauses to Add to the Contract

For the same contract types, the user can also select clauses that have been defined in the Print Template Clauses table using the Select Optional Clause(s) field. The user can select the clauses he wants to add, and when the document is generated, those clauses will be added under the section called Additional Terms. This field is only visible if the Print Template record has a value of Yes in the "Has Optional Clauses" field. For more information on Print Template Clause records, visit Print Template Clauses Table.

These basic approaches can be expanded upon for a given implementation, depending on the needs of your company.

Conditional Clauses Based on Other Answers

The sample templates also include conditional clauses based on the choice made for the Renewal Type field. If Evergreen is selected, one clause is used, and if a different value is selected, an alternative clause is used that provides both the start and end date of the contract.

More Complex Configurations

If greater control is needed over changes made to clauses within a specific contract, this requires one or two extra tables. In that case, it is generally necessary to have a "Contract Clauses" table that auto-generates new records for each clause linked to a specific contract type, so the contract clause record itself is edited, and then the print template just inserts all the clauses from the table of Contract Clauses.

For such implementations, we recommend that you contract with our professional services team for assistance. There are many variables in terms of requirements that help determine the optimal design.


There is currently no automation built out in the clause library, but there are fields that could be used to route approvals for new language to the approval team or the clause owner.

  • No labels