Building blocks and clauses, including any questions they contain, can be replicated at will during the questionnaire through recurrence expressions. The user simply inserts a number (an integer, i.e. without decimals) to multiply all the applicable content. The recurrence expression operates on a single template component and everything it contains, meaning there is no need to preconfigure copies of a particular provision or question. This makes it very easy on a contract-by-contract basis to include, for instance, any number of custom conditions or specifics on a variable number of goods to be provided. Setting up a recurrence expression in the Template Creation Tool takes no more than a few minutes.



1. Click Organise, reformulate or edit global questions.

kb contract lifecycle management ca recurrence expressions 1 recurrence expression

2. Click Insert.

kb contract lifecycle management ca recurrence expressions 2 recurrence expression

3. Choose Edit-field.

4. Enter a name for the global question and the question itself. Remember or select and copy the name.

5. Tick Use small answer box.

6. For Value type, select Numbers, no decimals (integer).

7. Click Save and close the Organise, reformulate or edit global questions pop-up.

kb contract lifecycle management ca recurrence expressions 3 recurrence expression

8. Switch the Show advanced vs. all basic functionalities toggle to the ON position.

9. Select the building block or contract clause that the user should be able to replicate.

10. Click Edit the building block/clause name.

kb contract lifecycle management ca recurrence expressions 4 recurrence expression

11. Open the Recurrence subtab.

12. Insert the full tag of the global edit-field question, e.g. [gq.Number of conditions].

13. Optionally, change the value for The start number.

Note: this has no bearing on the actual multiplication of the template component or its contents (that is determined solely by the value of the global edit-field question), but will affect any instance of “[#]” within the clause. For example, a phrase like “Condition [#]:” within the clause itself or a question triggered in the clause by default would result in “Condition 1:”, “Condition 2:”, “Condition 3:”, etc. If the start number is changed to 5, for example, it would begin counting at that value and therefore result in “Condition 5:”, “Condition 6:”, “Condition 7:”, etc.

14. Click Save.

kb contract lifecycle management ca recurrence expressions 5 recurrence expression



Any local (i.e. non-global) question inside a recurring clause will automatically be replicated along with the clause. If three copies are generated of one clause containing one edit-field question and one choice question, then each copy of that clause will have its own edit-field question and choice question.

To distinguish iterations of both clauses and local questions, insert the tag [#]  where the number of that iteration should appear (i.e. somewhere in the text of the clause or in the question field). It will be replaced by the applicable number in both the questionnaire and the generated document. For example, if a simple list of milestone dates will be generated:

kb contract lifecycle management ca recurrence expressions 6 recurrence expression     kb contract lifecycle management ca recurrence expressions 7 recurrence expression

In the questionnaire, this will result in the questions “Milesone 1:”, “Milestone 2:”, “Milestone 3:”, et cetera. The same applies to the bullet items in the generated document (and the questionnaire’s WYSIWYG view).

Global questions can be replicated as well. However, this requires that the #-symbol – no brackets – is inserted into the name of the global question. Again, the full tag [#] can be inserted into the question field in order to distinguish the various iterations from each other within the questionnaire:

kb contract lifecycle management ca recurrence expressions 8 recurrence expression