Source: https://vaultcrmhelp.veeva.com/doc/Content/CRM_topics/Events/Speakers/SpeakerContractGeneration.htm

## Generating Speaker Contracts

Events Management users can automate the creation of Speaker Contracts using customizable Contract Templates created by business admin users that define negotiable thresholds for services contracted by the speaker. Contracts can be signed on the iPad or printed, signed, and scanned back into the Vault CRM application. This ensures that the contracts generated by end users for their events meet business requirements, saving time while ensuring all compliance needs are met.

**Who can use this feature?**

* Business Admin Users - Browser
* [Creating Speaker Contract Print Templates](#Creating)
* [Creating Event Speaker Contract Templates](#Creating2)
* End Users - Browser, iPad
* [Creating Contracts for Events Speakers](#Creating3)
* [Activating a Contract](#Activati)
* Event Speakers - iPad
* [Signing a Contract](#Signing)
* Users require an Events Management License

### Configuring Generating Speaker Contracts for

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)Business Admin Users](#)

To configure this feature:

1. Ensure the following features are configured:

   * [Configuring Events Management](../Configuration/Config.htm)
   * [Managing Event Materials](../Materials/EventMaterial.htm)
2. Grant the following permissions:

   | Object | Object Permission | Object Types | Fields | Field Permission |
   | --- | --- | --- | --- | --- |
   | contract\_\_v | CRED | All Applicable | * awaiting\_rendition\_\_v * agreement\_\_v * contract\_status\_\_v * description\_\_v * disclaimer\_\_v * em\_catalog\_\_v * em\_tier\_\_v * em\_total\_payment\_\_v * end\_date\_\_v * external\_id\_\_v * local\_currency\_\_sys * lock\_\_v * language\_\_v * mobile\_id\_\_v * name\_\_v * object\_type\_\_v * start\_date\_\_v * template\_\_v * template\_name\_\_v | Edit |
   | contract\_line\_\_v | CRED | All Applicable | * contract\_\_v * em\_rate\_\_v * em\_rate\_type\_\_v * em\_rate\_max\_\_v * em\_rate\_min\_\_v * em\_service\_quantity\_\_v * em\_service\_quantity\_max\_\_v * em\_service\_quantity\_min\_\_v * lock\_\_v * local\_currency\_\_sys * mobile\_id\_\_v * object\_type\_\_v * service\_\_v | Edit |
   | * em\_total\_payment\_\_v * service\_name\_\_v | Read |
   | contract\_partner\_\_v | CRED | All Applicable | * acceptance\_id\_\_v * contract\_\_v * contract\_partner\_status\_\_v * disclaimer\_\_v * em\_event\_speaker\_\_v * end\_date\_\_v * lock\_\_v * mobile\_id\_\_v * modified\_date\_\_v * object\_type\_\_v * stage\_\_sys * state\_stage\_id\_\_sys * start\_date\_\_v * signature\_datetime\_\_v | Edit |
   | formatted\_name\_\_v | Read |
   | currency\_\_sys | R | n/a | abbreviation\_\_sys | Read |
   | em\_catalog\_\_v | CRED | contract\_\_v | n/a | n/a |
   | em\_event\_material\_\_v | CRED | contract\_\_v | n/a | n/a |

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)End Users](#)

To configure this feature:

1. Ensure the following features are configured:

   * [Configuring Events Management](../Configuration/Config.htm)
   * [Managing Event Materials](../Materials/EventMaterial.htm)
2. Grant users the following permissions:

   | Object | Object Permission | Object Types | Fields | Field Permission |
   | --- | --- | --- | --- | --- |
   | contract\_\_v | CRED | All Applicable\* | * awaiting\_rendition\_\_v * agreement\_\_v * contract\_status\_\_v * description\_\_v * disclaimer\_\_v * em\_catalog\_\_v * em\_tier\_\_v * em\_total\_payment\_\_v * end\_date\_\_v * external\_id\_\_v * local\_currency\_\_sys * lock\_\_v * language\_\_v * mobile\_id\_\_v * name\_\_v * object\_type\_\_v * start\_date\_\_v * template\_\_v * template\_name\_\_v | Edit |
   | * contract\_length\_\_v * first\_expiration\_date\_\_v * minimum\_contract\_length\_\_v * period\_type\_\_v | Read |
   | contract\_line\_\_v | CRED | All Applicable\* | * contract\_\_v * em\_rate\_\_v * em\_rate\_type\_\_v * em\_rate\_max\_\_v * em\_rate\_min\_\_v * em\_service\_quantity\_\_v * em\_service\_quantity\_max\_\_v * em\_service\_quantity\_min\_\_v * lock\_\_v * local\_currency\_\_sys * mobile\_id\_\_v * object\_type\_\_v * service\_\_v | Edit |
   | * em\_total\_payment\_\_v * service\_name\_\_v | Read |
   | contract\_partner\_\_v | CRED | All Applicable\* | * acceptance\_id\_\_v * contract\_\_v * contract\_partner\_status\_\_v * disclaimer\_\_v * em\_event\_speaker\_\_v * lock\_\_v * mobile\_id\_\_v * modified\_date\_\_v * object\_type\_\_v * signature\_datetime\_\_v | Edit |
   | * end\_date\_\_v * formatted\_name\_\_v * stage\_\_sys * state\_stage\_id\_\_sys * start\_date\_\_v | Read |
   | currency\_\_sys | R | n/a | abbreviation\_\_sys | Read |
   | em\_catalog\_\_v | CRED | contract\_\_v | n/a | n/a |
   | em\_event\_material\_\_v | CRED | contract\_\_v | n/a | n/a |
   | em\_event\_speaker\_\_v | CRE | n/a | tier\_\_v | Read |

   \*This feature supports using custom object types. When using a custom contract type, ensure the custom object type name is present on the contract\_\_v, contract\_partner\_\_v, and contract\_line\_\_v objects, matching exactly. For example, to create a custom contract type named Pilot Program, an object type named pilot\_program\_\_c must be created on the contract\_\_v, contract\_partner\_\_v, and contract\_line\_\_v objects.
3. Navigate to the **em\_event\_speaker\_\_v** object in the permission set.
4. Grant Execute permission to the **Manage Contracts** Object Action.
5. Navigate to **Business Admin > Objects > vmobile\_object\_configuration\_\_v**.

   Activate the appropriate VMOCs for the following objects:

   * contract\_\_v – Top Level Sync
   * contract\_line\_\_v – Full Object Sync
   * contract\_partner\_\_v– Full Object Sync

   See [Using VMobile Object Configurations](../../Getting_Started/MobileDeviceSetup/Sync/VMOCs.htm) for more information on the different types of VMOC.
6. Add the **manage\_contracts\_\_v** button to the visible\_buttons\_\_v field of the appropriate em\_event\_speaker\_\_v [Event Layouts](../Configuration/DefiningPageLayouts.htm).

#### Configuring Contract Templates for Activation

Admins can configure the signature requirements for activating a contract , each of which has specific configuration requirements based on contract\_partner\_\_v layouts.

##### Configuring Activating Contracts via Wet Signature

To require a wet signature for activating a contract:

1. Navigate to **Admin > Configuration > Objects > contract\_partner\_\_v > Layouts**.
2. Add the **acceptance\_id\_\_v** field to the appropriate layouts.
3. Remove the **signature\_datetime\_\_v** field from the appropriate layouts.

##### Configuring Activating Contracts via Digital Signature

To require a digital signature for activating a contract:

1. Navigate to **Admin > Configuration > Objects > contract\_partner\_\_v > Layouts**.
2. Add the following fields to the appropriate layouts:

   * acceptance\_id\_\_v
   * signature\_datetime\_\_v

##### Configuring Activating Contracts without a Signature

To allow contracts to be activated without any signature:

1. Navigate to **Admin > Configuration > Objects > contract\_partner\_\_v > Layouts**.
2. Remove the following fields from the appropriate layouts:

   * acceptance\_id\_\_v
   * signature\_datetime\_\_v

#### Configuring the Digital Signature Capture Page on the iPad

Speaker contracts can be signed via iPad using a dedicated signature capture page. Admins can configure individual elements of this signature page based on business needs, including disclaimers, acknowledgments, and company logos.

##### Displaying the Acknowledgement checkbox

When enabled, the acknowledgment checkbox must be selected by signees before the signature can be submitted. To enable the acknowledgement checkbox:

1. Navigate to **Admin > Configuration > Objects > contract\_partner\_\_v > Layouts**.
2. Add the **acknowledgement\_\_v** field to the appropriate layouts.

##### Configuring Capturing Speaker Signatures

To enable capturing speaker signatures:

1. Navigate to **Admin > Configuration > Objects > contract\_partner\_\_v > Layouts**.
2. Add the **signee\_\_v** field to the appropriate layouts.

##### Configuring Capturing User Signatures

To require the Vault CRM user contracting the speaker to also provide their signature:

1. Navigate to **Admin > Configuration > Objects > user\_detail\_\_v > Layouts**.
2. Add the **user\_signature\_\_v** field to the appropriate layouts.

##### Defining Company Fields

Company fields are company-wide contact information relevant across all speaker contracts, for example, the street address of company headquarters or a support email address. To define company fields:

1. Navigate to **Business Admin > Objects > message\_\_v** and edit the COMPANY\_FIELDS\_FOR\_PRINT;;EVENTS\_MANAGEMENT Veeva Message.
2. Add the appropriate HTML to the Text field to define company fields that display at the bottom of the signature page. For example:

   [Copy](javascript:void(0);)

   ```
   1
   2
   3
   4
   5
   <table>
     <tr><td>Verteo Biopharma</td></tr>
     <tr><td>87 Street Avenue</td></tr>
     <tr><td>California, USA</td></tr>
   </table>
   ```

##### Company Logo

Admins can upload an image to serve as a logo on the signature page:

1. Navigate to **Business Admin > Objects > events\_management\_settings\_\_v** and edit the appropriate record.
2. Select the **Allow attachments** checkbox in the Options section.
3. Select the **Upload** button in the Attachments section.
4. Select the appropriate image to serve as a logo on the signature page. Images must adhere to the following requirements:

   * The file must be named event\_logo.xxx
   * The file must have an extension of one of the following file types:
   * .jpg
   * .png
   * .gif

     GIF files do not animate.
   * The maximum logo size is 220x440 pixels

##### Defining Default Disclaimers

Admins can also define a default disclaimer that displays whenever a contract does not have a populated disclaimer\_\_v field:

1. Navigate to **Business Admin > Objects > veeva\_settings\_\_v** and edit the global setting record.
2. Populate the **Contract Disclaimer** setting with the appropriate Veeva Message.

#### Configuring Criteria VQL Filters for Registration Forms

To help avoid incorrect record selection, admins can optionally configure a Criteria VQL filter for the contract\_\_v field on the em\_event\_speaker\_\_v object:

1. Navigate to **Admin > Configuration > Objects > em\_event\_speaker\_\_v > Fields > contract\_\_v** and select Edit.
2. Populate the **Criteria VQL** field in the Constrain Records in Referenced Object section with the appropriate expressio.
3. Select **Save**.

See [Using Criteria VQL to Filter Records](../../Getting_Started/SettingUp/CriteriaVQL.htm) for more information.

### Creating Speaker Contract Print Templates as

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)Business Admin Users](#)

Business admins can create the .docx template file with all appropriate verbiage and information before uploading it to Vault CRM for use, just as they would for [Managing Event Materials](../Materials/EventMaterial.htm). Templates files contain tokens that populate with information from the specific event or event speaker when rendered by end users to create a contract.

All formatting from the .docx template is copied when the user generates a contract, including images and text formatting. Tokens are replaced with the data from the system that they reference.

The following types of tokens are supported in speaker contract templates:

* {{ObjectAPIName.FieldAPIName}} – References a specific field from the corresponding event, event speaker, or contract record. The following objects are supported:
* em\_event\_\_v
* em\_event\_speaker\_\_v
* contract\_\_v
* contract\_line\_\_v – Data repeats in the output file for each contract line associated with the event
* contract\_partner\_\_v
* user\_\_sys – Individual fields from the user who generates the contract
* {{currentDate}} – Displays the current date using the format MM/DD/YY HH:MM:SS XM
* {{currentTime}} – Displays the current date using the format MM/DD/YY HH:MM:SS XM
* {{timeZone}} – The time zone location of the user who generated the contract. For example, (America/Los\_Angeles).

For example, if the .docx template contains the following table and tokens:

| Service Name | Rate | Service Quantity | Total |
| --- | --- | --- | --- |
| {{contract\_line\_\_v.service\_name\_\_v}} | {{contract\_line\_\_v.em\_rate\_\_v}} {{contract\_\_v.local\_currency\_\_sys}} | {{contract\_line\_\_v.em\_service\_quantity\_\_v}} | {{contract\_line\_\_v.em\_total\_payment\_\_v}} |
| Contract Total |  |  | {{contract\_\_v.em\_total\_payment\_\_v}} |

The output printable PDF displays:

| Service Name | Rate | Service Quantity | Total |
| --- | --- | --- | --- |
| Advisory Services | 400 USD | 1 | 400 USD |
| Leading the Workshop | 200 USD | 2 | 400 USD |
| Speaking at the Keynote | 100 USD | 2 | 200 USD |
| Contract Total |  |  | 1000 USD |

#### Filtering Contract Lines

When adding contract\_line\_\_v field tokens, business admins can filter the list of displayed contract\_line\_\_v records based on a specific value using the following format:

{{contract\_line\_\_v.FieldAPIName<contract\_line\_\_v.FieldAPIName=value>}}

For example, adding the token {{contract\_line\_\_v.service\_name\_\_v<contract\_line\_\_v.service\_type\_\_v=program\_\_v>}} only renders the service\_name\_\_v field of contract lines with a service\_type\_\_v field of program\_\_v.

Only filtering based on picklist values or numbers are supported.

#### Sorting Contract Lines

Business admins can specify the sort order of contract\_line\_\_v records in the rendered contract using the following format:

{{contract\_line\_\_v.FieldAPIName<sort=ObjectAPIName.FieldAPIName asc/desc>

For example, adding the token {{contract\_line\_\_v.service\_name\_\_v<sort=contract\_line\_\_v.em\_total\_payment\_\_v desc>}} renders the list of service names for each contract, sorted in descending order based on each contract line's associated payment.

Business admins can also sort by multiple fields, for example:

{{contract\_line\_\_v.service\_name\_\_v<sort=contract\_line\_\_v.em\_total\_payment\_\_v desc, contract\_line\_\_v.rate\_\_v asc>}}

If a sort order is not defined, or if two ore more contract lines have matching sort values, the sort order is based on the ID of the record in ascending order.

#### Uploading the Template to Vault CRM

After creating the .docx file, business admins must then upload the file to a Contract-type em\_catalog\_\_v record:

1. Navigate to the **EM Catalog** tab.
2. Select **Create**.
3. Select **contract\_\_v** for the object type.
4. Populate the appropriate fields. See [Creating Catalogs](../Materials/EventMaterial.htm#Creating2) for more information
5. Select **Save**.
6. Navigate to the **Attachments** section of the appropriate em\_catalog\_\_v record.
7. Select the **Upload** button, or drag and drop the .docx template file into the section.

Contract Templates can be automatically associated to an event type or topic using Event Rules or Topic Materials. See [Automatically Associating Catalogs with Matching Events](../Materials/EventMaterial.htm#Automati) for more information.

### Creating Event Speaker Contract Templates as

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)Business Admin Users](#)

After uploading the template file, business admins must then create a contract\_\_v and associated contract\_line\_\_v records that are associated with the template and define the rates and services associated with the contract:

1. Navigate to the **Contracts** tab.
2. Select **Create**.
3. Select the appropriate object type, either **em\_speaker\_contract\_\_v** or a configured custom object type.
4. Populate the following fields:

   * em\_catalog\_\_v – Select the appropriate print template used to generate the printable PDF attachment
   * name\_\_v – The Contract name
   * description\_\_v – The contract's description. This field is optional.
   * disclaimer\_\_v – The text serving as the contract's disclaimer. If this field is left blank, the default disclaimer is used.
   * start\_date\_\_v – Start date for the contract
   * end\_date\_\_v – End data for the contract
   * template\_\_v – Select this checkbox
   * language\_\_v – The language of the Contract. This field is optional.
   * contract\_status\_\_v – Select draft\_\_v
   * local\_currency\_\_sys – The currency used for all Contracts, Contract Lines, and Contract Partners associated with the template
5. Select **Save**.

#### Creating Contract Lines

After creating the Contract, business admins must then define the appropriate Contract Lines:

1. Navigate to the **Contract Lines** section of the appropriate contract\_\_v record.
2. Select **Create**.
3. Select the appropriate object type, either **em\_speaker\_contract\_\_v** or a configured custom object type.
4. Populate the following fields:

   * service\_\_v – Select the appropriate Speaker Service
   * em\_service\_quantity\_min\_\_v – The minimum quantity for the contract line. This field is optional.
   * em\_service\_quantity\_max\_\_v – The maximum quantity for the contract line. This field is optional.
   * em\_service\_quantity\_\_v– The default quantity for the contract line
   * em\_rate\_\_v – The default rate for the contract line
   * em\_rate\_type\_\_v – The type of rate for the contract line
   * em\_rate\_min\_\_v – The minimum rate for the contract line. This field is optional.
   * em\_rate\_max\_\_v – The maximum rate for the contract line. This field is optional.
5. Select either **Save** or **Save + Create**.

After creating all appropriate Contract Lines, update the contract\_status\_\_v field on the contract\_\_v record to activated\_\_v to make the contract available for use.

### Creating Contracts for Events Speakers as

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)End Users](#)

To create a new Contract:

1. Navigate to the appropriate **em\_event\_speaker\_\_v** record.
2. Select the **Manage Contracts** button from the All Actions menu.

   ![](../../../Resources/Images/Events/Speakers/SpeakerContractGeneration.png)
3. Select **New Contract**.
4. Select the appropriate Contract Template from the list of contract\_\_v records. Records display as available for selection based on the following criteria:

   * The template\_\_v checkbox is selected
   * The contract\_status\_\_v field is activated\_\_v
   * The end\_date\_\_v of the contract is after the current date
   * The template has not already been used for the speaker
   * The contract's print template is associated with the event as an em\_event\_material\_\_v record. This can occur [automatically](../Materials/EventMaterial.htm#Automati) or can be [manually added by users](../Materials/EventMaterial.htm#Manually).

   ![](../../../Resources/Images/Events/Speakers/SpeakerContractGeneration1.png)
5. Select **Continue**.

   If only one Contract Template is available for the Event Speaker, it is automatically selected.
6. Edit the appropriate negotiable fields, if necessary.

   ![](../../../Resources/Images/Events/Speakers/SpeakerContractGeneration2.png)

   Currency labels do not display in the Total Payment column. The Rate Min/Max and Service Quantity Min/Max columns only display in the Browser platform. An error displays if the user enters values violating the template's minimum and maximum values for the Rate and Service Quantity fields.
7. Select **Create Contract**. A PDF of the generated contract attaches to the associated em\_event\_speaker\_\_v record. The PDF attachment generates based on the associated .docx template file.

   ![](../../../Resources/Images/Events/Speakers/SpeakerContractGeneration3.png)

#### Updating Existing Contracts

To update an existing contract:

1. Navigate to the appropriate **em\_event\_speaker\_\_v** record.
2. Select the **Manage Contracts** button from the All Actions menu.
3. Select the appropriate contract to update.
4. Select **Update**.
5. Update the appropriate negotiable fields. At least one field must be updated to edit an existing contract.
6. Select **Update Contract**. The existing contract\_\_v, contract\_line\_\_v, and contract\_partner\_\_v records update accordingly. Additionally, PDF output file regenerates, ensuring there is only one valid PDF for every contract.

### Signing a Contract as

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)Event Speakers](#)

End users on the iPad can guide event speakers to agree to and sign a contract directly from the Vault CRM app:

1. Navigate to the appropriate em\_event\_speaker\_\_v record.
2. Select **Manage Contracts** from the All Actions menu.
3. Select the appropriate contract.
4. Select **Sign**.

   ![](../../../Resources/Images/Events/Speakers/SpeakerContractGeneration5.png)

Once the contracted event speaker has reviewed the contract, they can provide their signature:

1. Select **Tap to Sign**.
2. Sign and select **Accept**.

   ![](../../../Resources/Images/Events/Speakers/SpeakerContractGeneration6.png)
3. Select **Accept**.

### Activating a Contract as

[![Closed](../../../../Skins/Default/Stylesheets/Images/transparent.gif)End Users](#)

If a contract has been signed digitally, or if the end user needs to first upload an image of the speaker's signature, end users can activate the contract:

1. Navigate to the appropriate em\_event\_speaker\_\_v record.
2. Select **Manage Contracts** from the All Actions menu.
3. Select the appropriate contract.
4. Select **Activate**.

   * If the contract has been signed digitally, the contract activates
   * If the contract has not been signed digitally and signatures are configured as required, users are prompted to upload an image of the speaker's signature. Uploaded files automatically attach to the associated em\_event\_speaker\_\_v record.
   * If the contract has not been signed digitally and signatures are not configured as required, selecting the Activate button activates the contract.

### Related Topics

[Managing Event Materials](../Materials/EventMaterial.htm)

[Adding Event Speakers to an Event](AddEventSpeakers.htm)
