Before using the TMF651 v4 resource mappings, refer to the following.
Constraints and Limitations
Agreement Specification
- The TMF resource
AgreementSpecification is mapped to DocumentTemplate entity. This requires OrgPerm - DocGen and addon license DocGenDesigner.
- Following additional fields are used on the core
Contract entity by enabling the ContractMgmt OrgPerm.
ContractType
PreviousContract
ParentContract
name
- The
name in AgreementSpecification is unique. Two records with same name are stored with different version.
- The
version in AgreementSpecification is auto-populated with increasing count for each unique name and is available in the GET method. The POST method does not support version.
- POST Method:
- The
relatedParty in AgreementSpecification is the owner. Only one relatedParty is supported in POST method.
- The
relatedParty in AgreementSpecification must be an existing user in the system. The user license must be Salesforce.
- The
type field Salesforce entity DocumentTemplate must have a picklist value of Web.
- The
TokenMappingType field in Salesforce entity DocumentTemplate must have a picklist value of JSON.
- Validation only checks if the
attachment and relatedParty (user) exists in the system.
- The API user must have CLM Admin User and PSL Contract Life Cycle Management User permission set.
- The
lifecycleStatus value in the response is always Draft.
- Two or more
AgreementSpecification cannot have same attachment.
- Attribute selection and filter is supported for first level attribute
name.
- Filtering on the
name is only with ‘Full word’. Prefix search is not supported.
- Attribute selection is supported for valid fields. In case invalid fields are provided then a list of all items with identifier is displayed.
- The
attachment is patchable attribute. Non-patchable attributes are sent in the payload are ignored.
Agreement
- To generate the
endDate of a Contract/Agreement, include the attribute agreementTerm(term in months) in the POST payload. The response attribute completionDate will have the resulting endDate generated from startDate and agreementTerm attributes.
- Obligation
startDate must be after the agreement startDate.
- These are patchable attributes:
description, engagedParty, associatedAgreement,agreementSpecification,agreementItem`
- Filtering is supported for attribute
name. Full word search only is supported.
- Attribute selection is supported for
name.
Agreement Specification Resource
| TMF Field<div style="width:120px"></div> |
TMF Type<div style="width:120px"></div> |
TMF Definition<div style="width:120px"></div> |
Is Mandatory as per TMForum?<div style="width:120px"></div> |
Is Supported?<div style="width:120px"></div> |
Supported Methods <div style="width:190px">property</div> |
Salesforce Definition <div style="width:190px">property</div> |
Salesforce Mapping<div style="width:120px"></div> |
| href |
String |
Reference of the agreement specification |
No |
Yes |
Not supported in PATCH, DELETE payloads. This is present in GET, POST response. |
URI of the DocumentTemplate |
- |
| id |
String |
Unique identifier of the agreement specification |
No |
Yes |
Not supported in PATCH, DELETE payloads. This is present in GET, POST response. |
Unique identifier of the Salesforce DocumentTemplate record |
SF id |
| lifecycleStatus |
String |
Indicates the current lifecycle status |
No |
Yes |
Picklist. This will have value of 'Draft' after POST.<br><br>Supported in GET, POST payloads. |
Specifies the status of the document template |
Status |
| name |
String |
Name of the agreement specification |
Yes |
Yes |
Supported in GET, POST payloads. |
Name of the DocumentTemplate |
Name |
| @type |
String |
Type of TMF resource |
No |
Yes |
Not supported in GET, POST, PATCH, DELETE payloads. This is present in POST response. |
Type of the TMF Entity e.g. AgreementSpecification |
- |
| attachment |
List |
An attachment by value or by reference. An attachment complements the description of an element, for example through a document, a video, a picture |
Yes |
Yes |
Minimum one attachment is required.<br><br>Supported in GET, POST, PATCH payloads. |
Specifies the Content Document associated with DocumentTemplate |
Content Document Entity |
| relatedParty |
List |
Related Entity reference. A related party defines party or party role linked to a specific entity |
No |
Yes |
Supported in GET, POST payloads. |
Owner of the DocumentTemplate |
User |
Sub-resources
attachment
| TMF Field<div style="width:120px"></div> |
TMF Type<div style="width:120px"></div> |
TMF Definition<div style="width:120px"></div> |
Is Mandatory as per TMForum?<div style="width:120px"></div> |
Is Supported?<div style="width:120px"></div> |
Supported Methods<div style="width:120px"></div> |
Salesforce Definition<div style="width:120px"></div> |
Salesforce Mapping<div style="width:120px"></div> |
| attachmentType |
String |
Attachment type such as video, picture. |
No |
Yes |
Supported in GET response |
Type of the ContentDocument |
FileType |
| href |
String |
URI for this Attachment |
No |
No |
Supported in GET response |
URI of the ContentDocument |
|
| id |
String |
Unique identifier for this particular attachment |
Yes |
Yes |
Supported in GET, POST, PATCH payloads. |
Id of the ContentDocument |
SF id |
| mimeType |
String |
Attachment mime type such as extension file for video, picture and document. |
No |
Yes |
Supported in GET response |
Specifies the mimetype of the ContentDocument |
FileExtension |
| name |
String |
The name of the attachment |
No |
Yes |
Supported in GET, POST payloads. |
Title of the ContentDocument |
Title |
relatedParty
| TMF Field<div style="width:120px"></div> |
TMF Type<div style="width:120px"></div> |
TMF Definition<div style="width:120px"></div> |
Is Mandatory as per TMForum?<div style="width:120px"></div> |
Is Supported?<div style="width:120px"></div> |
Supported Methods<div style="width:120px"></div> |
Salesforce Mapping<div style="width:120px"></div> |
| id |
String |
Unique identifier of a related entity |
No |
Yes |
<br>Supported in GET, POST payloads. |
SF id of the user |
| name |
String |
Reference of the related entity. |
No |
Yes |
Supported in GET, POST payloads. |
name of the User |
Agreement
| TMF Field<div style="width:120px"></div> |
TMF Type<div style="width:120px"></div> |
TMF Definition<div style="width:120px"></div> |
Is Mandatory as per TMForum?<div style="width:120px"></div> |
Is Supported?<div style="width:120px"></div> |
Salesforce Mapping<div style="width:120px"></div> |
Salesforce Description<div style="width:120px"></div> |
| agreementPeriod<br>- startDateTime |
TimePeriod |
The time period during which the Agreement is in effect |
No (Refer comments) |
Yes |
startDate |
Contract Period. |
| agreementType |
String |
The type of the agreement. For example commercial. |
Yes |
Yes |
Contract Type |
- |
| completionDate |
TimePeriod |
Date at which the agreement is completed. |
No |
Yes |
EndDate |
- |
| description |
String |
Narrative that explains the agreement and details about the it , such as why the agreement is taking place. |
No |
No |
Description |
Description of the contract. |
| documentNumber |
Integer |
- |
No |
Yes |
ContractNumber |
Number of the contract. |
| href |
String |
- |
No |
Yes |
- |
- |
| id |
String |
- |
No |
Yes |
Salesforce ID |
- |
| initialDate |
DateTime |
Date at which the agreement was initialized |
No |
Yes |
CustomerSignedDate |
Date on which the customer signed the contract. |
| name |
String |
- |
Yes |
Yes |
name |
- |
| statementOfIntent |
String |
An overview and goals of the Agreement. |
No |
Yes |
Description |
- |
| status |
String |
- |
No |
Yes |
status |
- |
| @type |
String |
- |
No |
Yes |
- |
- |
| associatedAgreement |
List |
- |
No |
Yes |
AssociatedAgreement |
ParentContractId |
| agreementItem |
List |
- |
Yes |
Yes |
ProductOffering |
- |
| agreementSpecifcation |
Object |
- |
No |
Yes |
AgreementSpecificationRef |
- |
| engagedParty |
List |
- |
Yes |
Yes |
AccountID |
- |
NOTE: In order to generate endDate as part of agreementPeriod add the field agreementTerm(term in months) in POST payload. Salesforce will use this field and startDate fields to calculate and populate the field completionDate.
AssociatedAgreement
| TMF Field<div style="width:120px"></div> |
TMF Type<div style="width:120px"></div> |
TMF Definition<div style="width:120px"></div> |
Is Mandatory as per TMForum?<div style="width:120px"></div> |
Salesforce Mapping<div style="width:120px"></div> |
| id |
String |
Parent Contract of the current contract |
No |
ParentContractId |
| href |
String |
- |
No |
- |
| name |
String |
- |
No |
name |
| @referredType |
String |
- |
No |
- |
ProductOffering
This is mapped to Salesforce entity: Sales Contract Line.
A list of product offering references (ProductOfferingRef [*]). The list of product offerings referred by this agreement item.
| TMF Field<div style="width:120px"></div> |
TMF Type<div style="width:120px"></div> |
Is Mandatory as per TMForum?<div style="width:120px"></div> |
Salesforce Mapping<div style="width:120px"></div> |
| href |
String |
No |
- |
| id |
String |
Yes |
Product2Id |
| name |
String |
Yes |
Product2.name |
| @referredType |
String |
No |
- |
TermOrCondition
This is mapped to Salesforce entity: Obligation.
A list of agreement term or conditions (AgreementTermOrCondition [*]). Aspects of the agreement not formally specified elsewhere in the agreement and that cannot be captured elsewhere in a formal notation, or automatically monitored and require a more human level of management.
| TMF Field<div style="width:120px"></div> |
TMF Type<div style="width:120px"></div> |
Is Mandatory as per TMForum?<div style="width:120px"></div> |
Salesforce Mapping<div style="width:120px"></div> |
| validFor |
TimePeriod |
No |
EndDate, StartDate |
| id |
String |
No |
name |
| description |
String |
No |
Description |
AgreementSpecificationRef
This is mapped to Salesforce entity: DocumentTemplate.
An agreement specification reference (AgreementSpecificationRef). An AgreementSpecification represents a template of an agreement that can be used when establishing partnerships.
| TMF Field<div style="width:120px"></div> |
TMF Type<div style="width:120px"></div> |
Is Mandatory as per TMForum?<div style="width:120px"></div> |
Salesforce Mapping<div style="width:120px"></div> |
| id |
String |
No |
Salesforce ID |
| name |
String |
No |
name |
| @referredType |
String |
No |
- |
engagedParty
This is mapped to Salesforce entity: Account (associated Account of the Contract).
A list of related parties (RelatedParty [1..*]). Related Entity reference. A related party defines party or party role linked to a specific entity.
| TMF Field<div style="width:120px"></div> |
TMF Type<div style="width:120px"></div> |
Is Mandatory as per TMForum?<div style="width:120px"></div> |
Salesforce Mapping<div style="width:120px"></div> |
| role |
String |
Yes |
Type |
| id |
String |
- |
Salesforce ID of the account |
| href |
String |
- |
- |
| name |
String |
Yes |
name |
| @referredType |
String |
- |
- |
NOTE: As the role field is a picklist, add configuration details for customer setup on what values must be used for initial setup.