LogoLogo
ClausesDatafieldsSpecial FunctionsStylingQ&AAPI
  • Welcome!
  • Getting started
    • What is Clause9?
    • Structuring your clause library
    • Structuring your clauses
    • Drafting modes in Clause9
    • Creating a questionnaire
    • Sample clauses
    • Videos
      • Concepts and datafields
      • Conditions
      • Q&As
      • Binders
      • Styling
      • Enumerations
      • Tables
      • Definitions
      • Snippets
      • Cross-references
      • Special functions
      • Examples of common clauses
      • Import clauses from MS Word
      • Grammatical conjugations
      • Action buttons
      • Alternative clauses
  • Assemble document
    • Document toolbar
    • Clause hierarchies
    • Focus Mode
    • Bulk generation of documents
    • Exporting documents
    • Assemble Document - FAQ
    • How to: Assemble Document
      • Insert images
  • Assemble Document Operations Panel
    • Operations panel
    • File pane
    • Edit pane
    • Document pane
    • Binder pane in the operations panel
    • Search pane
    • Browse pane
    • Terms pane
    • Data dashboard
    • Advanced pane
    • Styling pane
    • Miscellaneous pane
    • Visibility settings & actions menu
  • Binders
    • Binders: general
    • Styling cross-references to subdocuments
    • Global and local definition lists
    • Document and binder properties
    • Styling of a Binder versus subdocuments
    • (Un)locking documents in a binder
    • Binders - FAQ
    • How to: binders
      • Make a subdocument in a binder conditional
  • Clauses
    • Introduction to clauses
    • Clause structure
    • Grammar sheet
    • Writing conditions
    • Examples of conditions
    • Using codes instead of text fragments
    • Bold, italic and underline
    • Special codes
    • Enabled?
    • Links
    • Cross-references
    • Introduction to tables
    • Deviating table styling
    • Shrinking clauses
    • Action buttons
    • Enumerations
    • File position
    • Snippets
    • Parameters
    • Conjugations
    • Mixing data types
    • For-loops
    • Clause versioning
    • Abstract article references
    • Advanced multi-language features
    • Clauses - FAQ
    • How to: clauses
      • Create an ad-hoc clause
      • Create a library clause
      • Make a clause repeat
      • Make a paragraph within a clause conditional
      • Use a shortcut to refer to a concept
      • Insert a line break or page break
      • Creating a list with both predefined options and free input
      • Defining alternative clauses
      • Creating cross-references
      • Creating signature blocks
      • Creating advanced party introduction clauses
      • Automatically numbered annexes or schedules
      • Reuse any clause in a different context
      • Setting MS Word document properties
      • Add action buttons to clauses
      • Electronically signing documents
  • concepts
    • Introduction to concepts
    • Creating concepts
    • Concept labels
    • Links
    • Organising concepts
    • Concepts - FAQ
    • How to: concepts
      • Add predefines to a datafield
  • Datafields
    • Introduction to datafields
    • Types of datafields
    • Rules of thumb for using datafields
    • Data-expressions
    • Datafield aliases
    • Datafield labels
    • Datafield special tags
    • Datafield descriptions
    • Repeating list datafields
    • Datafield predefines
    • Datafields - FAQ
    • How to: datafields
      • Change datafield type
      • Change the datafield's name or alias
  • Definitions
    • Introduction to definitions
    • How to: definitions
      • How do definitions work?
      • Create a definition
  • Files
    • How files are organised
    • Browse files
    • File types
    • Custom styling
    • Legal comments
    • File description
    • Attributes
    • Reporting
    • File name
    • File category
    • Access rights
    • How to: files
      • Creating advanced folders
      • Naming your files
      • Shortcuts to folders or files
  • Q&A
    • About cards
    • Cards pane
    • About changes
    • Changes pane
    • Types of changes
    • Adding conditions
    • Question options
    • Copying & pasting answers
    • Comments, notes & documentation
    • Interactive Q&A inspection
    • Embedding questions into a document
    • “Changes” button
    • Batch create pane
    • Identifiers pane
    • Import pane
    • Edit clauses pane
    • Q&A options
    • Q&A - FAQ
    • How to: Q&A
      • Create predefined answers to a question
      • Add disclaimers
      • Create categories of questions
      • Modify the exported filename
      • Create a question to change the language of a document
      • Send a questionnaire to someone without a ClauseBase account
      • Create questions for repeating list datafields
      • Selecting legal entities & addresses
      • Create a questionnaire using "batch create"
      • Launch other Q&As
    • Leveraging ClauseBuddy Smart Templates in Clause9
  • Import
    • Introduction to importing clauses
    • Uploading clauses
    • Defined terms in Import mode
    • Datafields in Import mode
    • Cross-references in Import mode
    • Assigning folders
    • Conversion process
    • Exporting
    • Stashing intermediate results
    • Tips, tricks & limitations
  • Styling
    • Styling overview
    • Base styling
    • Numbering
    • Definitions styling
    • Enumerations styling
    • Locale styling
    • References styling
    • Page styling
    • Styling of a Binder versus subdocuments
    • Styling: tips and tricks
    • Advanced styling topics
    • Copying headers and footers from an MS Word file
    • How to: styling
      • Using custom fonts
      • Change bullet styling
  • Special functions
    • Introduction
    • Calculations
    • Concepts
    • Conditions
    • Conjugations
    • Content Control Elements
    • Datafields
    • Dates & durations
    • Languages
    • Lists
    • Numbers
    • References
    • Repeating (looping)
    • Special items
    • Text structure
    • Text modification
    • User
    • Q&A
  • Settings
    • Account
    • Preferences
    • Access bundles
    • Favourites
    • Saved searches
    • Saved datafields
    • Styles
    • Default styles
  • Admin
    • General
    • Users
    • User rights
    • Profiles
    • Groups
    • Styles
    • Default styles
    • Attribute models
    • Usage page
    • Custom homepage
    • Global placeholders
    • Access rights
    • How to: admin
      • Adding a new user
      • Disabling a user
      • Managing group memberships
  • Miscellaneous
    • Advanced tips & tricks
    • Typing special symbols on your keyboard
    • Shortcuts
    • Grammar style guide
    • Inserting MS Word files
    • Globo-panel
    • Creating high-quality documents
    • Excel calculations and lookups
  • Integrations
    • Overview
    • Spreadbases
    • E-signing documents
    • Drag & drop integrations
  • For developers
    • Clause9 API
    • Custom functions
    • Example custom functions
Powered by GitBook
On this page
  • Starting materials
  • Creating a binder
  • Making the annex conditional
  • Cross-reference to the annex
  • Document title in cross-references
Export as PDF
  1. Clauses
  2. How to: clauses

Automatically numbered annexes or schedules

PreviousCreating advanced party introduction clausesNextReuse any clause in a different context

Last updated 6 months ago

In many documents, annexes/schedules must be added based on certain options or clauses being chosen in the main body of the document.

A good example would be a consent form annex to a share transfer agreement, which is what we will be implementing here. We want the consent form to be included if the share transfer agreement contains a clause requiring a consent form to be included. The annex must also be included if the target company is a company type to which transfer restrictions apply by law. For this latter category, we will take as an example the Belgian law BV/SRL (besloten vennootschap/société à responsabilité limitée).

To avoid cluttering your production account, it is advisable following these steps in your Clause9 Sandbox account. If you do not have such Sandbox account, please contact your administrator.

Starting materials

Prior to starting this tutorial, please create the following concepts if you do not have them yet:

  • #buyer, concept label buyer

  • #seller, concept label seller

  • #company, concept label company and datafield named company-type with one predefine: BV/SRL

  • #agreement, concept label agreement

Make a clause with content title “Consent” and the following content body:

1. On the date of #°agreement, #seller will provide #buyer with the consent letter in the form as attached hereto as Annex Form of Consent Letter.

Create another document with document title “Annex Form of Consent Letter”. While in a real situation we would add clauses to this document, for the purposes of this tutorial we will leave it empty.

Creating a binder

Making the annex conditional

How can we make sure the annex only appears when required? As a reminder, these are the conditions on which the annex should appear:

  • the consent clause was implemented; or

  • the company type of the target company is BV/SRL.

In Clause9 grammar, the second condition is easy to implement: {#company^company-type = "BV/SRL"}. But how can we implement the first condition?

Edit the “Consents” clause you created in the beginning. Navigate to cross-tags in the navigation menu on the right. Add “consent-required” as a cross-tag and press Enter.

Let’s implement this. In the binder pane, edit the Annex Form of Consent Letter document properties. You can do this by clicking the Properties button under the Advanced heading of the Binder pane.

Now we can edit this subdocument’s properties. Go to Enabled? in the navigation menu on the right and write the condition using the @crosstag-implemented special function. It will look like this:

@crosstag-implemented("consent-required")

In the enabled? section, conditions are written without curly brackets. As this section can only contain conditions, curly brackets are not needed.

As either of our conditions should trigger the annex, we will make use of OR:

@crosstag-implemented("consent-required") OR #company^company-type = "BV/SRL"

Cross-reference to the annex

We also want to be able to refer to the annex dynamically in our clause. We can do this by using cross-tags as well (or, again, by creating links). Let’s add a cross-tag to our annex subdocument: “annex-form-of-consent-letter”.

Now how do we refer to the subdocument in our “Consents” clause? We make use of the § symbol. Let’s implement this in our clause:

1. On the date of #°agreement, #seller will provide #buyer with the consent letter in the form as attached hereto as §annex-form-of-consent-letter.

Document title in cross-references

Full or short title

However, let’s keep this setting as it is – using the short title.

Subdocument numbering

One final tweak we can make is giving our subdocument dynamic numbering. Let’s assume our agreement can contain more than one annex. In such case, we will want to number our annexes. But the numbering should of course adapt automatically to annexes being added/deleted. There’s an easy way of doing this in Clause9.

Clause9's placeholder for dynamic numbering of document titles is {1}. Add {1} to the document title you use for cross-references. In your document, {1} will be changed to the actual number of the relevant subdocument in the binder.


There you go – you have now made a binder of two documents where one document will be enabled based on one of two conditions being fulfilled in another document. In practice, these conditions can be anything you want them to be. And you can use more complex combinations of conditions as well. Good luck!

Create a new document with document title “Share Transfer Agreement”. The document title can be configured under the of the Assemble Document .

In order for the end user to be able to generate several documents in one go (even having the option to create separate Word files or PDFs), we have to include these documents in . A binder is created by choosing in the top right corner and choosing New Binder. Go to the and add both the Share Transfer Agreement and the Annex Consent Letter using the button.

The Share Transfer Agreement will function as the main body so we can check the option under the Share Transfer Agreement document.

There are two ways of doing this. Either we add to a concept to our clause, or we add a so-called cross-tag. The provides some guidance on when to use the link and when to use cross-tags. For the purposes of this tutorial, we will be using a cross-tag.

To make the annex subdocument conditional on the clause with the cross-tag being included and visible in another subdocument in the binder, we can make use of the @crosstag-implemented . This function takes a cross-tag and checks whether the document or binder contains a clause (that is currently visible) with such cross-tag. If it does, the function returns true. Else it returns false.

However, we want our other condition (i.e. the company being a BV/SRL) to trigger the annex as well. How can we combine both of these conditions? We can make use of ways of combing conditions: . Consider which one we want to use here.

Under default styling settings the clause text will refer to the annex using its short document title, if there is one. If you have not chosen a short document title, the full title will be used. We can make Clause9 always use the full title by going to the of the operations panel. Under the tab “references”, you can choose what cross-references look like by changing this setting:

document pane
operations panel
an “implements” link
Cross-references article
special function
styling pane
a binder
binder pane
AND, OR or NOT