Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
This page contains a number of tutorials designed to familiarise you with ClauseBase in a guided, step-by-step video series.
The basic tutorial series introduces the fundamental building blocks of working with ClauseBase. Here, you will learn how to create new clauses, how to introduce flexibility to them from a styling and a content perspective, and how to turn stacks of clauses into intelligent templates.
The intermediate tutorial series is shorter in length, but introduces some more advanced ways of augmenting your clauses and introducing additional flexibility in your documents.
This tutorial teaches you how to create contracts by stacking together clauses provided to you by a template author.
This tutorial showcases a collection of additional functionalities allowing you to better structure and deploy your knowledge.
Welcome to this tutorial series of Clause9!
We are pleased to welcome you on the journey to becoming a clause author! In the following tutorial, we will be taking a practical look at automating the clauses of a basic consultancy agreement.
The end-result for this exercise will net us the following three resources:
A collection of intelligent, reusable clauses
A flexible template
As explained in the introduction of this series, we will be automating the clauses of a basic consultancy agreement and find out along the way how Clause9 can turn static clauses into flexible, intelligent, reusable clauses.
Make sure to actually complete the steps set out in these videos! Further tutorials and exercises will require you to augment the material created in this tutorial. If you have not created the material yourself, you cannot progress to other tutorials.
To get started, download the following documents:
So, let’s get right to it, you can open a new document in your Clause9 account by navigating to the assemble document menu at the top of your screen and then open a new document by clicking the plus icon in the top right-hand corner.
We are greeted with an empty document which we will first need to save.
We can do so by navigating to the file tab in the operations panel. Here we can fill out a document name to start with (this is how this file/this document will be portrayed in the actual library). We can choose something basic, like for example consultancy agreement. We can then optionally also designate a certain category, this is primarily useful when you have multiple different documents, in multiple different domains and need a clear indication of which document pertains to which domain. We will skip this for now.
You could also designate whether you would like this document to be displayed as a template. That is primarily useful to be able to distinguish between concrete contracts or legal documents that were generated from the basis of a template and those templates themselves. In this case we are in fact creating a base template, so we will check this box.
And then finally we can also designate a location in the library for this document.
📂 The default folder that is selected here is the “my documents” folder, and that will be sufficient for now.
📂 You can also store it in a certain group library. Group libraries are little private corners of the library that are available only to a specific team or specific department.
📂 There is also the “my library” folder which is primarily intended as a personal storage space for clauses and not necessarily documents, because of course we also have the “my documents” folder. That is exactly where we will save this document, by clicking the “save document” button at the top here.
Now, of course, we have created this file but there is still no content present.
One of the first things that we can do to amend this, is go to the “document” menu in the operations panel and fill out a document title. This is different from a document name under the file tab, because that is how the document is displayed in the library. The document title is essentially the title that is going to appear at the top of the document and that corresponds to the default style that you have set up to that end.
For us that is going to be “consultancy agreement“. Because if we look at our base document, we can see that it also features the title “consultancy agreement” right at the top.
And with all of that out of the way it is now time to create our first clause!
The fortunate thing about Clause9 is that clauses are flexible, and you can change their location at the drop of a hat, so you do not have to start automating a document from the top and then work your way down. You can just start with a basic easy clause just to warm up a little bit. That is exactly what we will do, if we take a quick look at our base document here and scroll down a little bit, you will see that there is this severability clause which is a fairly easy clause to start off with, and that is the one that we will take first.
So, I will quickly copy the contents of this clause while we are in the document and then go back to the Clause9 menu. Now to create a clause you first click the +-icon in the top left-hand corner. You are presented with three options here:
1️⃣ Definition list: you can ignore this for now, we will come back to that later.
2️⃣ Ad hoc-clause: this is a clause that is very much document-specific, meaning that it will not show up in the library, it is not going to be able to be reused across other different documents. It is native to this document only.
3️⃣ Library clause: these are clauses that are stored in the library, and which can be reused.
Here Clause9 is asking us where you want to store this clause that you are about to create and that is where “my library” folder comes into play. The “my library” folder is a general folder where you can store your clauses but in order to make it more easily navigable, make it easier to retrieve the proper content, you can also create an entire folder structure to assist users and yourself in navigating to the right place.
So, we will create a regular folder here. We will come back to all these different types of folders at a later chapter, and we will click regular folder now. Of course, since we are creating a severability clause, we will need to store this clause in a folder that makes sense. Now since severability is typically considered a boilerplate clause, we will simply call this folder boilerplate.
Click create a new folder and then we can select this folder, click select folder in the bottom right-hand corner and now we have decided on a location for this clause. You will immediately see that we have this new edit menu in the operations panel, there is this new tab in this edit menu for our new clause and on the right-hand side you can see that there is all manner of intelligence that we can add to this clause.
Most of that we will be looking at later in this tutorial series.
For now, the important ones that you need to consider are:
The file name:
Is how the clause will be displayed in the library.
For the file name we can choose something simple like for example just severability. Alternatively, if we add another severability clause, an alternative for example which is a bit lengthier we could say that this clause is named severability short, whereas the future clause will then be named severability long. But since we do not have any alternatives like that, yet we will simply suffice by writing severability in the file name.
The content title:
Is the title that we built will be displayed for this clause in the actual document.
As you saw earlier in the source document, we can see that the title is simply severability, so we will be writing the exact same thing in the content title. A neat little trick is that you can also just copy your content title from the file name and then it immediately shows up here in the content title field.
The content body:
Is of course the body text of the clause.
Finally of course we need to copy the text from Microsoft Word into the content body field which as you know we copied earlier, and so we will just paste that now.
If I click save and insert, then this is the actual moment when the clause is created and when it is also stored.
You will also see that Clause9 recognizes that this paragraph is in fact a paragraph number, but it also knows to construct its own numbering based on what makes sense for this particular document.
You can then also add new paragraphs, like for example we can have one at the same level, which is paragraph two, another paragraph which is paragraph three, and we can even go a couple of levels down paragraph 3.1, 3.1.1 etc. And if we save in library to update this clause, you can see here that the appropriate numbering with the appropriate styling is applied to different subclauses of various levels.
✅ With all of that done you have essentially created your first basic clause.
⏭ Next up we will find out how to add another layer of flexibility outside just from the numbering in the form of flexible terminology.
When we uploaded the clause in the previous chapter, we manually copied it from Microsoft Word and pasted it into Clause9. Now while that works as an easy first step, it may become something of a hassle when you are trying to automate a lot of different clauses at the same time, featuring a lot of different concepts. To speed that process up a little bit, you can also choose to semi-automatically import these clauses directly from Microsoft Word.
To do so we will open the global panel and we will start by closing this clause, the severability clause, since we do not need to edit it anymore.
Then we can open the global panel by clicking the global panel icon in the top right-hand corner. Immediately you will see a new panel pop up on the left-hand side of the screen, you may also see that your menu on the right-hand side of the screen gets cut off a little bit. You can easily solve that problem by just zooming out a little bit or by using a larger screen.
Either way it is typically considered best practice to have a sufficiently large screen available so that you can constantly keep an accurate overview of all the elements in your Clause9 menu.
Now you will see in the global panel that you have a concepts overview which allows you to track all the concepts that are currently available to you in your library, or all the concepts that are available in this document. There is also an import mode which of course allows you to import documents directly into Clause9.
For this tutorial, we are focusing primarily on the import mode.
As you can see here, when you upload a document, Clause9 scans it and subdivides it into different clauses, it also already scans all the terminology that you may wish to add as a concept. Not all of this may immediately be correct, but you can provide further guidance by toggling the terms menu off or on, and then either using the bin icon to remove certain terms or using the plus icon to add terms that were not already added by Clause9.
Now in order to draw clauses from this overview you first need to open a clause file, so let us take a practical example with the help of the duration clause. You can open a new clause by clicking the plus icon in the top left hand corner clicking library clause. Since we are automating the duration clause, we may also want to immediately add a new regular folder. Let us say that we will use the term and termination as a name for this folder. Then we just select it, click select folder again.
The three most important elements to fill out whenever you are creating a new clause file are: the file name, content title and content body.
We will start by filling out a file name which in our case is going to be duration fixed. Why fix? Well because of course the duration clause in question is a fixed duration clause and that helps us to separate it or distinguish it from any eventual indefinite iteration clause, that we may want to add in the future.
Now ordinarily you would have to fill out content title and content body manually but of course that is where the import mode comes into play. As soon as we have opened a new clause file you will see that this import icon appears next to the different paragraphs, next to the different clauses. You can see that an icon appears next to the body of this duration clause and an icon appears next to the title. If we click the icon next to the body, then it is simply the content body of the clause that has been inserted into the file. If we click the icon next to the title, then both the content title and the content body have been inserted.
Of course, there is a little bit of clean-up work that we can still do here:
In the content title, the term duration does not need to be a concept, we can just use the hard-coded word duration.
In the content body, the placeholder [duration] also does not need to be a concept, so we will just remove this hashtag.
Finally, of course the concept of “duration” is not created yet so it cannot be recognized by Clause9 and to create that file, we again go over the same steps that we took when we created the agreement concept. Just click the error notification, click create a new concept, select the concepts folder, click select folder.
Then for concepts the only important thing now that we need to add is a concept label. We can just create a new quick English concept label. Here obviously, we will go for a standard term called duration. We may also go for another concept label called term if the need would arise. Then of course we can close this concept, because we do not need to really edit it anymore. As you can see this concludes the automation of our clause at least on the front of the flexible numbering that we have already added and the flexible terminology.
If we click save and insert, then you can see here that the clause has officially been created. One other thing that you will note is that since we imported this clause into a ClauseBase file, the text is now displayed in green. That is because we have already imported this clause and so we do not really need to look at it anymore.
⏭ Now of course this makes the bulk of the import work a lot easier, but it is still up to you to create the next level of intelligence specifically with regards to these placeholders for variable information and that is something that we will look at the next page.
Now that we have imported the duration clause, we can see that there are a couple of placeholders. So typically, a user will be asked to fill out the commencement date, the duration and the termination date of the agreement. In Word you would have to do that manually. For each instance where that information is requested in Clause9 these placeholders can be turned into fields of variable information that can be easily filled out by a user and can be repeated across the document for every instance where that information appears.
That is where datafields come into play, datafields consist of three parts. Let’s use the commencement date placeholder to discuss how you write a datafield and we’ll start by closing the global panel. Don’t worry you can quickly come back to it later, it doesn’t close the document in any way but it does give us some more room to work with.
Whenever you are writing a datafield, you start by writing the concept which it provides some information about. This is essentially the context for the variable information. In our case, we are looking at the commencement-date of the agreement, so we will write #agreement.
Then, we write the circumflex character to indicate to Clause9 that we are transitioning from a concept to a datafield. If you need help on how to write this symbol, make sure to check out the bottom of the Grammar Sheet for more information.
The actual title of the datafield. Do take into account that a space ends the datafield, so you will have to write a dash to indicate a space. In our case, that means #agreement^commencement-date
We start by removing the placeholder since we’ll be replacing it with a datafield, whenever you are writing a datafield you start by writing the concept which it provides some information about. This is essentially the context for that variable information. In our case we are looking at the commencement date of the agreement, so we will write the concept #agreement. A second element is that we write the circumflex character, the reason for that is that we need to indicate to Clause9 that we’ve stopped writing a concept and we’re now actually beginning to write a datafield.
Finally, we of course indicate the title of the datafields. Do take into account that a space ends the datafields. So if I were to write commencement dates, then Clause9 assumes that the datafield is called commencement but we can circumvent that by replacing the space with a dash and then Clause9 recognizes that we’re writing the datafield commencement date.
Much like concepts that were not previously created, Clause9 will not recognize this datafields. So in order to add it to this agreement concept as you can see here, you simply click the error notification in red and then Clause9 will ask you to indicate what kind of datafield that you’re interested in. Creating what sort of information needs to be filled out. A quick glance at the list of options leads us to the date datafields since we’re creating a commencement date. Then as you can see the datafield has been added, if I now click save in library, a yellow placeholder will appear in the interactive preview. Which allows me to open up a pop-up menu with a calendar where I can simply select a date.
Let’s repeat the exercise for the duration datafield just so that we can again take a look at how this works.
First step is: you write the concept that will be providing context to the datafield.
The second element is the circumflex character (^). In this case we’re looking for the duration of the agreement: again we’ll be writing #agreement^duration.
The final element is the name of the datafield itself and then it’s just a matter of adding this datafield which is not yet been created to the concept. A quick look at the list of possible options leads us to conclude that we want the duration type datafields, if we then click save in library you can see that the same kind of yellow placeholder appears. Only this time we don’t have a calendar pop-up that we can fill out but we have a number that we can fill out let’s say something like 12. Then we can choose between years, months, days, weeks or quarters.
For the final placeholder, it may be tempting to create simply yet another datafield. But if we take a step back then we actually realize that we can already sort of calculate this information. If we know what the commencement date of an agreement is and if we know how long the duration is, then we also know when it’s going to end. So you can instruct Clause9 to automatically make these kinds of calculations for you. The way that you do that is fairly straightforward, you simply first of all remove the placeholder, then you start by
⏭ Next on we’ll find out how we can ramp up that intelligence to another level!
If you now click save in library again to update the clause, you can see that it will display zero. But that is of course because we haven’t yet filled out any values here. We can either fill out these values in the interactive preview in the yellow placeholder boxes or we can also navigate to the datafields menu where we have an overview of all the datafields in the document and where we can also quickly select values for them.
So here in the commencement dates we can say that for example the 21st of September is our commencement date and it will then also be displayed in the interactive preview. Then we can also select a duration, let’s go with a duration of one year. Side note: the notation for your dates whether you prefer 21 September or September 21st are all things that you can organize centrally from a central styling menu. So we won’t be going into too much detail on this now but know that you can always amend this, if this is not your preferred date notation. Then of course you can see here that if we select the commencement date as being the 21st of September, if we select the duration as being one year then we can see that the termination date will effectively occur on one year later, on the 21st of September 2022. Now this sort of intelligence can of course be very useful to speed up the process of calculating certain terms, certain dates, sums of money, certain numbers, etc.












In the previous chapters we already successfully created a basic clause with some flexible terminology as well, as a little bit more advanced clauses. They already contain a little bit of variable information.
But for this new clause, let's take it up a notch by making large parts of the clause conditional, so that it can change its shape depending on the preferred legal nuance. A great example of a first clause where we can do that, is in the introduction to this consultancy agreement, the clause introducing the parties. As you can see here the template author has already indicated that certain text needs to be shown if the consultant is a legal person. Other text needs to be shown if the consultant is a natural person. That’s a prime example of legal nuance.
Let’s start by creating a new clause file, I’ll create a library clause. Obviously, You’ll need to create a new folder since we don’t really have anything that we can place this in. So we’ll create a new regular folder called introduction. We’ll indicate that we want to place this clause in the introduction folder and then of course the typical process of filling out file name, content title and content body. For file name we can choose something basic like “introduction to the parties”. Just so long as it’s clear what the content of this clause actually is.
The file name is typically not all that important.
The content title is of course blank because we don’t really have a title for this clause. In the source document, if there’s no real title that you can include here, then it’s perfectly okay to leave that blank.
As for the content body we will simply import all of that from the global panel so I’ll open up the global panel.
Now there are quite a few different paragraphs here and they’re all set at the same level. An easier way to approach this would be to select all of this text from the introduction to the parties and then just click transfer selection. As you can see the text is immediately inserted, there is still a little bit of clean-up work that we have to do. For example, Clause9 assumes that this company number needs to be a concept, which of course it doesn’t need to be. It’s just a hard-coded word company number. Same for this placeholder we can do that here as well, and then we can of course close the global panel, since we won’t really be needing it anymore for this clause. Then the only things that we still need to do in order to be able to save and create this clause, is to add these two concepts which Clause9 does not yet recognize. Store these in your concepts folder and create the concept label company for the company. And do the same for the consultants. Now our clause can be saved and inserted.
One of the things that you’ll notice right away is that Clause9 did a few things right in terms of the structure. There are a few things that we still need to fix manually.
First of all Clause9 correctly identified the fact that between and “and”, in this particular situation are bolded, so it has surrounded this text with tilts.
Bullets: The bullets are of course also correct, so Clause9 correctly identified the fact that there are bullets in this clause and has changed them to Clause9 bullets. Which you can just write with an asterisk symbol.
Alignment: The alignment of the paragraphs is not yet correct so between and “and” hereafter collectively referred to as, should all be on the same level as you can see here in the source document. This is where the importance of paragraph numbering comes into play. Of course we’ve looked at that in the past we’ve seen that that plays a huge role in automatic numbering and allowing Clause9 to construct a numbering and to change the numbering depending on how clauses are added to the documents.
Numbering: Numbering plays an important role in styling, so depending on the identification of a certain piece of text as a paragraph, Clause9 will apply different indentation, spacing, rules. Just everything that relates to how this paragraph conducts itself in relation to other. So what we’ll do is, we will add paragraphs to each entry here to indicate that they are in fact paragraphs and they should be treated in sort of the same way as one another. Then as you can see the alignment is now okay so they’re all aligned at the same level. Of course now numbering has been applied, not a problem we can toggle that numbering off by clicking this button in the document toolbar. Then we can also move this clause up by using the arrows icons in the document toolbar as well.
So with all of that out of the way it is now time to take a look at how we can make this introduction of the consultant conditional, so that we can with one click of a button indicate whether or not the consultant is a legal person and immediately affect the appropriate changes in the actual text of the clause.
So much as with the mathematical equations that we looked at the calculations, a condition starts with a curly bracket and then there is a three-part structure.
First of all, you designate the part of the text where we are creating conditional text using these curly brackets.
Then I essentially introduced a three-part structure to this condition.
Three-part structure: you ask the question, then you provide the answer and then the result of that answer.
You know what is the name of the consultant? What is the commencement date of the agreement? Those are inherently questions and what I did here was I asked a yes or no question. If we take a look at this datafield that I just created for that purpose, we can see that the kind of datafield that I’m using here is the true or false datafield, which allows me to ask a question that can either be answered by yes or by no. So two options no more, perfect for this situation where we’re asking is the consultant the legal person, which is naturally always going to be yes or no. There’s no real in between, so true or false.
That’s my first part of the condition, I’m asking the question is the consultant a legal person? The question/the condition starts with the question: is the consultant a legal person?
It is true, the consultant is in fact a legal person.
Then finally insert a colon : this indicate that we’re transferring to the third part of the condition.
Which is of course all of the text that needs to be shown, if indeed the consultant is a legal person. If that hypothetical answer is correct. Then of course we have indicated what the situation is if the consultant is indeed a legal person but we also need to indicate what happens if that is not the case. We can use this pipe symbol to bifurcate a condition and essentially allow ourselves to provide a different answer to the question, so we don’t need to repeat the entire first part.
Now we’ve come to a close as for this first situation where the consultant is a legal person and now we’re looking at a new second element to the condition, which is it’s not true but it is false, the consultant is a legal person. Then again the colon indicates that we’re moving on to the third part of the condition which in that case identifies all of this information for the consultant as a natural person.
Of course at the end of the condition, we just use the closing curly brackets to round all of that off and if I now click “save in library”. Watch what happens on the left-hand side. You can see that some of the text has disappeared and that a purple bar has appeared next to this clause. The purple bar indicates that conditional logic is present, so that there’s more than meets the eye with this clause and that you can jump into the datafields menu to play around with some of the datafields.
If I now click legal person, I indicate the fact that this datafield is true, then you can see that the legal person text is displayed. If I turn that off then you can see that the natural person text is displayed. If I don’t provide an answer at all by clicking this bin icon, then the default answer will always be false. So we need to actively indicate that something is true in order for that information to appear.
That essentially creates our condition, now of course there are still a few things that we need to do.
First of all we need to create datafields for all of these placeholders. Quickly create a few datafields, just so that you can get the feel of how to approach this. The way that we should do this should be clear by now, you can of course replace this placeholder by a datafield called for example consultant name, since of course we’re dealing with the name of the consultant. And that’s the typical structure of the data field which we discussed in a previously.
Of course, that will be a text datafield, this address will be consultant address and that will also be a text to data field. Finally, let’s maybe take a look at one interesting example of a of a datafield where you might be tempted to indicate that this is a number type datafield. Write consultant company number but you should remember that company numbers are typically large strings of digits, sometimes there’s punctuation marks in there as well, depending on your jurisdiction. So a company number is not this, is not a number like 12 or 5 are numbers, so you should indicate typically that this is a text datafield. Then of course you can create some more additional names and you can also just reuse these datafields that you have created.
Here for the situation where the consultant is a natural person will indicate the consultant’s name a datafield that we created previously, same for the consultant address. You just sort of create the rest of the list that way now. One final thing that we can add to this, is that you may be tempted to say that this potentially is a little bit hard to read or can definitely become hard to read once you start using a lot more different text or a lot more different conditions.
In order to introduce some legibility, you can also use placeholders to just indicate what sort of content needs to be included here. And then define at a later point in the clause where what that content actually is, in short, instead of including all of this text for the consultant as a legal person. What we could do is just cut it out of the clause and include a placeholder. In our case we could write something like @legal person, so that’s the structure of these placeholders, internal snippets as they are called.
In Clause9 you first write an @-symbol and then in all uppercase letters, in all caps, you write the name of the placeholder. Then a little bit further down the clause, we can indicate that legal person equals and then all of this text. Then we can do the same for natural person, which is obviously going to be all of this text. Then we’ll include this placeholder called natural person, so that’s a useful way to introduce some legibility, especially with more complex or more lengthy conditions.
⏭ Next on we’re also going to be taking a look at how to create conditions for using different kinds of datafields. Other kinds of datafields that can also engender different kinds of interactions with your clause.
That's why we have created some exercises to practice your ClauseBase skills. Each exercise focuses on a specific topic. Some of them build further on the documents you automated in the course of the tutorial series; others will require you to create new clauses. You can pick and choose the exercises depending on which topic you would like to practice.
First step is to create a new document ‘ClauseBase Campus Exercises’. All the exercises that don’t build further on the Consultancy Agreement, need to be added to this document.
Finished the Basic Clause Author Tutorial? Complete module 1 - 2 - 3.
Finished the Intermediate Clause Author Tutorial? Complete module 4 - 5 - 6 - 7.
This type of box contains useful tips when completing the exercises.
In this type of box, we want to point out possible issues you might face and give explanation on how to overcome them.
In these quote boxes you will find the clause content that needs to be added in ClauseBase.
You can always check our . If you cannot find an answer, we invite you to check the to post a question or view questions from other users.
Only complete the following exercises when you have completed the Intermediate Clause Author Tutorial.
Add a new "non-solicitation" clause to the Consultancy Agreement.
Make the clause optional, similar to what you did with the "non-compete" clause.
Add the non-solicitation clause to the list of optional clauses in Q&A mode.
Non-solicitation
Neither Party shall, for the term of this Agreement and for a period of [non-solicitation-duration] after its termination or expiry, employ or contract the services of any person who is or was employed or otherwise engaged by the other Party at any time in relation to this Agreement.
Create a new clause in the exercise document with the title and body set out below.
Confidentiality
Either Party may disclose any Confidential Information to:
Create a list of texts datafield where the end-user can fill out any parties to which Confidential Information may be disclosed. The information set out below should be included as predefines for that datafield.
The list of disclosure parties should have subparagraph numbering instead of bullets.
Confidentiality
1. Either Party may disclose any Confidential Information to: 1.1. the Project manager 1.2. any employee or officer of that Party 1.3. any governmental or other authority or regulatory body
Only complete the following exercises when you have completed the Basic Clause Author Tutorial. The changes below will be made to the base document you have created during that tutorial.
Set the styling of the document title of the "Consultancy Agreement" based on the example below:
Welcome back to another Clause9 tutorial!
In the following tutorial, we will be updating and augmenting the consultancy agreement we completed in the last tutorial series based on a new version of the source document.
Here’s what you need to get started:
Font: Times New Roman
Font color: SteelBlue
Style: bold
Size: 18
Cap style: regular

Go to the “Consultancy Agreement. Q&A”. The minimum monthly renumeration under “Plan C” of the fees is 3.000 euro. You want to give the end user a warning if an amount lower than 3.000 euro is filled out.
Warning
This monthly renumeration is too low. The minimum renumeration is 3.000 euro/month.
Create the following predefined values for the question "Agreement - Duration" to suggest 'best practices' to your user:
2 years
1 year
6 months
Create a memo for the question "Jurisdiction" under the card "Agreement" with the following text:
Do note that certain jurisdictions may apply uncircumventable (“mandatory”) rules that invalidate such an exclusion. Furthermore, your jurisdiction’s laws may be mature enough to remove the need to explicitly state this to avoid situations of renvoi and other issues that may enforce a different applicable law then what was intended.
Add help text to the question "Hours dedicated per month" under the card "Services":
The dedicated hours per month typically do not exceed 150.
Provide the following answer hint to the question "List" under the card "Services":
Advisory services, financial services, marketing services,...
Add the following comment below the question "Jurisdiction" in the card "Agreement":
The competent court is automatically selected based on the applicable law chosen above.






Only complete the following exercises when you have completed the Intermediate Clause Author Tutorial. Add the clauses for these exercises to your exercise document.
Create a new clause with the title and body set out below:
9. Calendar days
9.1 In case of a delay in payment, including in case of a partial delay in payment, of unprotested amounts for more than [payment termination term], the manufacturer reserves the right to suspend or terminate this contract, in whole or in part, without prejudice to the other rights of the manufacturer under this contract and/or applicable law.
The payment termination term should be expressed in calendar days.
Create a new clause with the title and body set out below:
10. Hyperlink
10.1 All notices to be given under this contract shall be in writing and shall be sent by email to the following address: [email-address].
The email address that is filled out should be a (mailto) hyperlink.
Create a new clause with the title and body set out below.
12. Male/female
12.1 [Ms/Mr.] [name of the employee], hereinafter referred to as “the Employee”.
The way this employee is addressed (i.e.: either as “Ms.” or as “Mr.”) should automatically change based on the gender assigned to the concept label of the term “Employee”.
Create a new clause with the title and body set out below.
13. Footnote
13.1 The data importer shall put in place appropriate technical or organisational measures to ensure compliance with this obligation, including erasure or anonymisation of the data and all back-ups at the end of the retention period.
Create a footnote for 'anonymisation' with the text set out below.
This requires rendering the data anonymous in such a way that the individual is no longer identifiable by anyone, in line with recital 26 of Regulation (EU) 2016/679, and that this process is irreversible.
Create a new clause with the title and body set out below.
14. Multiple cross-refs
14.1 In case of termination of this agreement in accordance with this clause, Article 10, Article 11 and Article 12 shall survive said termination.
The clause contains cross references to multiple clauses (clauses you’ve created earlier in this module). The references should only appear if the clauses are enabled. Create a clean enumeration for the references.
Create a new clause with the title and body set out below.
15. Signature
15.1 Executed in two original copies, each containing [number of pages] pages.
Use a special function to count the number of pages contained in the contract.
Our new and improved Consultancy Agreement is coming along quite nicely, but of course one of the key features of this new version is that it is two documents – the Consultancy Agreement and the Services Annex rolled up into one individual file.
❗️We have actually been treating these two documents more as separate entities and in this chapter we’re putting an end to that!
We are going to be combining these two documents in what is known as a binder in Clause9 terms and that will allow us to reuse terminology, consistent styling, reuse data fields etc.
In order to create a binder you can go to the “browse files” menu and create a new binder file.
💡But, an even easier way of doing it, is to hold down the shift key and then press the “+ icon” in the top right-hand corner in your document assembly menu and that will open up an empty binder, as opposed to an empty document.
You can see that here it says “new binder”. We have this new tab here for any documents that we’re going to be adding and the document menu is replaced with a binder menu in the operations toolbar. If we open this binder menu we can start adding some new documents.
Before we do that, it’s important to make sure that we’re working with the most up-to-date version of our Consultancy Agreement and our Services Annex.
What we’ll do is:
1️⃣ save this document
2️⃣ close the clauses currently opened in the edit menu by holding down the shift key and then closing one of the tabs – that will automatically close all of the tabs that have currently been saved and
3️⃣ close the services annex and close the clauses currently opened
Now we can upload a new existing document, which is in first instance going to be our Consultancy Agreement. We can upload another existing document which is going to be our Services Annex and we haven’t actually provided a document title for this Services Annex. We can do that here Annex 1 – Services.
One of the first things you will notice is that you have these tabs now that allow you to switch between the different documents contained in the binder. But, you’ll also see that there is a padlock icon 🔒 attached to the binder.
The reason for that is the following – there exists a link between the individual source documents: the individual Consultancy Agreement, the individual Services Annex and the binder.
The reason for that is if we were to make changes to the binder document then it would start leading a separate life from the individual source document which is why by default these documents are locked. If you want to make changes to the structure of the underlying document the rule is that nine out of ten times you’ll want to be able to do that from the individual source document. You can of course click that padlock icon to open this document up and as soon as we do that you can see that there are all of these options available to change the structure of the document. But as soon as you start making changes that way, you are going to be creating a copy, so this this binder document or this version of the document included in the binder is going to start looking different from the individual source document.
If all of that is confusing really the only thing that you need to remember is changes to the Consultancy Agreement are made in the individual Consultancy Agreement and not in the binder because those changes will be made from the individual document to the binder.
With all of that out of the way, we can also create this this file. We’ll call this a Consultancy Agreement + Annex just to differentiate it from the original Consultancy Agreement. We will display that as a binder and we will save that in the “my documents” folder. So, save that binder and then there’s only a few more things that we need to do.
First of all we need to create a definition for the services which indicates that the services shall have the meaning set forth in Annex 1 and of course we need to create this cross-reference as well in this first article. We can navigate into that clause and we can actually make changes here in that clause because, remember, aside from the explanation that I just gave in relation to the individual document and the binder, clauses remain files unto themselves. So, clauses are fair game.
You can make any sort of changes in the library clause and it will immediately be reflected in all of the documents or binders or Q&A’s that make use of that clause.
It’s just the structure of the document, the existence of certain clauses, the removal of a certain clause, the location, all of that is padlocked in a binder. So here we can just create a cross reference as we would ordinarily. We will just create one with the help of a basic cross tag which we’re going to call “annex-services”. You can see that no annex-services tag has been found, and now you may be wondering “How do we create a cross reference to an Annex, how do we find the cross-tags menu for an individual document?” and the answer is fairly simple – if we navigate to the binder menu and scroll all the way down we can go into the “properties” of the individual documents contained in the binder or the binder itself in its entirety.
In this case, we’re opening up the properties of Annex 1, and you can see that it just opens that document up in the edit menu as you would ordinarily also do with clauses. For this document, you can see it’s differentiated from the other tab by virtue of its icon. You also have quite a few different options including also cross-tags. So we will add the cross-tag “annex-services” and then save that in the library, and immediately the cross-reference is made, but of course we in the source document are not referencing to Annex 1 – Services, we just want to refer to the shorter title of Annex 1. That’s why in the binder menu you can see that we have these full titles for the document which are displayed at the top, which essentially function as the document title in the document itself, but we also have these short titles so we can indicate that we would like to reference the document in the short version by filling out “Annex 1” and then that reference is correct.
We can do the same for the definition itself. So, if we go into the terms menu, we have no definition chosen yet for the services. We can create a new one in the library in which case we will drop this in the definitions folder, and there we will indicate as stated in the base document – shall have the meaning set forth in Annex 1 – so we’ll indicate the definition like so. Then immediately in the terms menu, we will be able to set up this new definition.
✅ That essentially concludes all of the things that we need to know about binders.
⏭ To complete the automation of this new version of the Consultancy Agreement in the next chapter, we’re going to take a look at how to make sure that the styling remains consistent across these documents and how some of the more advanced styling functionalities work.
Now to wrap this document up, there is only one clause left to create, and that is the signature block. If we take a quick look at the source document, you can see that the signature block is set up as a table where the borders have been made invisible. The table itself is stretched across the width of the document. And where the template author has also included some comments, that require us to repeat some of the conditional logic that we used in the introductory clause.
So the same questions are being asked here: is the consultant a legal person, yes or no? Depending on the answer to that question, different content should be shown.
So let’s take a look and see how we can recreate that setup in Clause9. Now before we move on to that, you can see that the edit menu has quite a few tabs open, which we don’t need anymore. Which is getting a little bit cluttered, we can close them all individually. But a quicker way of doing this, is just to hold down the shift key and then close one of these files that are currently open. Then automatically all of them close all at the same time.
So now we can move on to the creation of a new library clause. We don’t really have a folder to place the signature clause in, so we’ll just create a new folder called signatures. We’ll place this new clause inside of that folder, the same file name can be something basic like for example signature block. Ordinarily we would be creating the content title if there were any for this particular clause, there isn’t any so we can just leave it open, and the content body via the import mode.
But if we take a look at the global panel, you can see that this mode is not really optimized for creating tables and so there’s a better way to approach this for tables, which we’ll take a look at now. So we’ll go into the content body and manually construct this table. Now in order to create tables in Clause9, you construct cells by using two pipe symbols to mark the beginning of a cell and two more to mark the end. If you then add two more after that, then you can see that you’ve created two cells right.
The first two pipe symbols mark the beginning of the first cell, the pipe symbols in the middle mark the end of the first cell but also the beginning of the second cell and then the last two mark the end of the second cell. You have now created two cells, so you’ve essentially created a row here.
If we now fill out some contents like for example for the consultants and for the company. If we then save and insert that clause, then you can see that we have created our first row. The only thing we need to do then is to repeat that exercise three more times in order to create a total of four rows, where we can then start adding new content. A quick look back at the source documents says that in the second row we need to include some room for the consultant and the company to include their signatures. And in the final two rows we’re filling out the name and the function.
Now the signature cells, the dotted line so to speak are a little bit special. So let’s first take a look at the name and the function and then we can move on to the signature to the dotted line cells so to speak as a second part.
So first of all we’re filling out the name, here the template author for the consultant has indicated that if the consultant is a legal person, then the name of the representative should be shown. If the consultant is a natural person, the name of the consultant should be shown. So we’re just reusing the datafields and the conditional logic that we have already created.
Again we’ll start with a curly bracket and if you don’t remember the datafield that you used for this earlier you can also hover your mouse over this consultant item here at the bottom of the screen. Then you can just click the datafields to automatically insert it in the documents and then we just complete the rest of the condition. So if it is true that the consultant is a legal person, then we are including and then we can do the same thing here, the consultant’s representative name. But if it is false then we are simply including the consultant’s name.
Then we’ll close that condition off and we can also obviously move the table a little bit to make everything a little bit clearer, and a little bit easier to work with.
Then for the company, the issue is a little bit more simple. So we can then just say that we are referring to the company’s representative name. For the function we’re dealing with a similar issue, except this time no content should be included if the consultant is a natural person. So in other words the content in this cell should be subject to the condition that the consultant must be a legal person.
That just means that we’re writing the same condition, so consultant legal person is true and then we’re just writing the function of the consultant’s representative. But we’re not providing Clause9 with any situation, where that situation might be false, because of course no content needs to be included. So we can just subject the contents of this cell to the exclusive condition of the consultant has to be a legal person. Again the function for the company’s representative is fairly basic, we just include the company’s representative function.
If we now save that document in the library and save that clause in the library, we can see that these changes are added. That brings us to the signature clause, now you might be tempted to just write something along the lines of signature and then a whole lot of dots. But that doesn’t really reflect, as you can see here the appropriate style for this particular cell.
So what you can do is, you can use a sort of special command to automatically style this particular cell as the cell where a dotted line for a signature needs to appear. You do that by writing percentage, signature, percentage. So now you’ve defined the formatting the style of that cell and you can still include some content like for example signature, colon. We can then copy all of this contents to the second cell and there you can see that a proper formatted cell is automatically generated.
Now of course that means that the content for this particular clause is up to date, that it is in line with the source document. But the look and feel is still far from ideal, in order to hide the borders, in order to stretch this table across the width of the document, we are going to have to set up some custom styling. Because as you can see, the current table styling is the default styling and so we need to diverge from this default styling. For this individual class we’ll go to the custom styling and so the custom stylings body.
If we then, because obviously you do have the option to also adjust the title, but here we’re working in the content body. If we then scroll all the way down, you can see that we have several table settings.
The first one is the alignments, now the default setting says that the table needs to be aligned centrally. But we want it to fill the entire width of the document.
Then we can also portray how the borders should be used. So in this case we can toggle these settings on and you can see that the borders around are typically portrayed as being present, we can turn that off individually for each type of border. Both the borders around the inside borders horizontally and the inside borders vertically.
If we then save this clause in the library, you can see that it actually reflects the formatting of the source document. We can create an export to actually see what that would look like in practice, aside from just the interactive preview.
Quickly want to see an interactive preview of your document? Just hold down the shift key, as you click the pdf button, and then as you can see an in-platform preview is generated of what an exported pdf document would look like.
Then you can see here that the clause features the correct look and feel when compared to the source document. There is only one minor tweak that we can still make, which is that there is far too little space between this top of the table and the fees clause, or currently the last clause. If you take a look at the source document you’ll see that it actually features a little bit more space as you can see here. So that’s also something that we can set up from the custom styling menu.
Here we’re just going to create some additional block spacing above this clause so let’s maybe set that to one centimeter. You can choose which unit of measurement you would like to use, let’s use one centimeter for now and then you can see that this space has been created.
Clause9 allows you to augment your clauses by linking them to other clauses and thereby indicating that those two clauses are alternatives of one another. That way you and your users can quickly switch between potentially useful clauses on the fly.
The first instance where we can use this is in the new services clause. If we take a look at the base document you can see that the template author has indicated that these need to be alternatives of one another.
Q&A users do not have the option to switch between these two alternatives because the alternatives functionality is exclusive to document assembly.
Now, let’s actually enact this link for the document that we have open in Clause9 right now. As stated earlier, it’s essentially just a link between two clauses.
🔗 Links are something that we’ve used in the framework of cross-referencing, but it’s easy as well to not just link to a concept but also to a clause.
So, if we open up one of these clauses that we’re going to be linking to, we can then navigate to the links menu as mentioned earlier. This clause is already linked to the concept of services, specifically that this clause serves as a definition for the the concept services which is why this definition is portrayed here. Now we’re going to create a new link and we’re not going to link the clause to the concept of services – rather, we are going to link it to the alternative clause that we created previously where a reference is made to the Annex.
🔗 You can see that the new link is added to the menu as soon as we click “Save in library”.
💡These two arrow icons will pop up next to the clauses and they will indicate that alternative clauses are available. If you then click that icon you can see which alternative clauses Clause9 has found and you can switch between them on the fly.
Note also that as soon as we remove this “list in clause” clause from the document, the definition for services disappears because the clause creating the definition for that term is no longer in the document. That’s really all there is to to alternatives.
One other way to create these alternatives exists and the way that we’re going to be looking at that is by creating the new Annex that we saw earlier, but for now we can also just remove this original clause from the document. This will not delete the clause in in its entirety, this will just remove it from the document. We can do that by selecting it and then clicking this “– icon” in the top left hand corner.
Then, as for the Annex, let’s take a look at the source document. It’s located all the way at the bottom of our Word file where you can see that two alternative clauses are added. One is a table that sets out the services and one is a clause that sets out the services. The table is the default option, the clause is the alternative option. As you can see here now, since an Annex is a separate sub-document, it’s not necessarily part of the main agreement. It can exist on its own. We will also be creating a new document in Clause9 and we will be adding the two – the main Consultancy Agreement and the Annex together later.
So, moving on back to Clause9. We are now creating a new empty document by clicking the “+ icon” in the top right-hand corner. We are starting by filling out the file tab where we can indicate that the name of the document and how it’s going to be portrayed in the library is something along the lines of “services annex”. We can ignore the document category for now.
📁 We can indicate that this document is a template and not a concrete contract that we’re creating for a client and then by default it will be stored in the “My documents” folder.
So, we’ll save the document. That means that it has now been created. One final thing that we can do is we can add a document title. If we quickly switch back to the Word file then you can see that it says Annex 1 –Services. So here we will write Annex 1 – Services and then it’s just a matter of adding our two alternative clauses. I’ll go through the process very quickly here to create a new library clause. We are automatically prompted with the the Services folder in the library and that seems like a terrific location to place this clause. For the file name we’re going to choose a name that allows us to quickly see what this this clause does andwhat it is primarily for. So let’s go with “Annex Services in table” and I feel like that gives us sufficient information to distinguish from the other services clause that we have in the main Consultancy Agreement. There’s no content title for this table so we can move on with that.
Then, we can just start recreating the table in the content body which, as you will remember from the signature table that we created earlier, is done by creating these virtual vertical pipe symbols (||) that indicate the beginning and end of a cell. If we do that three times in a row here and three times in a row here then we’ve essentially created a table with two columns and two rows.
If we take another quick look at the original table we can see that this first row contains the the word “service”and the word “description” in bold so we’ll add that surrounded by tilts (~) and we’ll write service (~service~)and here surrounded by tilts we’ll write description (~description~).
We can also create data fields here. As you can see that’s something that we’re going to tackle in a different chapter because as you can see here an individual table row should be created for each service that the consultant provides. That’s another advanced functionality that we’re not going to focus on just yet.
So that’s essentially it for the content here. Now, of course this is still a far cry from the look and feel that we have in our source document. So what we’ll do is we will first indicate that this row is a header row – that means that the this gray background will be provided and that also gives us some more flexibility on the styling front. The way that we indicate certain cells to be header cells is by creating a new row below the header and just creating three dashes (—) and you can see that Clause9 recognizes what you’re doing because the dashes change color.
Clause9 knows that you’re creating a header row here and as you can see as soon as we click “Save in library” that header is now portrayed in gray. But, even more importantly, if we go into the custom styling menu and create some custom styling for the body you can see here that we are given the option to give a different background to header cells and a different background to body cells. That gives me us more flexibility on the styling front. For now I’m happy with this this gray background so we won’t be going into detail on that anymore.
What we will do however, much as we did for the signature table, is we will indicate in the alignment settingsthat the table needs to fill the entire width. Finally, we also see that the services column is significantly smaller than the description column. What we will do here is we will indicate that the cell width needs to be set to let’s say 30% for the first column and 70% for the second column and that approximates themeasurements of the table in the source document a little bit better. That’s essentially it for our first alternative.
Let’s go ahead and create our second alternative clause. We will create a new library clause. We’ll call this one not Annex services in table but rather services in clause or clauses. We’re going to put this s in between brackets because as you can see here an individual clause should be created for each service the consultant provides, so we know that this is a clause that’s going to be multiplied a few times because we potentially have multiple services. For the content title we can see that it says service, colon and then a data field which, again, we’re not going to be immediately including. For the content body we can see that it says description in bold in the first paragraph and then a data field which, again, we’re not immediately including and then a second paragraph that contains this text.
Now, you may want to copy it and then paste it using the paste optimization.
The basic rules apply there. Of course you first remove the article, put a # in front of the term that you want to turn into a concept and you capitalize it if it is at the start of a sentence. So, for #parties that’s okay, for services we note that there is no article included in front of services. It doesn’t say these services so we are writing “–“ and then a lowercase services because it’s not at the start of a sentence and the minus refers to the fact that we’re dropping the article. The consultant, same as the parties, remove the article, write a # and then keep the “c” capitalized because it’s at the start of a sentence. Finally, for the services, we are removing the article, writing a # in front of the term and using a lowercase “s” because the concept is not at the start of the sentence. Then we can save and insert and then we have our second alternative clause.
Now to link these two together, we could again just establish an outgoing link from one clause to the other. But, there is an interesting alternative way to create these alternatives which is done by linking two clauses to the same concept. This essentially indicates to Clause9 these clauses refer to the same subject matter therefore they must be alternatives of one another. So, if we create an outgoing link from this second clause to the concept of services, it will not indicate that this is a definition for but rather this concept just implements the services.
That means that it has the services as its subject matter. Then we can save that in the library and then we can do the exact same for the the first clause that we created. So we’ll go to the links menu and we’ll establish a link to the services concept. We’ll quickly save this in the library and a new alternative icon pops up. We will quickly do the same for our our second clause and then here also the alternatives icon pops up and that allows us to switch between these two alternatives as well. So, that’s another interesting, secondary way to create alternative clauses and that’s essentially it for the different ways in which you can create alternatives.
Finally, it is time to add the one numbered clause that is still missing from our source document, and that is the definition list. Now definition lists in Clause9 are generated centrally, and reflect all of the content that is included in the terms menu. So the concept labels that you have chosen for your individual concepts, as you can see here, will be reflected in the definition list. As well as the definition that has been assigned to that concept label.
Before we move on to actually creating a definition list -, let’s take one final look at our termination clause that we automated previously. There is still one minor correction that we need to make which is, if you take a look at paragraph 5.1 you can see that it says either the party, because it just says #party here in the content body. If we drop that article by inserting a dash symbol behind the hashtag, then you can see that this is grammatically correct.
Now moving on to definition lists, they are generated by clicking the plus icon in the top left-hand corner and selecting definition list. These definition lists behave mostly just as any other clause, they are however ad hoc in nature. So of course they are exclusive to this particular document. If you select the confidentiality clause and then generate the definition list, then it will appear below the selected clause. If you remove it and make sure that you don’t have any clause selected, then the definition list appears at the bottom of the document, when it is generated.
Either way, we can move it all the way up to the first article, by just using the arrow icons.
Then you can see that the definition list is still empty, as I said earlier, it is in the terms menu that you will actually define the content for what needs to appear in the definition list. Here you can see if you click this arrow icon next to the individual terms, you will first of all receive an overview of all the definitions that Clause9 has found for this concept in the library. In this case we haven’t really created any definitions yet, so it’s not going to find many of them.
You can then either create a new one ad hoc or in the library. Obviously, the difference here again, being the same as the difference between ad hoc clauses and library clauses. In that library clauses can be reused through our different documents, whereas ad hoc or rather library definitions can be reused through our different documents, whereas ad hoc definitions are really limited to this one document.
You can also explicitly indicate that you don’t want to show a definition and since our base document, our source document, only really features two definitions, confidential information and services, we don’t actually have to create any definitions outside for those terms. So we can indicate for every single definition that isn’t confidential information or services that we don’t want to show a definition. Now this doesn’t need to happen in order to make the definition list function. It’s more of a mental note for yourself that you didn’t choose a definition but that was by design.
So there are two ways of adding definitions another quick look at the source documents, the document also reveals that.
You can either have this text simply included for the definition itself.
Or you can refer to a clause where a definition was included in line or a term was in in any other way explained in the documents.
Start with the confidential information definition, copy this text and then if you click the arrows icon you can see that a definition was already found in the library. But here we’re going to create our own.
So we’ll click create a new in library. We’ll navigate to the library, because just as you created a concepts folder you will now also want to create a definitions folder. For much the same reason. First of all it allows you to store that content centrally in one location but also non-class authors don’t really need to interact with these files and so for them these folders will typically be hidden.
Create a definitions folder, click select folder, automatically the file name is already taken from the name of the concept that this definition is attached to. Automatically the link between the definition and the concept is also created on the spot. And as for the content body, it’s just a matter of inserting the right content, we don’t need to include the actual name of the term itself. We only need to include the actual content of this definition, we can even remove the punctuation marks at the end of the definition because that is something that Clause9 allows you to define centrally in the styling settings. We will come back to this later in this chapter.
And so with that out of the way we can simply save this new definition, and if we then go back to the terms menu you can see that now a second option is available to us and we can just click this definition to activate it in the definition list. So as you can see the definition list simply reflects the contents that was included in the terms menu. That’s one way to create a definition.
Another way is to reference a certain clause where definition or whether term is defined in line. We already saw that, that is the case for the services clause. So the way that we approach that is: we first navigate to the services clause, we can open that clause up and we’re going to establish another link with this concept. So we’ll go to the links menu much as we did for cross references, we’ll establish an outgoing link with the services concept and then as you can see here, the standard default option is to have this clause implement a certain concept.
Now that’s what you use for cross references and what we looked at earlier, but you can also open up this drop-down menu to select that this concept or rather this clause is a definition for this concept. If we now save that in the library and go back to the terms menu, you can see that a new default definition was assigned to this services clause. If we scroll up, that the services definition has been added, so these are two practical ways to work with definitions.
Now there is still one optimization that we need to perform in the sense that the source document has a peculiar setup when it comes to the to the definitions clause. So there is no number assigned to this clause and the definitions themselves are arranged in a list of bullets. The way that we can approach that is: well first of all like I said earlier, the definitions clause behaves much the same way as any other clause does. So you can easily select it and toggle off the numbering, however that of course turns off the numbering for the definitions themselves as well.
So here we’re going to have a quick look at the styling menu, specifically the definitions styling. As you can see there are many different styling settings, we need to be working with the definitions styling. And then if we customize the default style, we can indicate that we would like the definitions to be shown as bullets. Then there’s all sorts of other different options, of course to fine-tune how the definition list should be styled.
For now we only need this one and then as you can see here, this clause now reflects the clause in the source document. Save for one element and that is the fact that the title here is not definitions but definitions and interpretation. Again the definitions list functions much the same way as any other clause would so we can double-click that clause to open it up in the edit menu and here in the content title. We can then indicate that we want the title to be definitions and interpretation and then our clause accurately reflects the source documents.
So, if we jump back into our Word document, you can see that the template author has indicated, for the first option for displaying the services in a table format, that an individual table row should be created for each service. For the clause, the alternative setting out the services, an individual clause should be created each time a new service is entered into the document. The way to recreate this in clause base is with the help of repeating list data fields.
Repeating list data fields are essentially the data fields you’ve come to know and love over the course of these past few chapters, but with the added twist that they can be repeated as many times as you like. So, think of a normal date type data field ordinarily in in such a data field you would be able to fill out a single date and that would be it but with the repeating list data fields of the type date you can fill out an infinite virtually infinite amount of dates as you go through a document which of course opens up some neat different options for portraying your document. So, let’s jump back into Clause9 and open up the Services Annex.
What we’ll do first is we will just create these data fields that we were still holding out on. Here we’re going to write #services^names and here we’re going to write #services^description.
💡 Notice how we’re using the plural of the data field. That’s deliberate, that’s a personal trick that I enjoy using to really identify that we’re essentially going to be writing multiple names, multiple descriptions here, and that a repeating list data field is the way to go.
So, the way that you create these types of data fields is very similar to the way that you’ve created other data fields in the past only this time we’re not a text data field. We are creating a repeating list of the type text, so as you can see here, as you hover over this repeating list option, repeating lists are essentially the data fields that you’ve been using for a while now, with that added special element of them being repeating.
So, here we’re just going to create a repeating list names data field and a repeating list descriptions data field both of the text type and as soon as we click “Save” in library you can see that the repeating list data fields are portrayed a little bit differently from normal data fields. Because of their technically more advanced nature, it’s not possible to fill them out in the interactive preview, but you can fill them out in a sort of table format like this or, and that’s maybe even easier, you can go to the data fields menu where you can then create new elements for names and services.
Since the template author asked us to create a table that would repeat individual rows as new elements are added, that’s exactly where repeating list data fields come into play. You can see here, as soon as I add new elements to the names, but the same would go for description. Of course, new rows are added into the table and this is done fully automatically because Clause9 knows that it is creating repeating with data fields and when those repeating list data fields are included in a table, those rows are automatically repeated.
That’s all there is to creating a repeating list data fields in a table, to repeating those individual rows.
It gets a little bit trickier when it comes to using the same kind of logic in clauses and we’ll have a look at that right now. We’ll reuse, for services descriptions, the same repeating list data field that we just created here in the title. We’ll also use the services names type data field that we just created and then the same principles apply.
So, we can go into the data fields menu and we can indicate, for example, that we have one service which is called “marketing” and another service which is called “legal advice” and another one which is called “sales” only this time you’ll note that – yes, the table is repeating each row, but the clause is just enumerating the elements included in the repeating list.
The reason for that is that if you use a repeating list in a table then clause base can comfortably assume that you’re trying to repeat the individual rows of that table. However, if you’re using repeating list data fields in a clause it cannot make that assumption as comfortably because there are many different things that you could be wanting to do with those repeating list data fields. So it’s up to us to really indicate in the clause – “yes, we are trying to repeat those clauses” every single time a new name, for example, for a service is added.
The way that we do that is we select the clause, navigate to the advanced menu and then indicate that we would like to repeat the clause. Now, it’s by default set to show only once, but we can indicate to Clause9 that we would like to have this clause repeat for each specific repeating list data fields that is being filled out, and in our case that’s, for example, going to be the services names data fields.
This means that every single time a new names repeating list data field is filled out a new clause will appear. So, every time a new entry is created, a new clause will appear, and you can very clearly see that here we have one clause that says “services marketing”, we have one clause that says “services legal advice”, we have a third clause that says “services sales”. The individual elements that you can see here for the descriptions also match the levels for those individual elements for the name. Right now here the marketing is our first element, so if we add a description, called “alpha” for example, it will be attached to this first element in services names. If we create a second element for the services description, it will be matched to the second element in the names, which is of course legal advice. And finally, if we do the same here for the third element, then it’s going to be attached to that third element.
✅ That’s essentially all there is to using repeating list data fields in document assembly mode.
❗️In a later chapter we’re also going to take a look at how they operate in a Q&A type setting.
⏭ The only thing that is left for us to do is to amend this final paragraph a little bit because we don’t want to repeat it every single time along with the individual clauses. That’s going to be the topic of the next chapter!
The conditional logic that we looked at in previous chapters should primarily be used to create legal nuance. Most document automation tools will also have you use this kind of conditional logic to affect grammatical changes, for example when a word needs to be changed from its singular version to its plural version. In Clause9 that's not necessary, you can use the flexible terminology that you created with the help of your concepts, to also create flexible grammar.
The clause that we’ll be taking a look at in this chapter in order to showcase that a little bit, is this independence clause. As you can see the template author has indicated that the verb to agree, needs to be adjusted flexibly, in accordance with the question “is there a singular consultant here” or “are there plural consultants”? We also need to be able to flexibly and automatically choose the correct pronoun, depending on what we have indicated that we would like the consultant to be identified as.
So let’s start the way that we always start, by creating a library clause. We’re automating the independence clause which we don’t really have a suitable folder, so let’s quickly create a new one. Then select that folder, the file name can of course be something basic like independence, but the content title and the content body is something that will import directly from the global panel. So I’ll open up the global panel, I can see here that this clause is perfectly ready to be imported as is. So we just click the import icon next to the title of the clause and then as you’ll see, both the content title and the content body have been inserted.
The only real clean-up that we need to do is we need to remove this article in front of the services, because of course Clause9 constructs the article for you when you’re using these kinds of concepts.
Then of course we still need to create this concept, let’s go through that process again very quickly. So we click the error notification, create a new concept, place it in the concepts folder and then since we are using this concept as a term that is actually used in the content body, we’re also going to attach a new concept label to it. So we’ll write service, but as you saw in the source document we don’t actually refer to this concept as the service, we refer to it by default in plural” the services”. We haven’t really looked at these drop-down menus, but here you can see that the term will be placed by default in singular, which has been fine for every single other concept that we’ve created so far. However we’re going to put this into default plural because we by default need to show this concept or rather this concept label as its plural form.
So save in library, close this concept since we don’t really need it anymore. And then the only things that we still need to do are: to create this flexible grammar that I was referring to earlier. The way that you do that in Clause9 is:
First delete this placeholder and then use an opening angular bracket, and then write any form of the verb that you’re making flexible (so either the singular version or the plural version), in our case we’ll write “agrees” for example.
Then write a colon and then the concept, the flexible terminology that you’re trying to have this verb conjugated with
Finally write the closing angular brackets.
So what we did here is essentially, is instead of writing the word agrees in a sort of hard-coded fashion, we’re essentially saying: “Clause9 please take this as your base verb but conjugate it in accordance with whatever we’ve decided should be used for the consultant”.
So either the singular version or the plural version for example in different languages, that also may have for example in gendered languages, there may also be this impact of certain genders having different conjugations for these kinds of verbs. All of that is taken care of by Clause9 automatically, so if we now click save and insert we can actually start playing around with this a little bit.
You can see here that the clause itself says that the consultant agrees to perform the services. If we now go to the terms menu and indicate that we want the plural version of the consultant, then not only do we now refer to the consultants agree to perform the services, but even this possessive form at the start of the sentence the consultant’s provision, has been changed to its plural version. So if we switch back for example to the singular version, you can see that it says the consultant apostrophe S, but if we switch to the plural version then it says consultants apostrophe.
We’ll quickly revert back to the singular version so that we can also take a look at this next bit of flexible grammar, that we need to introduce.
Now there is another way to indicate to Clause9 that you want you want to use this kind of flexible grammar. Writing the full formula that you see here may become a little bit cumbersome, especially if you’re using a lot of different grammatical flexibility in one specific clause.
So a shorter way of writing this could also be, for example same principle: open the angular brackets, write a basic standard version of a pronoun like for example his, and then instead of writing colon and then the concept, we just close the angular brackets. But we also surround the concept that we want to have this pronoun conjugated with. We surround that with angular brackets within the same clause and if we now do that, you can see here that the term used or the pronoun used at the end of the sentence, here in this clause says according to his own judgment.
Now we can actually start playing around with that, let’s take another look at how to use different kinds of concept labels, so we already looked at establishing a concept label here via the predefined list concept labels.
You can also use this create new menu to create an ad hoc concept label so to speak, for just this document. So we could switch for example the gender from male to female, so that the female pronoun of her own judgment is inserted. We could even switch that also to neutral for example. So that it says according to its own judgment.
But nothing is stopping you from including these options into your list of predefined concept labels, so you don’t have to rely on this create new option. You can also open up this consultant concept, go to the concept labels menu and just create two more versions, which are identically named. We’re both referring to the consultant, only this time the pronoun will not be male, the pronoun here will be female and the pronoun here will be neutral.
If we then click save in library, close this concept and go back to the terms menu, then you can see that these options have now been included in our predefined list and we can automatically select from them without having to make this sort of roundabout approach. Taking this roundabout approach via the create new menu.
That’s basically a summary of how to create grammatical nuance in Clause9.
Only complete the following exercises when you have completed the Intermediate Clause Author Tutorial. Add the clauses for these exercises to your exercise document.
Write a condition using a true/false datafield that answers the question: Is the license exclusive?
16. Special Papers
The Licensee agrees to execute any and all papers, documents, or other instruments which may be found necessary or desirable to affect the [exclusive OR non-exclusive] right and license granted to the Licensee.
Watch:
Write a condition using a text datafield with three predefined options:
by licensor
by licensee
by mutual consent
Three pre-defined options that should automatically be activated depending on the method of termination:
If ‘by licensor’ is chosen, write “termination by the licensor”
If ‘by licensee’ is chosen, write “the termination by the licensee”
If ‘by mutual consent’ is chosen, write “a termination by mutual consent”
17. Termination
The Parties confirm that the Agreement will definitively end pursuant to [method of termination].
Watch:
Write a condition using a list of text datafield. Create three predefined options:
corporate restructuring
breach of contract
financial difficulties
The following text should appear depending on which predefined option that has been selected:
If ‘corporate restructuring’ is among the chosen options, write “a corporate restructuring within the Distributor which may have a material impact on the Manufacturer.”
If ‘breach of contract’ is among the chosen options, write “any material breach of any terms under this Contract or an Order by the Distributor”
If ‘financial difficulties” is among the chosen options, write “when the Distributor suffers financial difficulties, however such financial difficulties may be evidenced”
18. Event of Default
Each of the following events occurring for the Distributor, shall constitute an event of default under this Contract for the Distributor:
Watch:
Write a condition that allows user to enable or disable the entire clause. The clause should only be enabled if the Employment agreement is concluded for a specific duration.
19. Specific Duration
The Employment Contract is concluded for a specific duration of 6 years, starting on [start date] and ending included.
So, you are already familiar with special functions from a chapter in the previous tutorial series. In this chapter we’re going to look at a few more.
But remember, our goal is not to give you this comprehensive overview of all the available special functions. The idea is to generate a reflex, a sort of instinct where if you say “I need to create special manipulations of the text, I need to create some conditional logic and I'm not quite sure how to do it” - chances are the special functions list is going to be of aid in those scenarios and as a reminder you can very easily access the list of special functions from the grammar sheet itself.
Let's take another final look at how different kinds of datafields can help you to create different kinds of conditions. The clause that we'll be tackling now is the non-compete clause. You can see that the template author has already indicated that the entire clause needs to be made optional. So whereas previously we had only made certain words or sentences or paragraphs optional we're now doing this for the entire clause, which of course adds a layer of complexity.
💡This time around we are taking a look at some more advanced functionalities by updating our existing Consultancy Agreements that we made in the previous tutorial series based on the new template that has been provided by the template author and which you are currently looking at.
Let's continue our walkthrough of the functionalities with special functions. Now special functions refer to a range of different commands that you can use to perform all sorts of manipulations of the text, in order to optimize how it is portrayed. In this chapter we'll take a look at two clauses in particular that are greatly benefited by the inclusion of special functions.
The first clause that we’re going to be taking a look at is the services clause. As you can see here, the template author has indicated that we need to create a bulleted list of services, so that’s exactly what we’re going to do.





{#concept^datafield = true: text if the answer is true | else: text if the anser is false}More information on the structure of conditions .
This is exactly where an action button comes into play. So, let’s do just that. We’re going to go back into our Clause9 menu and we are going to go to the termination clause, which as you can see still features the original paragraph 5.3. We’re going to cut that out of the content body and save the new termination clause and then we’re going to create a new library clause inside of the term and termination folder which we are going to call “survival”. We’re going to also include the content title. We’ll copy that from the file name and then finally we’ll paste the paragraph that we took from article 5 into the content body. We can then optionally also turn paragraph 3 into paragraph 1. It doesn’t really make any difference, but this is a little bit cleaner.
As soon as we click “Save and insert” our new survival clause has been created and then it’s just a matter of taking these three bullets and kind of performing the same exercise on them – turning them all into individual subclauses.
We’re going to cut all three bullets out of article 5. We’ll again save our changes and then we’re going to create a new library clause, but before we create a library clause we’re going to go inside of the “Term and termination” folder and we’re going to create a subfolder “Termination events”. Why that is important you’ll see later on when we create the action button.
In just a general sense of keeping your library tidy it makes sense to also use these subfolders so that you can much more easily retrieve your material from a given folder.
We’ll create a new regular folder inside of the term in termination folder which we will call “Termination events” and then we’re going to place our new clause into this termination events folder.
We’re going into the content body first because we know that we have three bullets and just want to check which one is first, that is obviously the termination for disloyalty dishonesty or fraud so we’re going to cut the two remaining bullets out and give this a file name “termination for dishonesty, disloyalty and fraud”, no content title needed, the content body is fine as it is, and so we can “save and insert”.
Now, do note that, of course, if you have a clause selected and then create a new library clause it’s automatically going to be inserted at the same level, which is not what we want. We want this to be a sub-clause of 5.2, so we move that right two times just so we make sure that it is an actual sub-clause and then we repeat the exercise. So, we create a new library clause inside of the termination events folder again. We’ll go into the content body first and check which one is up next. We’re going to cut the last bullet out of there and then see that this is the “determination for demonstrably poor delivery of services” so we’ll call this termination for poor delivery or poor delivery of services, doesn’t really matter all that much. No content title needed and the content body is fine as is. So, again we save and insert and then we can also optionally indent it one level to the right ideally and then we just have the final sub-clause to take care of. Again, new clause in the termination events folder, we’re going to go into the content body first, paste the clause in question unreasonable refusal by the consultant to carry out the services. So, we’re going to call this “termination for unreasonable refusal to carry out services” no content title needed again, content body is fine as is, so we’re going to click “Save & insert” and again, we can indent it one level to the right additionally.
Now we have our individual subclauses, but of course we still need to create the action button that would allow us to activate these subclauses at will. Since the action button serves to enrich an existing clause and add subclauses to that clause, that means that we’re going to attach the action button to our original termination clause article 5. To attach an action button to that clause, we just open it up in edit mode, so we double click it and then we go to “More” and select “Action button” and then we create a new action button.
We can just fill out all the information that needs to be filled out. In this case, the button caption just says what is going to be portrayed, what’s the text going to be that’s on the button. In our case, that’s just going to be “termination events”. The button position is either above or below the subclauses. I personally prefer above, but you’re free to do with that as you please.
Then you can see that the action in question for which the action button gets its name is manifold, there are lots of different things that we can do with the action in question.
1️⃣ First of all, we can ask Clause9 to execute a certain search in the search menu based on, for example, a certain keyword, a certain attribute, a certain location, a certain link. All that material we can define what sort of search needs to happen as a user clicks the button. That’s not really what we’re going for right now.
2️⃣ Secondly, we have the option to let our users immediately go into a certain folder in the browse menu as we click the action button.
3️⃣ Finally, we can also manually and individually attach certain clauses to the action button that would allow users to just select from a list, much as the alternatives icon also does.
For this tutorial, we’re just going to go to the selected folder. As you will remember, Clause9 allows us to choose a folder to browse. We specifically created a termination events folder just for this purpose. So, we’ll select the “termination events” folder and Clause9 just asks us what do we do with button visibility, do you want to always show the button or hide it when at least one subclause exists. My personal preference is to just always show it.
That concludes the setup of our action button. If we click “Save in library” you will see that the clause 5.2, or clause 5 in general, now features a green button which is our action button. If we just close all of these individual clauses for a second, except for the termination clause, then you can see as we click this action button, the individual subclauses included in the termination events folder are automatically portrayed. If we just remove those from the document for a second, then we could conceivably click the action button be transported to the browse folder and just indicate “YES”, I would like this to be a subclause here. Then you can also optionally indent it one level to the right even more just to make sure that it is a subclause of 5.2 and not just the subclause of 5. So it’s not on the level of 5.2 but it’s on a one level lower and you can essentially continue doing the same thing to make sure that all of the subclauses are included.
Then we’ll move that one level to the right like so, but of course there is one minor issue that then still pops up and you can already kind of see it here in the list of clauses that we have activated currently. Because we created these individual subclauses, we have also created a lot of flexibility on how, or rather, in which order these clauses can appear and that messes up that messes our punctuation up a little bit.
So how do we solve that problem? Well, we allow Clause9 to make the choice for us as to which punctuation mark needs to appear. To do that, we just remove all the punctuation at the end of each sentence from each individual subclause and we simply indicate to Clause9 in our article 5.2. If we go back into the content body, we simply indicate what kind of enumeration that we are creating and your grammar sheet contains more information on that.
But for now, we want to essentially say either bullet 1 or bullet 2 or bullet 3 and in that case we just write “*OR” and watch what happens when we click “Save in library” immediately the correct punctuation is added to these individual subclauses. We can do the same for *AND if that’s something that we would want to do, and then instead of the word “or” it says “and”. We could also do that for AND/OR and then similar thing is displayed, but of course we need to just do “or” for now. So the way that these punctuation marks are displayed is also something that you can define centrally in your styling menu, but if we now switch the order of these subclauses around a little bit, you can see that the punctuation jumps along with it as necessary.
✅ That concludes the setup of our action button.
🔗 This link immediately takes you into the list of special functions where you can then scroll and check and see whether there’s anything that can help you there. Obviously, each special function is kind of explained with a few words on how to best use it!
For the first special function that we’re going to be tackling in this chapter, we need to again start exploring this particular paragraph which as you remember from the previous chapter we indicated should not be repeated all this time. Also if we take a look at the source document, you can also see that if we scroll all the way down, the template author has indicated that this clause should only be included if more than one service is assigned or if more than one entry is entered into our repeating list data fields from last chapter.
So, let’s do just that. First of all, we’re going to have to remove this paragraph from the repeated clause because we only want it to appear once so it should fall outside of that repetition. Then, we’re just going to create a new library clause. Obviously we’re going to do that in the services folder. We can call that clause something along the lines of “services not exhaustive” for example. Then we just paste the content body. No need for content title. You can optionally also put this paragraph number correctly, save and insert. We can also, of course, turn the numbering off because that’s how it is portrayed in the base document, and then the idea is to enable or disable this clause depending on the amount of services that have been created.
Anytime you hear the word enable, or just generally being able to activate or deactivate an entire clause, you should be thinking of the enabled menu, which was also addressed in a previous chapter, in the previous tutorial series.
What I’m going to do is write the condition that is going to enable or disable this clause using the special function and then I’ll give a word of explanation of what exactly I just created.
This is the condition, this is going to enable or disable this paragraph depending on the amount of services that have been identified, and essentially it starts with this special function @count. What this does is, as usual, you write the name of your special function and then between brackets you write the element that it has its effect on or the parameter that it has its effect on. Here in this particular instance we are saying to Clause9 please count the amount of times that the data field services names has been filled in.
We could have also chosen services descriptions, but since we’re already using that to repeat the clause on right, it makes more sense to just use that one that would also be the most logical field to fill out first is the name of the service. So, we’re telling Clause9 “please count the amount of times that the services names has been filled in” – in other words, how many types of services have been identified and then, if that number is higher than 1, then this clause is going to be enabled. So, we’re going to save that in the library with this condition. Of course, the clause is still being portrayed, but if we go to the data fields menu and we delete two of the services names’ entries, all of a sudden, this clause is deactivated, disabled, because of course there is only one service that is being identified.
That’s our first special function, the @count special function. If we take another look at the source documents, specifically in article 7 or article 6 rather, you can see that an optional cross reference has been included to article 7 where the template author has also indicated that this cross reference should only be included if the clause in question is used. That makes sense because in the previous tutorial series, you will remember, we created conditional logic with the enabled fields that allows us to deactivate or activate enable or disable the non-compete clause so if we’re going to reference the non-compete clause we need to make sure that it’s actually in the document. So, let’s dive back into Clause9 and take a look at how we can do that.
We’ll go back into the Consultancy Agreement. We will first of all set up the cross reference, the way that we would normally do this.
🔗 The way that we’re going to do this in this particular instance is using a link from the non-compete clause to the concept of non-compete.
Since we already have that concept, makes a lot of sense to quickly create a cross-reference on that basis. As you will remember, and as you can also see here from this cross reference, you would just write the paragraph symbol (§), the non-compete concept and “and” and then we can save that in the library. Naturally, at this point in time, Clause9 is going to give us an error notification because no anchor has really been defined. We’re not referencing anything yet because we haven’t linked a clause to a concept.
So, that’s what we’re going to do just now. We’re going to open up this non-compete clause and establish an outgoing link with the concept of non-compete and as soon as we hit “Save in library” here then you are going to see that we still have that error notification.
Why is that? Well, of course, this clause is currently disabled. The condition that it applies to is currently not activated, so of course Clause9 is going to say “yes, you can see this because you’re the author and you need to know that this clause could potentially be activated” but naturally the cross reference is not going to work, so we’re not going to reference that. For all intents and purposes, this clause is not in the document for this cross reference, so the way that we can solve that is if we activate the condition that enables this non-compete clause. Then you can see that the cross-reference is used.
Now the only thing that remains to us is to create conditional logic that allows us to hide this cross-reference if the non-complete clause is not in the document and to show it if it is indeed in the document. The special function that we will be using to do that is what we call the @implemented special function. We’re just going to write the condition in question @implemented(#non-compete): §non-compete and the word “and” which is also going to be inserted here.
Now, the way that this condition works is essentially we are asking Clause9 is the concept of non-compete implemented anywhere in this document, i.e is there any clause in the document that specifically has that implementation link to the concept of non-compete. If that is the case, then we make the cross-reference to the article containing the non-compete and also the word “and” because we are referring to a second cross-reference right after. Now you can see nothing really changes because our non-compete has already been activated, but if we turn this condition off, if we indicate that the non-compete is not included in the list of optional clauses, then all of a sudden this cross-reference is dropped and those are the two special functions for this chapter.
We’ll start the way that we always start by creating a new library clause. We’re creating the non-complete clause here so the boilerplate folder should be fine for that. Create a new file name called non-compete and then of course I can import the content title and content body, directly from my import menu in the global panel. Scroll all the way down and as you can see the indentation for these sub clauses in the compared to the main title of the clause here is perfectly fine. The only thing that we really need to do in order to import this clause is to indicate that the comment by the template author should be disabled, as we’ve done quite a few times already now.
Then just click the import button, we can then also close the global panel and as you can see the content title has correctly been imported. We only need to remove these square brackets and the content body has also been imported. The only thing we need to clean up here is to indicate that this placeholder is not a concept, so as soon as we click save and insert you can see that the clause has been created. Now it’s just a matter of creating a condition that applies to both of these paragraphs.
Let’s say that we were creating a true or false type datafield, let’s say we’re creating a condition with the true or false datafields. Obviously, we’re going to be looking at a different type of datafields but purely as an example we would probably write something along these lines. Let’s say that the question that we’re trying to ask with the datafield: is the non-compete clause applicable, yes or no? Then we could write non-compete applicable equals true colon and then close off this condition at the end of the second paragraph.
Now unfortunately, things don’t work like that. You can not stretch a condition over multiple paragraphs in this way, but the good news is that there is a specific field that you can use especially for this kind of operation. With these field, you’re enabling or disabling an entire clause with one condition or with a combination of multiple conditions. We’ve already looked at file names, content title and content body. Those are the only three menus in the clause editor that we’ve actually looked at.
We’re also going to be looking at this enabled menu, and this enabled menu allows you to do one very basic thing. It allows you to create a condition that essentially enables or disables an entire clause. Perfect for what we’re trying to achieve here, since this field will always contain a condition by definition, it should be a condition that is that is included here. You don’t even need to write the curly brackets so you can suffice with, for example writing non-compete applicable equals true. That would be a valid condition.
We won’t create this concept and create this datafield, we won’t go through that entire process because as I stated earlier, we’re trying to create a new type of condition. One that we haven’t really looked at before.
We’ve looked at true or false type of conditions
We’ve looked at text datafield-based conditions
Now we’re going to take a look at list of text datafield-based conditions, where essentially the datafield type that we’re using is of course the list of text datafields.
I’ll start by creating the actual condition and then we’ll do a quick analysis of what the structure of that condition is.
The Question: Let’s first of all say that the question that we’re trying to ask with this datafield, that’s of course always the starting point, is: “which optional clauses are made available in the document”? Which optional clauses do you want to activate in this document? Let’s say that that is the question since we’re going to be creating a list of sorts you know.
The Answer: We need to be able to answer multiple things, multiple different answers to that question. Let’s say that in this particular case, one of those answers should be non-compete. If we know that that is the question, we know that our datafield is going to be for example agreement optional clauses.If we were using a text datafield, we might write something like this. But since a list of text datafields is essentially a collection of multiple different values, we can’t write it like this because this would imply that the entire collection is just this value and that’s just not true. There can be multiple different values in the entire collection.
The Result: So the way that you write a condition for a list of text datafields or rather for a condition based on a list of text datafields is as follows: non-compete in agreement optional clauses, so essentially what we’re saying here is the value non-compete should be included in the list of values, which we will include in the agreement optional clauses datafield.
Of course, if we then create this datafield, we’re not creating a text datafield, we’re not creating a true or false datafield, we are creating this list of text datafields. Watch what happens as soon as we click save in library. As you can see this clause has now been struck through in red which means that it has been disabled. That’s of course because we haven’t provided the non-compete answer to the question which optional clauses are included in the agreement. Which is essentially the question that we’re asking with this datafield.
If we select this clause and go to the datafields menu you can actually see the reason why this clause has been disabled, you can see that there’s this popup where you can essentially ask why is this clause disabled and then Clause9 will say that the datafields agreement optional clauses must contain the value non-compete. If we were to fill this datafield out, you can see that the clause is now no longer struck through in red and that it has been enabled instead of disabled. If it is in its disabled state, let’s say that we remove this again, if it isn’t in this disabled state, you can see it is structured in red. That is solely to assist you as the user by informing you that there is a clause present here, it just hasn’t been enabled yet.
If you export this document now, this clause will not show up in the export. If there were an article 5 below this article 4, upon export that article would be made into article 4 because of course article 4 being non-compete is simply not present in this agreement. Then there’s one thing of course that we can do that we also did for the text datafields which is to create a predefined. That will allow us or at least other users to more accurately engage with this datafield and with this clause, so in order to add a predefined, we simply navigate into the concept where we created the datafield. Here we click the agreement hyperlink at the bottom of the screen.
Create a predefined: We go to the datafields menu, we select the optional clauses datafields and there we can add this predefined called non-compete. And if we then save this in the library, you can see that we have now been granted an option to fill out the non-compete value for this datafield. And that essentially wraps up how you create this kind of a condition.
Before we fully close off this clause though, it is important to remember that we need to do a few more things to fully automate this clause. Which is to create two datafields here. Now we’ve already created a duration type of datafield, which was the agreements duration. But of course we’re dealing with a different question here, we’re not dealing with the duration of the agreement, we’re dealing with the duration of the non-compete obligation. Sometimes the two might be the same but in many other cases the two will be something different.
So while you might be tempted to write #agreementduration here, in reality you’re asking a different kind of question, you’re not asking the agreements duration, you’re asking the non-compete obligations duration. So ideally we write this type of datafield here, so we’ll quickly create this new concept. We’re not using it as a term so we don’t need to immediately include a concept label. And then of course we’ll turn that into a duration type of datafields.
Then if we select a type of datafield, that we’ll be creating for this for the particular datafield, you may also be tempted to say that this should be a number datafield. But the correct type of datafield is the currency datafield, because as you can see here, if we quickly create this datafield. A currency datafield allows us to fill out both a number and a currency of which type of sum of money essentially, this this refers to. So we could fill out something like five euros or five US dollars or five British pound.
That’s what a currency datafield allows you to do and again it’s important to always choose the right type of datafield because that also allows you to do all sorts of mathematical equations, as we looked at in a previous chapter.
But other than that those are the only real tricky bits in this particular clause, so as soon as we have saved this we are ready to move on to our next clause.
If we scroll down this document a little bit, you will immediately notice that the styling has been changed rather significantly, but also that some of the existing content by way of track changes has been amended a little bit. If we scroll down even more you will also see that new content has been added like this entire agreement clause and if we scroll all the way down to the end of the document you will see that we even have an entirely new document attached to our Consultancy Agreement by way of an Annex.
1️⃣ What we’ll do first is make the necessary changes to the contents – that means adjusting the existing contents and creating new content.
2️⃣ Second, we will move on to styling, so making sure that the look and feel of the document in Clause9 matches the look and feel of the Microsoft Word document.
3️⃣ Lastly, we will move on to making any necessary adjustments to the Q&A based on all this new content that we will have added.
So let’s start with something basic. We’re going to be creating new content. This services clause, as you can see, is going to be adjusted. Whereas our initial services clause referred to a list of services, we now need a services clause that refers to Annex 1 where the services will be set out. As you can see here, the template author has indicated that this is an alternative option for setting out the list of services, so you may be tempted to outright rewrite the existing services clause.
But, since it is an alternative option that we’re creating, the original clause needs to persist in some way. We need to be able to reactivate it maybe at a later stage or maybe for a different document. The way that we do that is via alternatives. How those alternatives work and what those are will be explained in the next video.
❗️What’s important now is that we just create a new services clause.
So let’s move back to our Clause9 menu. We can actually go to “assemble document” first and then you can see we have our Consultancy Agreement template. We will select that and indicate “edit template” to make sure that we’re adjusting the base document and then if we scroll a little bit down to the services clause, as explained, we will not be rewriting this clause but we will take the opportunity to open it up by double clicking it and adjusting the file name already. Originally, we only had one services clause and so it worked to just call it services.
In the interest of keeping your clause library a little bit clean and and easily navigable, we will be adjusting the file name to indicate that contrast between the services clause that sets out a list in the clause and a services clause that references an Annex and that’s exactly what we’ll add. We’ll indicate that this has a list in the clause and that will allow from the reference to the Annex.
We can close that up because we don’t really need it anymore and since we’ve already selected the services clause we can now add a new library clause and it will automatically appear below the currently selected clause. So, that’s exactly what we’ll do – create a new library clause. We’re already located in the right folder, but if you have trouble finding it just go to the “my library” folder and then navigate to the “services folder” that we created earlier.
Then, we can click “select folder” and as you will remember there are three main menus that we need to take into account when we are creating a new clause: the file name, the content title and the content body.
📝 For the file name we can adopt a similar approach to the approach for the original services clause, only now we’re calling it “Services (reference to Annex)” because we want to make that contrast.
📝 For the content title, we will naturally go for “Services” because, as you can see, that is exactly what the title of this clause is.
📝 For the content body, we could conceivably use the import mode that we’ve used in the past, but if we’re being realistic, you know there are a lot of track changes so it’s going to be a little bit tricky to navigate that from the import mode. Which leads me to believe that it’s going to be quicker to just copy this text and paste it into the content body.
Now we’re not going to be completely manually setting this this text up. We’re just going to remove this placeholder and then we’re going to paste with the help of Clause9’s automatic text optimization.
So if we click this button right here Clause9 is just going to paste all of the content that’s in our clipboard but it’s also going to already identify potentially interesting terms that need to be changed to a concept. Here for the consultant you can see that it recognizes that the consultant should be a concept. It also recognizes that the consultant starts at the start of a sentence so the concept needs to be written with a capital “C” to make sure that the letter “T” in the consultant will start with a capital letter.
Another thing that is potentially something that we could still improve upon is the @plural special function which essentially forces the concept here (#services) to always be displayed in its plural form. That works but on the other hand it’s not all that necessary, especially because, as you will remember, we created the concept label for this concept services as being plural by default. So, here we can just remove this special function and add a period at the end of this sentence and then that is our services clause. If we click “Save & insert” you will see that it is now created below the original services clause.
We will be removing the other services clause in the next video when we tackle the alternatives that we’re going to be turning these into. For now, we’re okay with what we have here. If we take another look at the base document you can see that we also need to create a new miscellaneous section where we also add a new clause “entire agreement” to it. Our severability clause was originally its own sort of individual entity, but now it needs to be transformed into a subclause.
You may be immediately asking yourselves:
❓“Well, how do I create a content title above the content title? How do I create a second layer there?” and the the answer is very simple. You can just create a new ad hoc clause or even a library clause that then contains the necessary clause, or rather the necessary title and only the content title. You can do that manually or you can select this severability clause and indicate that you would like to have a new clause title.
If we then write miscellaneous here then you will see that immediately a new ad hoc clause is created. You can tell because it says “update ad hoc” here that only contains a content title called “Miscellaneous”. We can actually immediately get rid of that because we don’t really need to do anything else with it. We can also close this clause.
Now you may be asking yourself:
❓“Well I still need the title for severability, has this new clause replaced that title in any sense?” and of course the answer is no. You will remember that titles can be toggled on or off so Clause9 just automatically toggled the title for the severability clause off, but we can turn it back on by clicking this title clause, just selecting the severability clause and then clicking “title” to turn that back on.
Same principle as we’ve done countless times already now. We just create a new library clause.
📁 We will create this in the “Boilerplate” folder because an entire agreement clause is typically considered a boilerplate clause.
📝 We’ll call this “entire agreement” and for the content title we will simply copy this from the file name.
📝 For the content body again, we could use the import mode, but since we’re using the paste optimization, let’s just continue on that front. Here we just paste the original text from MicrosoftWord into Clause9 and we essentially run into the same situation where this agreement concept was correctly identified and correctly inserted.
For the parties, we can again remove the @plural special function because the parties by default is portrayed in the plural version. If we then click “Save & insert” you will see that we have recreated our miscellaneous section again. We’re not too worried about styling just yet, so that’s why this is fine for now.
One final element that we will add in terms of new structure: as you can see here, the template author has indicated that this signature table needs to start on a different page. That’s something that we can force in in our own document as well. We’ll just, first of all, close this existing clause and then we will select the new, or rather, the existing signature table.
But, if we have selected this clause and then navigate to the advanced menu you can see that we have all sorts of available options. The one that we need is to “start the clause on a new page”.
✅ For now that settles it for the updates to the structure of the clauses and the documents.
⏭ In the next chapter, we will be tackling the different alternative options that have been indicated by the template author.
We’ll start by first closing the existing clause, since we ordered this currently open clause since we don’t really need it anymore and then create a new library clause. We don’t really have a suitable folder to place this in right now, so we’ll just create a new folder which we’ll call services. And then place that clause in the services folder and then we’ll also naturally create a file name along the likes of services. Content title and content body can of course be imported via the global panel.
We don’t really need to do anything to optimize the import here, so we can just click this import icon, close the global panel. Then the content title and the content body will be inserted.
Now Clause9 has chosen to transform this title services into the concept services, that’s a valid approach there. There are arguments to be made for that, however it’s not really necessary at this point in time, so you can just hard code that word services as is. Then the content body is of course fine like that, the only thing that we still need to do is to replace this placeholder with a datafield where users can fill out a list of different elements.
Of course, if you hear datafields and lists in the same sentence, then you should immediately be thinking of a list of texts datafield that users can fill in. For the name of this datafields you could go with quite a few different options, you could go with agreement, services for example. We recommend you to use services list and that’s because you will have a lot of different arguments to make for including datafields in the agreement concept. If we then create this datafield naturally we’re going to be creating a list of texts datafield and then we’ll click save and insert to actually create this clause.
Now as you can see here, we have in the interactive preview the option to fill out multiple different elements to this list. So the first element we’ll say is marketing, the second element for example will be sales, and the final element will be let’s say legal advice services that are offered by the consultant. If we now click apply to insert all of those elements into the actual document, then you can see here that clause base transforms this not into a bulleted list but simply in a list included in this one bullet. Of course, here we need to manipulate the text so that it is actually portrayed as a bulleted list.
Fortunately, we have a special function just for that, the approach to writing special functions always happens in three steps:
First of all you write the @ symbol.
Then you write the name of the special function (in our case that is bullets).
Then you surround the different parameters that it manipulates, (the different text bits that that are affected by the special function) with parentheses.
In our case we are simply including, and for this special function in particular, we are simply transforming this particular list into bullets. So that’s the only parameter, the only item that we really need to include here, in this in this special function. And if I now click save in library, you can see that the text is included in a bulleted list. I could even turn this into cumulative enumeration too, by writing dash and at the end of the special function, to showcase the word and in the second to last element of the list. I can do the same for or, and I can even try and do this for and or, if you would be so inclined. For now the bullets list will suffice.
So that’s one example of a list or of a special function that we can use to optimize the text, the second example that we’ll be taking a look at, is the fees clause. Where in particular we need to be able to flexibly play around with how this word hour is displayed, depending on whether or not one hour is filled out. In which case this word needs to be the word hour or multiple hours are chosen, in which case the word needs to be hours.
So we will again close the currently open clause, we will create a new library clause. We can add this clause to the services folder, if you prefer having a folder a separate folder called fees, you’re welcome to create that. Then we can of course name the file name fees and we can of course import the content directly from the global panel. Again nothing we really need to do to optimize the import here, so we just click this import icon, close the global panel and then the content title is as it should be and the content body is as it should be.
Now the real interesting stuff happens in paragraph two, so let’s quickly get paragraph one out of the way where we still need to create a datafield here. We have already looked at currency datafields in the past, naturally there is a sum of money that needs to be filled out here, so we’re going to be using a currency datafield again.
The name of the currency datafields again is more or less up to you, but we suggest that you continue this spirit of intertwining services and fees a little bit. And for example turning this into services monthly remuneration, so in other words the monthly remuneration for the services. You could alternatively also attach this datafield to the concept of consultant or the concept of fees that you could create on the spot here. Both of those approaches work as well, but for now let’s take this approach. Then of course we’ll turn this into a currency type datafield and if I now click save and insert, you can see here that we can fill out a number and a certain currency to create a sum of money.
But the really interesting bit is of course still this part of the second paragraph. First of all we need to create a datafield that allows us to fill out a number of hours that the consultant needs to perform per month. Let’s stick with the services concept for now, where we can then name the datafields. For example hours per month, so the hours per month invested in these services. That is naturally going to be a number type datafield, because we fill out a number of hours. Of course if we now click save in library and fill out a certain value here, let’s say that the consultant needs to perform 100 hours in a given month, then this makes a lot of sense, of course this part of the sentence.
But if we were to say for whatever reason that the consultant only performs one hour per month, then of course the word hours needs to be replaced with the word hour. Now you could transform this into a condition, but that you run the risk of making that a little bit clunky. So there is a special function that allows you to do this in a bit more of a succinct manner. The special function that we’re going to be using here is the one dash else function, in other words a special function that focuses on a certain value of a number datafield. Depending on that value of the number datafield it either provides a bit of text for, if one is the value, or if anything else is the value.
I think an example will showcase that in a little bit more of a better light, so we’ll start by writing the @ symbol, we’ll then use the name or write the name of the special function. Then in between parentheses we’re writing three elements this time:
The first element or the first parameter, is called the datafields that the special function hinges on in our case. That is the datafield we just created, services hours per month, so that’s the datafield that the special function will use to either show the second or the third parameter. Then of course we separate these parameters with commas.
Then the second parameter will be the text that needs to be displayed for the value one, that’s in our case of course our, we’re surrounding those with quotation marks because it should be indicated as being static text.
The third parameter again separated with commas, is the text value that needs to be portrayed if the number is anything other than one, in the else situation.
So as you can see here we’re essentially asking one else of the services hour per month, if the answer is one then we’re showing the word hour, if the answer is anything else then we show the word hours. And of course then we also get rid of the hard-coded word hours, since we won’t be needing that anymore. Then you can see here in the interactive preview this now says one hour, but if we were to change that to two hours then it says two hours.
⏭ Next on we will be exploring cross-references.





















The severability clause that we had begun to automate in the previous chapter is essentially finished, except for one crucial point.
It is already highly reusable, as border plate clauses typically are. But what if I want to use this clause in a document where I do not refer to this defined term, the agreement as the agreement but as the contract or the covenant, or the terms and conditions for example?
In that case I would still need to manually make sure that the terminology is all kept consistent and that stifles standardization and automation. That is why in Clause9, you can create flexible abstract terminology which automatically adjusts to these kinds of labels or synonyms which refer to the same thing. We call these abstract terms and Clause9 concepts.
Now in order to change this concrete term of the agreement to an abstract one, or in other words a concept, we need to follow three basic rules.
1️⃣ Delete the article, Clause9 will create it for you.
2️⃣ Insert a hashtag in front of the term.
3️⃣ Write everything in lower case unless the concept is at the start of a sentence. The reason for that is that these terms are typically written with a capital letter regardless, so the capital letter that you are writing here does not refer to the "A" in "Agreement", but it refers to the "T" in "The [Agreement]".
Now Clause9 realizes that you are writing a concept here.
The reason it is marked in red at the bottom of the screen is that Clause9 is saying "I know you are writing a concept, but I cannot find it in your library". No problem, you can simply create it on the spot.
If you click the red error, you have the option to create a new concept. The same pop-up menu appears that would appear for a clause, you just must find a location in the library where you want to store this concept and the "My library" folder is ideal for that.
Again, you will want to create a folder for this and if you click the "+ folder" button you can see that there is even a way to create a special folder exclusively for concepts. The reason you want to use this folder in particular for your concept is twofold:
First of all, if you create it, you can see that it is clearly marked in a different colour so that you know that you can centrally store all your concepts there and immediately retrieve them very easily.
That is a great way to avoid cluttering the library of your colleagues and your other users.
Once we have created this folder, we can click it and click "Select folder" to insert this concept into that folder. As you can see here there are two separate icons in these two tabs, so we know that one is the clause, and one is the concept.
We have all sorts of additional information that we can provide with this concept. But there are only a limited number of menus that are interesting or relevant right now. Specifically, the concept labels menu is one that is important for us here.
A concept is an abstract term so we need to tell it what sort of concrete terms it should be using by default.
If we create a new concept label by clicking "+ English concept label", we can first of all say we want this concept to be portrayed as "The Agreement" first and foremost. But we can create additional alternatives, we can say well in some cases it might be referred to as "Contract", in some cases it might be referred to as "Letter" for example. As you can see, as soon as you fill out a singular version of this term, Clause9 will dive into its own internal dictionary and produce the plural version of that word by itself.
We will not focus too much on the specific parameters for this concept label that you can set up. But just know that you have different options here to add different labels.
If we click "save" in library that concept has now been updated, so we can safely close it.
The concepts are no longer portrayed in red here, so that means that Clause9 does recognize them.
If we update this clause, you can see that nothing really changes in the interactive preview on the left-hand side, but if we go to the Terms menu, we can see that there is a new term called "Agreement". In this Terms menu, Clause9 gathers a list of all concepts present in this document.
From this Terms menu I can also then play around with that terminology.
If I click "Agreement" here, you can see that I can switch it to, for example, the singular version of "Contract". Then every single instance of this term will be replaced by "Contract" instead of "Agreement". I can use predefined labels like the one that I just created but I can also create a new label on the spot. If I click the bin icon in the top-right corner, I automatically revert to the default label.
To summarize, a lot of flexibility has been added to the clause we just created:
First of all, you can toggle the title on or off, and that may be useful for when you for example want to use this clause as a sub-clause but do not necessarily want to show the title, you can toggle the title on and off you can also toggle the numbering on and off. This does not change anything underlying the clause, it is just a way of showing that clause within the document.
You can also see that we can switch the clause around and that automatically the numbering is going to be configured properly. So Clause9 automatically and flexibly adapts the numbering to ensure consistency within the document.
We also saw that the styling settings are applied centrally.
⏭ Next on we will take this admittedly fairly manual process of making this clause suitable for flexibility. You will learn how you can automate that a little bit and make that entire process somewhat faster.
Let's now move on to the final part of this tutorial series, creating a questionnaire from this document. Now we've looked at a range of different functionalities that Clause9 has to offer, such as flexible terminology enabled by concepts, the fact that you can assign definitions centrally to these concepts, to these terms. The fact that datafields allow you to fill out variable information very easily and also enable certain conditional logic to be used. We've even looked at some styling elements, and so on and so forth.
But in many cases your end users will not need to have all of this flexibility and you will instead want to opt for a more rigid but intuitive mode of document creation. That is exactly where the Q&A mode comes into play. Q&A mode allows you to construct a layer on top of this a layer of questions, really on top of this document. That allows users to interact with this document in a more user-friendly way, in a more intuitive way. It just makes it more cosmetically appealing really, but since this is just a layer that is built on top of the document no actual changes occur, as a result of certain interactions within the Q&A. So the base document in document assembly mode and the Q&A, while they do communicate with each other to ensure that the proper structure is shown, can be used separately as well.
In this chapter we are going to take a look at all of the new styling elements that have been introduced in this new version of the Consultancy Agreement and recreate them in Clause9.
As you can see from the new source document, this is quite a significant departure in terms of look and feel from the original Consultancy Agreement. Fortunately for us, the template author has indicated in the first comment in this document all of the different changes that need to occur to make sure that this document has the correct style applied to it and you can see that all of these categories involved relate to individual elements of the style that we can then also set up in Clause9. These follow essentially the same structure for the sub-elements of the styling settings in Clause9.
So without further ado, let’s jump into the styling menu in Clause9 where you can also see that all of these sub-elements are present.
You are one step away from becoming a ClauseBase expert!
In this final exercise you will combine all your knowledge from the past exercises. The automation of this document is the ultimate way to test your skills.
Download the Management Services Agreement and follow the instruction of the Author in the document.
Keep your close and do not forget that you can find the answers to your questions on our .
But there is also a second reason, 90 % of Clause9 users are not clause authors like yourself. So, they will never have to know or never have to work with concepts, they do not even need to know what a concept is to be able to use Clause9. For those users the "concepts" folders is simply not even visible.




So for example we don’t even need to rearrange all these clauses first, because as you know currently the order of the clause is not yet in line with the source documents. That is actually something that we can come back to later and the Q&A will automatically follow all of the changes that we make. Now in order to start creating a questionnaire we can first of all save this document, to make sure that we’re working with the most up-to-date version. Then we’ll click these three dots and send this document to Q&A, which then inserts us into design Q&A mode where we have essentially an empty workbench, that we can use to craft different questions. And relating to the datafields that they correspond to, because as you remember datafields are essentially just ways of asking questions of the users. Those questions are then grouped into cards much the same way as datafields are grouped into concepts, to provide context.
This is where we will be creating those cards and those questions, and as you can see there are multiple panes. You can actually hover over these panes to showcase what other different panes exist. Now there are quite a few of them, the only ones that we currently need to finish up on this tutorial, is the cards menu or the cards pane, and the batch create pane.
In the cards pane we will have an overview of all of the different cards that are already created
In the batch create menu we have an easy way to actually create these cards and if you click this uncategorized option you will see that we have an overview of all of the datafields, used in this document and their corresponding concept that they are attached to.
Now if we want to create several questions and an appropriate card for those questions in one go, we can actually just click card with all these fields. And as you can see we just did that for the agreement concept, so all of the datafields attached to the agreement concept have now been inserted.
If we take a look at the simulate menu you can see that this is what that would essentially look like for the end user. Now since those questions actually take the name or the title of those questions take the name of the datafields. You may be interested in in making this a little bit more cosmetically appealing, cleaning those questions up a little bit. Again you’re welcome to do so, any changes here made in the Q&A don’t immediately affect the document assembly mode or the underlying concepts, or anything like that. So you’re very much free to remove these dashes which you would need for a datafield, but don’t need for this Q&A style approach.
So here in the cards menu you can see that we’ve just created our first card. We can also go back to the batch create menu and see that we don’t necessarily need to make individual cards each time. We can also select an individual question and indicate that we want to add it to an existing card, like for example the agreement card. If we then go back to the cards menu you can see that the jurisdiction datafield is added and that also all the predefines that were attached to this datafield, have also been taken over from this concept. Now if we go back to the batch create menu, we can finish up on the creation of all the necessary datafields by just creating all of these cards with all of these different fields:
Create one for consultant;
Create one for company;
Create one for the non-compete clause;
Create one for the services.
You can also see that if we go back to the cards menu, that we can move these. We can move these cards around, we can change the order by just using these arrow icons. We can also do the same for the order of the questions and of course the main thing that we still need to do once we have actually created all of these questions is to clean them up a little bit. Make sure that they are cosmetically appealing.
The question “legal-person” is a prime example of a question that should be formulated in a bit of a better way. For example here we’re not going to ask legal dash person, we’re going to ask: is the consultant a legal person? That makes a lot more sense, aside from that question really the only optimization that we need to do or the primary optimizations that we need to do is:
remove these dashes that were necessary for datafields but are not necessary here. If you want to make sure that the imported or the batch created questions immediately adhere to a proper sort of structure, where we don’t really need to improve the quality of this question. Remove these dashes, you can also attach labels to your datafields that’s not something that we looked at in this particular tutorial series.
So with all of that out of the way, we now have an essentially perfect questionnaire. As you can see here, we can interact with every single datafield in the entire questionnaire.
Now there is one type of improvement that we can still make. If you take a look at this question is the consultant a legal person? You will remember that as being one of our conditional logic questions, then you can see here that the question can be answered with yes and that the legal person text will be displayed. But in that case the birth date question is still being asked vice versa. If we answer “no” here, then the natural person text will be displayed. But the company number representative name and representative function questions are still asked. So here we can again use conditional logic to optimize the way in which this questionnaire is going to portray all of its different questions. We can do that immediately for example for the company number question.
We’ll attach a condition to that question:
First select this question and then click the abbreviation of condition here.
Just go through the condition creation wizard so to speak, so here we have a bunch of different elements that we can use to establish our condition. 99 Of conditions are used by answering or are established on the basis of an answer to a certain question. The answer or the rather the question in our case is of course: is the consultant a legal person? The answer for this question to be activated is: needs to be equal to true. So in other words if the user answers yes to the question: is the consultant a legal person? Then this question will be shown.
Instead of recreating that entire condition for the representative name and the representative function, we can copy this condition and just paste it for the representative name and paste it for the representative function.
We can do the same for the birth date only this time of course the answer needs to be false. Because it should only be shown if the consultant is a natural person. If we take a look at that now, you can see depending on whether or not we answer yes or no different questions appear altogether. So that no superfluous questions are being asked of the user. We can actually do one more example of that as well, so one of the questions with conditional logic attached to it as well, was the optional clauses list. One of those options of course that we created was the non-compete clause.
If we scroll all the way down to the non-compete card, you can see that really these questions are only relevant if the answer to this question optional clauses was answered with at the very least the non-compete option. So instead of just attaching a condition to a question, we can also attach a condition to a card. By selecting the card in its entirety and adding the condition, only show this card if the answer to the question optional clauses has an item equal to. Since this is a list of text field, we are presented with different options compared to the true or false type datafields. We’ll just say has an item equal to non-compete and if we then simulate this you can see that if we select the non-compete option, this clause appears. Also this question or rather this card appears in the questionnaire. If we deactivate that then you see that no such card appears. There’s actually one more optimization that we can do, specifically in relation to that question.
Now you will have seen in the simulate menu that we are given the option to fill out a free answer to this question as well. The reason for that and the reason why that is not the case for the jurisdiction datafield, for example. Is that we didn’t indicate in the predefined overview of this datafield, that free answers were not allowed. But of course we would prefer free answers to not be allowed, because we don’t have any conditional logic that can be used to generate optional clauses. So instead of going to the conditions menu, we will select this clause and go to the options menu where all sorts of different options exist. But the one that we need is the free answers which will indicate as being not allowed. If we then go to the simulate menu again you can see that no free options remain and that we can only fill out the non-compete option.
Now of course the Q&A mode is primarily focused on offering users the ability to interact with the datafields in a given document, there are other ways to interact with the documents that are currently not present in this Q&A. Like for example, flexibly switching between the terminology assigned to the consultant. You will remember that we did all sorts of things in the independence clause relating to the grammatical changes that need to occur, that’s flexibility. That’s currently reserved for the document assembly mode.
Now there are ways to also implement that sort of flexibility or give users the option to interact with that sort of flexibility in the Q&A mode but they’re not the scope. In the scope of this particular tutorial series, for that you will need to go to the changes pane. You will also see that definitions are not available for further interaction, that’s also something that for now is the sole domain of the document assembly mode.
But other than that we are essentially done with this questionnaire. We just have to actually create this file and we’ll call this the consultancy agreement Q&A. As we click save Q&A, this file has now been created. Just to jump back to the point that we made earlier, I can show how the underlying document can still be altered a little bit, or the structure can still be altered a little bit. The Q&A will automatically take that shape of that document, so as you can see here currently the order of these clauses is still completely not in line with the source documents.
Let’s close this questionnaire and go back to our document assembly mode, where we can open up the import panel and try to recreate the order of our source document clauses.
The services clause
The duration clause
The independence clause
The fees clause
The termination clause
The non-compete clause
The confidentiality clause
The severability clause
The applicable law and competent court clause
If we now save this document and open the questionnaire back up again, you will see that the correct order is now applied.
One final optimization that we can also perform here is, we can take a look at the datafields menu and see all of the values that have already been assigned to these datafields. Now if you take another look at the questionnaire you can see that if we don’t fill out any information, for example in relation to the commencement date or the duration. Then Clause9 is still going to draw from the values that were inserted in document assembly mode to fill out something.
Now if that’s something that you want to avoid, if you just want these values to be empty. You can also I’ll just close this Q&A very quickly, you can also go into the datafields menu for the document assembly mode and click this icon right here and then say clear all datafields. So that all the values in all the datafields will be removed. If we then open up the questionnaire again you can see that all of these values are now empty.
So these are just some ways to improve the look and feel and the experience related to your Q&A, some more. With all of that out of the way, you should have been able to create this consultancy agreement, to complete this tutorial series.
Now you’ve seen quite a few functionalities that Clause9 has to offer. There is of course still more to learn. The help center is a good first step if you want to dive into some more details. Also the links that were included in the previous chapters, definitely offer some more information as well. And of course there are a range of different tutorials that can help you further along the road as well!
Now, the first question that you might be asking yourself based on the previous chapter is “where do we apply this style, do we apply it at binder level or at the level of the individual sub-document?”. The short answer to that question is binder, the long answer is that Clause9 essentially applies a kind of cascade system for using the correct styling elements.
1️⃣ At the first level, Clause9 is going to check what sort of elements of the style have been decided upon at binder level, and everything that we’ve fine-tuned at binder level that’s applied.
2️⃣ Then it’s going to take a look of which elements of the style haven’t been fine-tuned in any way at the binder level, but have been fine-tuned at the level of an individual sub-document and it will apply those elements where the individual sub-document applies certain rules but the binder doesn’t say anything about that.
3️⃣ If in a third stage there are still certain elements of the style where neither the binder nor an individual sub documents has fine-tuned anything or has decided upon any sort of diverging styling settings, then Clause9 will apply the default style which is either your organizations’ default style or, in case your organization hasn’t created the default style yet, it will just use the Clause9 default style, which is of course what the Consultancy Agreement originally was created in. So, as you can see, Clause9 tries to harmonize styling settings as much as possible across all of these different elements.
With all that out of the way, we can now move on to the applying the appropriate settings and we’ll take another quick look at the base document where you can see that the base styling setting the first setting that we need to adjust is to put the font for this document on Times New Roman and the font size at 10. Let’s open up the “base styling” menu where you can see here that quite a few different styling options are available. The ones that we’re interested in relate to font. First of all, we are going to indicate that the font name is Times New Roman, the font size is set to 10, and then if we apply those changes across the document you can immediately see that both documents follow suit and immediately have that entire style applied to them. That’s essentially it for base styling. You can set up more styles and you can fine-tune that a little bit more, but that’s really all we need right now for this document. I should say that base styling also has an effect on other elements of the style because it provides a blueprint for which other styling elements can then follow. For example, the fact that we now set this font to Times New Roman will also indicate to the heading style and to the definition style for example to keep that into account and to follow what is decided upon in the base style.
Moving on to the headings style, let’s take another look at our source document. Here we need to give the titles of our clauses this kind of blue highlight color with white font color and also we need to set them to lower case cap style. You’ll remember from the original source document that all of the titles are displayed in all caps right now. We need to change that in the headings menu.
That’s primarily done here in the styling per level. Again, we can scroll down a little bit, we have alignment, paragraph, spacing… None of those are particularly interesting right now, but of course title font is. Now, you will also have noticed this sequence of numbers 1-9. That’s if you’re familiar with Microsoft Word essentially the same approach as Microsoft Word uses. You can define different styling settings for different heading levels appearing all the way down to level 9. Now, since we’re changing the way that the titles of our content titles looked, we are of course working with level 1 headings. So, you can also see that the title font has already been set to Times New Roman thanks to the base styling. The color will be set to white, the size is fine, the cap style again will be changed to regular instead of capitals and then if we scroll down a little bit more we find the “background of titles settings”. There we can indicate that we would like blue headings. There are quite a few different kinds of blue, the blue that we’re looking for here is steel blue but if you want to know 100% certainty which kind of colour you need, you can always click this icon and adjust the red green and blue values so that you can accurately recreate a certain colour in Clause9.
If we apply those changes immediately, you can see on the left-hand side that our document already resembles the source document a little bit more. Naturally, level 1 is not the only heading level that we need to be concerned with. Specifically, our level 2 heading included here, under the miscellaneous clause, also needs to be adjusted because it is still being portrayed in all caps. If we go into level 2 and then go back up to the cap style, we can adjust this to regular as well and then it follows the styling settings for our source.
So, moving back into the document itself, we have taken care of these first three elements. Now we move on to definitions. Specifically, the template author is asking us to show definitions in a list-in-table format without borders and here some of the complexities of the relation of the individual sub-documents into the binder and the styling settings that belong to it is laid bare a little bit. If we scroll all the way back up, you can see that currently our definitions are portrayed as bullets. If we go into the definition styling settings, we can indicate that we would like to show the definitions not as bullets, but as table rows. That’s already one element of the new styling covered. Now the second element is that we also need to remove the borders in this style. As you will remember, the definition list is essentially an auto-generated ad-hoc clause that we can also fine tune a little bit as we can fine-tune any clause in in Clause9. However, since it is an ad hoc clause, it is intrinsically tied to the structure of the document. So, as opposed to library clauses, we cannot edit it in the binder. We know the rules when it comes to that, we can go back into our Consultancy Agreement, our individual source document, and there we can adjust the way in which the default the definition list is portrayed.
Now, you’ll immediately notice that this clause is wildly different from the clause in the binder and that’s because the binder shouldn’t diverge on structure and inclusion of certain clauses but it can have its own terms applied and its own definitions applied which is what we did. It can have its own styling settings applied as well, so that’s why we don’t have that second definition, that’s why this is still portrayed in bullets as opposed to table rows.
That said, we can still navigate into this ad-hoc clause by double clicking it. We can still go into the custom styling settings where for the body we can set up some custom styling settings in relation to the table. Now, there is no table appearing in this particular version of the clause, but of course in the binder there is a table appearing. So we can indicate that we would like to remove all of the borders – no borders around, no inside borders horizontally, no inside borders vertically, and if we update that clause now you can see that nothing changes in the actual clause. We can save this document and then close it down. As soon as we take a look at the definition list in the binder you can see that this setting has been applied, so a very good indication of changing the structure of a document from the individual source document rather than from the binder. Those two communicate, so any changes made to the definition list in the individual document immediately flows through to the binder. We have essentially completed what we needed to adjust for the styling settings when it comes to definitions.
We can jump back into our source document where we now move on to references. One of the things you will have noticed is that we are no longer using the word “article” when it comes to references to a particular clause. We are instead referencing the word “clause”. Again this is something that is fairly easy to be adjusted. We just go back into the styling menu, we go to the references menu where we can simply indicate what word we would like to use for a clause. Now we are using the singular version of “article” and the plural version of “articles”, but we can also use “clause” and “clauses” either with a capital “c” or with a lowercase “c”.
We’re doing the lowercase one here, and we will apply those changes. Immediately you can see here that if we go to the nearest cross-reference that it says notwithstanding clause 5.1 instead of article 5.1. That said, if we scroll down a little bit more you will see that we also used the hard-coded word “article”. Now, of course, this isn’t as much of an issue. We can refer to this as “article” or we can refer to this as “clause” but if you like to maintain that consistency then you can open up this document and you can essentially say you can essentially surround the word article with two underscores which will highlight this in green and indicate to Clause9 – please change this word in accordance with the styling settings that have been applied in the reference level.
Then, you can see here, it will use the word “clause” but it will say this the clause because this tactic uses the same rules for creating the right articles as concepts do. So, we can drop the article “this” and instead write a degree symbol which we’ll change this to “in the event of a breach of this clause” just aligning that word with whatever word we’ve decided to use in the references styling level. That essentially sets up our styling for the references quite nicely.
Moving on to the final element – the page styling. We have some page numbers that are included in the main Consultancy Agreement which look like “page 1 of 4” and then in the Annex we have page numbers as well, but they use just the actual number of the page. So, those two are different from one another. Again, this is a good example of how page styling differs from one individual sub document to another. To cover this, we are not going to be using the styling in the binder. We are going to open up the individual documents in Clause9 and we are going to navigate into the styling menu for those documents. If we now open up the default style for this Consultancy Agreement, we can again adjust quite a few different settings. The one that we need is the header and footer, specifically the right part of the footer. There we can include some new content. So, we are going to indicate that we want to adjust the right part and specifically, we want to fill out some content here. But Clause9 also offers a few options for what you can include in this footer. The one that we need is the page number and then Clause9 will construct the page number for you. What we will then do is choose “page number of” and then “total pages” which will allow us to recreate this style that you see right here – page 1 of 4.
Then, we can apply those changes. Now, headers and footers aren’t displayed in the interactive preview but that essentially covers it for this this Consultancy Agreement. We’ll save that document. We’ll do the same in the styling menu of the Services Annex where in the page menu we are scrolling down to the right part of the footer, only in this case we’re not using the page number of the total amount of pages, we’re just using the page number itself. Of course, we will indicate that we would like to start the page number at 1 and that it shouldn’t continue from the original document, or rather the Consultancy Agreement. If we apply those changes and then save the document, of course that means that this binder now also has something to fall back on in terms of page styling and that all the new elements of the styling have been introduced.
✅ That essentially covers it for the styling!























In the previous chapter we already looked at creating a basic condition using a true or false type datafield. In this next chapter we're going to be creating a different kind of condition based on a different kind of datafield. That's going to be the text datafield, because the true or false datafield gives us two options yes or no, but the text datafields gives us the freedom to define our own options and also choose how many there are. Which can result in quite a few interesting permutations of any given clause.
So moving on, the clause which we are going to automate is going to be the applicable law clause. As you can see in the source documents there are two placeholders here one for the jurisdiction of the applicable law and one for the location of the competent court.
Now you may or nearly be tempted to just create two datafields there but the template author has created quite a list of instructions for how this clause should be filled out. So we don’t have the freedom to just fill out any value that we like. We should in fact only be able to choose between three different options. That’s going to be France, Germany and Belgium, depending on which option is chosen here a different location of the competent court should be portrayed in article 9.2. So if France is selected then we choose Paris, Germany selected then we choose Berlin and if Belgium is selected then we choose Brussels.
Let’s get right to it, we’ll start by creating a new library clause. We’re dealing with the applicable law and competent court clause. The boilerplate folder seems like a good location to place that clause in, again important parts are the file name, content title and content body.
For file name, we’ll choose applicable law and competent court.
For the content title and content body, copy this from the Word documents or use the import mode.
I’ll open up the global panel, scroll all the way down and as you can see much like in our previous clause there are still a few comments that were left by the template author embedded into this imported document. Of course we don’t want to import to these rather to the content body fields. What we’ll do is, we’ll disable them by double clicking the circle icon next to these paragraphs.
And then there are two options also as previously discussed. We can either select all of the text and click transfer selection, what we can also do is click the import icon next to the title of the clause and that’s going to import all of the subclauses for this clause. If we do that here watch what happens, the content title is imported as it should be.
The content body however only features one paragraph and the reason for that is that you can see 9.1 it’s clearly a subclause of article 9. It’s indented one level to the right but if we scroll down to 9.2 we can see that it is actually still all the way to the to the left, so it’s not registered as a sub-clause. We can change that by just moving all of these paragraphs one level to the right using these arrow icons. If we now try that again, now you can see what 9.1 is, it’s indented under the article 9. Same for 9.2, if we now try to import it again then you can see that the necessary content is imported, so we can close the global panel and continue working on our clause.
As you remember the instructions that were handed to us by the template author, said that we should create predefined options, so not just any value that can be filled out, but predefined options. Of course first we need to start by creating a datafield, and in this case I’ll choose applicable law jurisdiction. You could have also chosen something like agreement, there’s very few wrong answers so to speak.
Create concept: Obviously, we haven’t created this concept yet. So we’ll create a new concept, stored in our concepts folder, we don’t really need to include a concept label. Because we’re not going to use this concept as a term, so we’re only going to use it as a storage container for datafields.
Create datafield: Then of course the datafield in question, as mentioned in the introduction to this chapter, is going to be a text type datafield.
Now if I save this in the library, you will see that we can fill out this datafield as we choose. No predefined options have been created yet, in order to do that you can click this reference to the concept applicable law. In this sort of hyperlink format at the bottom of the screen, which will open that concept up in edit mode. Then if we go to the datafields menu, we have an overview of all the datafields attached to this concept and a bunch of different options that we can add to this datafield. The one that we need is of course the predefined option, that will allow us to provide predefined answers. As soon as we click that you can see we have one predefined area but we can create two more. The predefines that the template author asked us to create are: Belgium, France and Germany.
Now if you are planning to use Clause9 in different languages and even if you’re not planning to use it in in different languages, but you want to continue using this clause in multiple different settings for example.
This approach while it works, may have some problems going forward to make it future proof. So in the description we’ve included some information on how to probably better approach this issue but for now this will definitely suffice.
For now we’ve created three predefines that we’re going to be able to fill out here. We can also indicate that only the predefined values can be stored, so that no free values can be filled out. Which is of course exactly what the template author asked us to do. If we now click save in library we can close this concept and watch what happens if we now save this clause as well in order to update it with the new information that we included in the concept. You can see that the free text bar, that allowed us to fill out a free value, has disappeared. Instead we only have the option to select either Belgium, France or Germany.
With that information ready, we can now proceed to the condition that we’re going to be creating here in article 9.2 or 3.2, as it is shown currently in this document.
Again the structure of a datafield or of a condition rather is one of three parts, so we’ll always start by writing our curly brackets.
The Question: Then within those curly brackets we’ll always start by first implicitly asking a question. In this case of course the question is the one that we just created, which is the jurisdiction of the applicable law. So we’ll use applicable law jurisdiction.
The Answer: And then we can proceed to the second part of the condition, which is the part where we fill out a hypothetical answer to that question. For a text type datafield that takes the form of equals, much as it would have been for a true or false type datafield, but then between parentheses. The text that is going to be filled out here, so in our case Belgium.
The Result: Then we can move on to the third part of the condition by inserting a colon and then we include for example the word Brussels.
Then of course we’ve only defined one of our three options. We can again bifurcate this condition to provide a different hypothetical answer to the question “what is the jurisdiction”? In that case it will be equals France colon Paris, and one final option equals Germany, colon Berlin. If we now save this you can see that a purple bar appears next to the clause which indicates of course the presence of conditional logic. If we now choose one of these predefines, for example Belgium, you can see that the clause says this agreement is subject to the law of Belgium and the courts at Brussels shall be exclusively competent. We can go to the datafields menu and play around with this some more.
So that sums up the creation of a condition using a text type datafield.
⏭ Next on we’ll take one final look at another different type of condition using another different type of datafield.

















Only start the following exercises if you have completed the Basic Clause Author Tutorial. The exercises should be added to your 'ClauseBase Campus Exercises' document.
on enumerations.
Create enumerations by two different methods: regular bullets and internal bullets. Create the same clause twice and use a different method for each clause.
Set the styling of the bullet-list. There should be a 'semicolon' between every value and the word "and" should be inserted before the last value.
1. Enumerations
1.1 In order to enable data subjects to effectively exercise their rights pursuant to Clause 10, the data importer shall inform them, either directly or through the data exporter:
1.2 In order to enable data subjects to effectively exercise their rights pursuant to Clause 10, the data importer shall inform them, either directly or through the data exporter:
(i) of its identity and contact details;
(ii) of the categories of personal data processed;
(iii) of the right to obtain a copy of these Clauses;
Choose the correct datafield from the list below. Add the following clause and create the concept and datafield you have chosen.
Options for different datafields:
#indefinite-term^notice-period
#agreement^termination-notice-period
#termination^notice-period
2. Datafield
2.1 This Agreement is perpetual but may be terminated as to any party, for or without cause, upon [notice period] written notice to the other.
When you name a datafield there are always a few options. While the name of a concept should be general and easy to reuse, the name of a datafield should be more specific. The user should be able to fill out the datafield without looking at the text of the clause. You want to avoid that the same datafield is used for data that is actually different.
Make a cross-reference within a clause.
3. Internal cross-reference
3.1. The receiving party shall treat as confidential all of the Disclosing party’s Confidential Information and shall not use such confidential information except as expressly permitted under this Agreement. 3.2. The obligation under Article 3.1. will survive the termination of this Agreement.
Create the clause below and create a cross-reference back to the previously created article 3 using the cross-referencing mechanism of your choice (i.e. via or via ).
4. External cross-reference
4.1 The Confidential Information can be disclosed to any authorised recipients upon written notice, notwithstanding article 3.
Make sure that the spelling of your references is correct, otherwise the cross-reference will not be recognized by ClauseBase.
Create the necessary grammatical flexibility to allow users to switch between the singular and plural version of “Data Importer” and “Data Exporter”. Take care to indicate all the elements that need to be changed, including verbs and pronouns.
5. Conjugations
5.1 If the Data Importer becomes aware that the Personal Data he has received is inaccurate, or has become outdated, he shall inform the Data Exporter without undue delay. In this case, the Data Importer shall cooperate with the Data Exporter to erase or rectify the data.
Play around with the terms (singular/plural, masculine/feminine/neuter) after you have made the conjugations. This is the best way to ensure that everything works as intended.
Create a definition for the term “Confidential Information” in three different ways.
Confidential Information means, in relation to either Party, information which is disclosed to that Party by the other Party pursuant to or in connection with this Agreement whether orally or in writing or any other medium, and whether or not the information is expressly stated to be confidential or marked as such.
#termination^notice-period-indefinite-termNow typically in Microsoft Word, a cross-reference is created by establishing a link to the concrete number of a clause. As we've seen with Clause9 though, clauses can be moved around freely and the numbering is not fixed. It would therefore make little sense to refer to a concrete number in Clause9, since those can be changed around at will. So in order to explain how Clause9 does deal with cross-references, let's take a look at a basic example and here in article 5 of the source document the termination clause, we can actually find a few cross-references that we can use as a sort of example.
So we’ll start by automating this clause and we’ll begin by creating a new library clause. We already have a folder called term and termination, so that seems like a good location to place this termination clause. Then the content title and the content body can naturally also be imported directly from the global panel. If I move down a little bit here, you can see that with a quick glance of this clause, that this will be imported without any problems. The structure is sound, so we can just click this import icon and immediately the content title and the content body will both be inserted.
So as soon as we click save and insert, the clause has been created and as we do that you can see that the legacy reference from Microsoft Word, this hard-coded article 5.1 for example, is already faulty. Because this clause is article 8 now in this particular document. So let’s make a functioning cross reference to remedy that.
Now before we move into that, there is one major distinction that we do need to make. Whenever you’re creating cross references in Clause9, you can either be confronted with a reference within the same clause to the same clause essentially, so references within one clause. Or you can also have references to another clause to another file in Clause9 parlance. So for example here in article 5.1 we’re simply referencing paragraph one of this particular clause, so the reference remains within the clause. But here we’re referencing a different clause file altogether.
The first type of cross reference within the same clause is definitely the easiest one to create. To give you an indication every single cross-reference in Clause9 starts with a paragraph symbol. So that’s where your cross reference will always start.
Then since we don’t know what the number of the article of the clause that we’re referencing to, the subclause that referencing to will be, it could be five could be eighteen could be twelve. Since the only thing that we do know is that the number of the sub-paragraph within this file is one, we can just refer to paragraph one. If we now click save in library you can see that the numbering automatically adjusts, and as we move this clause up to its correct location of article 5, the cross reference moves along with it.
So we’ll do the same for this reference, now this reference doesn’t refer to any specific paragraph within the clause, but it does refer to the number that the title of this clause has received. In this case again, because we already moved clause up this is five. And so to write that, we again start with the paragraph symbol and then we just write this dash title. So in other words the number of this clause’s title and that is of course article 5. We could have also written paragraph this, but then clause base would have referred to the actual sub-paragraph, the actual sub-clause that this reference is included in, so we’ll stick with this dash title.
So now that we’ve looked at referencing within the same clause file, let’s take a look at referencing outside it. With this article 7 reference, now if we take a look at the source document scroll all the way down here we can see that article 7 is the confidentiality clause. So what we’ll do is, we’ll create a new file, we’ll create this clause first. In order for us to be able to reference it, it has to be created first. You could arguably say that you can create a new confidentiality folder but for now I will just stick with placing this new clause into the boilerplate folder.
Then we’ll just move this to the side a little bit. The file name again can be something basic like confidentiality and then we can simply import this clause by clicking the import icon and then the content title is set. But when we open up the content body, we will see that the confidential information has not been recognized as a term and neither has the parties. So we can remedy that fairly quickly, we simply press this plus icon and insert that we want confidential information to be a term. Also that we want parties to be a term and if we now re-import this clause by clicking the import button again, then you can see that the necessary concepts have been added.
Fortunately, these concepts are already present in the library so we don’t need to create them. If we now click save and insert, naturally this will appear as clause number six because we had selected clause number five. Remember anytime you create a new clause while having another clause selected, it will be inserted right below that selected clause. So there are now two approaches for us to reference from clause 5 to the current clause 6, which maybe will move down right away so that it’s already in its appropriate spot.
The first and easiest approach is to simply add a tag to the clause that you’re referencing and then reference that tag in the clause where you’re making the reference. In other words, we can open up the plus more menu here, when we have the confidentiality clause opened and there you can see that there is a sub menu called cross tags. Which allows you to fill out one or more tags by which this clause can be identified. An obvious one would be confidentiality, for example.
So if we have created that tag (let’s quickly add it again confidentiality), there we go. Once we have created that tag we can go back into the clause that makes the reference to this confidentiality clause and we’ll again start with a paragraph symbol, and then just the name of the tag we just created. And then you can see that this also becomes a cross reference if we move clause 7 up to clause 6, then the cross reference follows suit. So that’s one approach and by far of course the easiest approach.
Now in some cases you will have an argument to make for the other approach which is by establishing a link between a concept and a clause, where you’re essentially saying this clause talks about this concept, this clause has as its subject matter this concept. So that’s another function of concepts aside from flexible terminology and storage space for datafields, it can also function as a tool to make cross references. So here we can go to the links menu, on the right-hand side of the confidentiality clause and we’ll establish an outgoing link with the confidential information concept. Now if we want to quickly find that, we can click the magnifying glass icon in the top right-hand corner.
We can indicate for example that we are looking for the concept of confidential information, since that is the topic of this particular clause. We can even indicate that we’re looking for a concept and then immediately we find the right concept, we’ll just select that. And if we now save this clause in the library, we have essentially told Clause9, the subject matter of this clause is the confidential information and if we then go back to the termination clause instead of referencing this cross tag, we could also simply reference the concept that is being implemented. In other words #confidentialinformation, and that also works. As you can see the cross reference still works, we can still move it around and it can still sort of change shape.
So the question of course that naturally arises at this point, is well when do when do I use which approach? If you find yourself in a situation where you would have to create an actual concept, solely for the purpose of establishing a link, for creating a cross reference. Then I would suggest that you do not bother with that, that cross tag will be perfectly fine to use.
However, if you already notice that you have a certain concept handy, and if indeed that clause has as its subject matter that concept. Then it’s an easy trick to just quickly establish that link and that will also improve your knowledge management going forward.
The only thing that’s left for us to do is to optimize the Q&A that we originally created based on the new content that we’ve been adding. To finalize this binder and make it ready to move on to that Q&A domain, there’s just a few more things that we need to do.
If you take a look at this Annex 1- Services, you can see that this alternative option is still included in the document whereas we should actually only be using this table.
Remember, removing a clause from a document is changing the structure and that is not something that we can do by default in the binder. We should be doing it from the individual sub-document where we can indicate we would like to remove this clause.
Save this document to communicate the update to the binder. That update is not going to show immediately, but if we quickly close and open the binder back up you can see that the alternative option is removed. Another thing that we can do is remove these data fields because they were just placeholders and we don’t really have any need for them anymore. So, we will save this document. We can close it and move to the design Q&A panel where we can indicate that we would like to edit the existing Consultancy Agreement Q&A. Of course, this Q&A is still built as a layer on top of the original Consultancy Agreement. We’ve been making some changes to that document so we’ll take need to take those into account but more importantly we created a binder specifically so that we could bring the two sub-documents together. Currently, our Q&A is still a layer on top of the individual Consultancy Agreement but we would like it to be a layer on top of the binder and that’s definitely possible.
If we move to the file menu, we can indicate that we would like to change the document underlying this Q&A and if we click that, then we can indicate that we would like the binder to be the engine of this Q&A.
That will close the Q&A, but you can open it back up and if you go to the simulate menu, you can see that we now have the two binder documents at our disposal. If we scroll down a little bit, just move through the questions, you can see that basically all the data fields that we originally added are still there because we didn’t make any major changes except for the services list, because we are no longer setting out the list of services in clause 1, but rather we are setting that out in a repeating list table in the Services Annex. Not a problem, we can move to the edit menu where if we scroll all the way down, we can select this question related to this data field, and outright remove it from the Q&A. We can then add our repeating list data fields in relation to the names of the services and the descriptions, and your instinctive response for that would probably be to navigate to the batch create menu.
If we go back into the cards menu, you can create a new question which is going to act as a table. It’s that advanced nature of this repeating list data field that’s really prohibiting us from doing this via the batch create menu. But, of course, we can easily do it here manually. We will create a table, primarily because that is how repeating list data fields are pertaining Q&A. You can also see that this icon corresponds to the icon for repeating this data field, so we will move that question all the way to the top because it makes sense to ask that question first. Then, we will indicate that the title is details – the details were surrounding the services, and then we can create two new columns which correspond to the columns that we are using in the table.
Even if you wouldn’t use the table version, if you would use the clause version for setting out the services with repeating list data fields, you’re still going to have to create these table questions because that’s how repeating list data fields function in Clause9.
In the Q&A mode, you’re always going to have to set them out in a table format and you can then indicate a caption which is how the name of the data field differs from the way in which the question in Q&A is asked. Much like for example here, we also differentiated our question a little bit from the way that the data fields was phrased. So here we are going to indicate, for example, that the caption is the “type of service” and we are asking for the description of that service and that sets up our repeating list data field question.If we go intothe simulate menu, you can see that we can create all sorts of new options, for example alpha, beta, gamma (…) and those correspond to the columns in the table. That’s it for our repeating list data field.
That sets all of that up quite nicely. There are just a few more things that we then need to consider. If we quickly look back at the original source document, you can see that one of the first comments in the document says that we should be able to switch between the name of the consultant, so that whatever is filled out, and the term the consultant itself. Now, in the document assembly mode, you have the terms menu for that, and that’s actually fairly easy to accomplish. In Q&A mode, it’s a little more rigid, but you can still create that kind of flexibility even in the absence of a terms menu. If we go back into the questionnaire, we can go into the changes menu.
So we’ve been primarily working out of the cards pane and the batch create pane. Now we’re going into the changes pane because that allows us to set up quite a few more different subtle manipulations of the text. We’re going to create a new change set and we have all sorts of different types here that allow us to do all sorts of different stuff. The one that we need is the change term set because we’re going to change the term “the consultant” to something else. The title of that change set doesn’t really matter all that much. We’re just going to call it “referencing the consultant” just so that we can remember for ourselves what exactly this change set does. The term that we’re changing is the consultant and here we can set up how that term needs to be portrayed. You’ll remember this kind of setup from the concept labels overview.
Now, we can’t really fill out anything concrete because we don’t know what the name of the consultant is going to be. So, instead of filling out a value here, we are going to select a question that will contain the value that needs to be filled out. In our case that is the name of the consultant. Of course, the article needs to be dropped here in any case, because you’re never going to put an article in front of a person or a party’s name. This change set is essentially ready.
The only thing that is missing is an option to switch between the different kinds of options that are available, so either the consultant or the name. The user still needs to be able to switch between the two, and for that we are navigating back into the cards menu where we are explicitly going to ask by way of a final question in the consultant card a yes or no question from the user. This is going to be something along the lines of “reference the consultant by their name – yes or no” and depending on the answer to that question, our change set is either going to be activated or it is not going to be activated.
In order for us to make that sort of link between this question and the change set, we are just
1️⃣ navigating back into the changes menu
2️⃣ selecting this entire change set and then
3️⃣ adding a condition to it following the same condition builder that we’ve used previously
Specifically, we are going to indicate that the answer to the question reference the consultant by their name must be equal to true in order for us to actually activate this change set. If we now go into the simulate menuand we scroll all the way up, we indicate that the consultant is not a legal person and their name is John, then by default it’s going to say John and then reference the consultant. But, we can indicate that we would like to reference the consultant by their name, in which case all across the document the reference will be made to John as opposed to the consultant. Of course, if we say no, then the reference is still going to be the consultant. That’s basically that, so that sets up our first change quite nicely.
We’re going to look at another change very quickly, something a little bit more advanced. It’s this comment in the source documents, where the template author is indicating that we need to have multiple plans, where depending on which plan is chosen – the values filled out for amount and for hours should be differentiated. So, we are again going to navigate into our cards menu in the Q&A and under services we are going to create a new question below the repeating list data field question that we just created. We are going to make our three plans available, so we are going to create a text-based question because we need to be able to offer three different options. Then, we are going to call this remuneration fees plan, and we are going to create three different predefines – plan A, plan B and plan C. Of course, this question is going to be attached to another change set.
If we go back into our changes menu, we can create a new change set which allows us to change the value in a data field. Specifically, we’re going to create a plan change set which is going to change the value for services hours-per-month or monthly remuneration. Let’s start with that one because that’s the order the source document. If we take a quick look at that, you can see it starts with the monthly remuneration and the hours invested, so the monthly remuneration needs to be adjusted to a fixed value. Again, if we take another look at the source document, it is set at 5 000 euros, so we will select 5000 and them add another change to this – a data field change, which is going to set us up for hours per month and that is going to be a fixed value of 40 hours. These are the data field values for our plan A. Now again, we just need to create a condition that allows us to activate or deactivate plan A. Select the condition and we are again going to go through the creation wizard. The answer to the question “fees plan” needs to be equal to plan a. Then we can also create a change set for plan B.
Instead of manually recreating all of that, we are just going to copy this plan A, paste it and then re-arrange some of the configurations.
So, this is going to be plan B the value is 2800 and 20 and then, of course, the condition needs to be adjusted as well.
We’re not going to select plan A, but plan B, and then finally you would think that we could also create one for plan C, but the entire purpose of plan C is to allow the user to decide freely. So, we’re not going to create a change set for that, because we’re not going to fill out any sort of value. Instead, we are navigating into the cards pane again and then we are going to indicate that these questions – monthly remuneration and hours dedicated per month – are only going to be visible in case plan C was selected is equal to plan C. Then, we just copy that condition and paste it into this second question and one more final optimization that we can do is indicate this fees plan question. We can open up the options menu and we can indicate that no free answers are allowed which will allow us to control all of the different options available from this question. As you can see, if we now navigate into the simulate menu, we can select plan A which is automatically going to set us up with 5000 euros 40 hours, plan B which is going to set us up with 2800 and 20 hours and plan C which will allow us to fill out a value of our choice.
✅ So that’s a short look into the different options when it comes to change sets and that also concludes this tutorial series!







