High- Level Specification
| Parameter | Value |
|---|---|
| Application System | Icertis |
| Business Process Reference | 03.03.04.01 Create Agreement/Amendment |
Functional Overview
This enhancement enables automated calculation and tracking of the Total Contract Value (TCV) for agreements in Icertis, including all amendments, so that the correct calculation can be sent to ECC Outline Agreement. The TCV is defined as the sum of the original contract value and the values of all amendments in local currency.
Scope and Objectives
Scope:
- Automate the calculation of TCV as:
TCV = Original Contract Value + All Amendment Values - Support both agreement creation/update and amendment (supersede) events.
Objectives:
- Eliminate manual calculation or entry of TCV by users.
- Send updated TCV value to ECC.
Step | Description | Comment |
|---|---|---|
| 1 | User creates or updates an Agreement | Contract Value is entered/updated |
| 2 | On "Next" (UI) or Save, system copies Contract Value to TCV | UI-level customization |
| 3 | User creates an Amendment | Amendment Value is entered |
| 4 | Custom Task on Supersede Event triggers | Event Custom Task |
| 5 | System sums Parent Agreement TCV + all Amendment Values | Automated calculation |
| 6 | System updates Agreement’s TCV field | TCV reflects all amendments |
Assumptions
- Contract values and amendment contract value are maintained in Euro. The Total Contract Value will be done in Local currency
- Amendments are always linked to their parent agreement
- The custom fields for TCV and Previous TCV exist and are available for use.
- The system can trigger custom tasks on both UI actions and workflow events.
- ECC will use business APIs to retrieve the correct values for Outline Agreements
Dependencies
- Data migration for existing agreements/amendments may be required.
Security, Integrity and Controls
NA
Configuration Requirements
- Custom fields for TCV and Previous TCV must be configured in Icertis.
- Event Custom Task must be configured for the Supersede Event.
- UI customization on the "Next" button for agreement creation/update.
Language Requirements
NA
Special Requirements
NA
Design Rationale
Functional Requirements
Automated TCV Calculation:
- On agreement creation or update, TCV is set to the contract value.
- On amendment creation, the amendment value is added to the parent agreement’s TCV.
- On supersede event, TCV is recalculated as the sum of the original contract value and all amendments.
UI and Workflow Integration:
- TCV field is updated on “Next” or “Save” actions in the UI.
Validation:
- Contract and amendment values must be in the same currency.
- System prevents saving if required values are blank or currencies mismatch.
Audit and Logging:
- All changes to TCV and Previous TCV are logged for audit purposes.
Error Handling:
- User is notified if values are missing or currencies do not match.
Proposed Technology to Use
ASP.Net MVC
Data Source Considerations
Not Applicable
Data Validation Considerations
Not Applicable
Custom Tables
Not Applicable
Master Data
Not Applicable
Configuration Table
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
Selection Screen Enhancement
Not Applicable
| Field Name | Description | Select: | Data Type/Length | Default Value/ Validation rule/ Value Help | Selection Logic |
|---|---|---|---|---|---|
Processing Logic
Agreement Creation/Update
- When a user creates or updates an agreement, the system captures the Contract Value (in Euro or local currency).
- On clicking “Next” or “Save,” the system copies the Contract Value to the TCV field.
- If the agreement is being updated, the TCV field is overwritten with the new Contract Value.
Amendment Creation
- When a user creates an amendment, the system requires the Amendment Value and ensures the currency matches the parent agreement.
- If the currency does not match, the system throws a validation error and prevents the amendment from being saved.
Supersede Event (Amendment Activation)
- When an amendment is activated (supersede event), a custom event task is triggered.
- The system retrieves the parent agreement’s TCV and all related amendment values.
- The system calculates the new TCV as:
TCV=Original Contract Value+∑(All Amendment Values)\text{TCV} = \text{Original Contract Value} + \sum (\text{All Amendment Values})TCV=Original Contract Value+∑(All Amendment Values) - The Previous TCV field is updated with the last known TCV before recalculation.
- The TCV field is updated with the new cumulative value.
Validation and Error Handling
- The system validates that all required fields (Contract Value, Amendment Value) are populated.
- If any required value is missing or currencies do not match, the system prevents saving and displays an appropriate error message.
- All changes to TCV and Previous TCV are logged in the audit trail for traceability.
Audit Logging
- Every update to TCV and Previous TCV, as well as amendment creation and supersede events, are recorded in the audit log for compliance and review.
Volumetrics
Not Applicable
Performance Considerations
Not Applicable
Error Handling
Not Applicable
Testing
How to Test
This section outlines the test scenarios, conditions, and expected results to validate the enhancement for Total Contract Value (TCV) calculation.
Test Conditions and Expected Results
| ID | Condition | Expected Result |
|---|---|---|
| 1 | Agreement Creation - Create a new agreement with a Contract Value in local currency. Click “Next” or Save. | TCV field is populated with the same value as Contract Value. |
| 2 | Agreement Update - Update the Contract Value of an existing agreement. Click “Next” or Save. | TCV field is updated to reflect the new Contract Value. |
| 3 | Amendment Creation - Create an amendment linked to an existing agreement. Enter Amendment Value. | Amendment is created successfully. |
| 4 | Supersede Event Trigger - Supersede the agreement via amendment. Trigger Event Custom Task. | Previous TCV field is updated with the last known TCV. |
| 5 | TCV Recalculation - After supersede, verify that TCV = Original Contract Value + All Amendment Values. | TCV field reflects the correct cumulative value. |
| 7 | Currency Validation - Create agreement in local currency (e.g., INR, USD). | TCV calculation uses local currency. No conversion to Euro. |
| 7 | Amendment Currency Mismatch - Create amendment with a different currency than parent agreement. | System throws validation error. Amendment cannot proceed. |
| 8 | Audit Log Verification - Perform agreement update and amendment creation. | Audit log captures changes to TCV and Previous TCV. |
| 9 | Error Handling - Leave Contract Value or Amendment Value blank. | System prevents save and displays appropriate error message. |
Test Considerations/Dependencies
Not Applicable
Other Information
Not Applicable
Development Details
Package
| Package Name | Parent Package |
|---|---|
Enhancement Implementation
| Enhancement Type | Standard Definition Name | Custom Implementation Name | Design Rationale Reference |
|---|---|---|---|
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
Appendix
Custom Authorization Group Naming Convention
This table is based on the Syensqo development standards document. It provides the naming conventions for authorization groups to associated with custom reports and tables to comply with security requirements.
ABAP | ZFI | ZMM | ZPS | ZCO | ZSD | ZBC | ZFI | ZCA |
|---|---|---|---|---|---|---|---|---|
| TABLES | ZFIT | ZMMT | ZPST | ZCOT | ZSDT | ZBCT | ZFIT | ZCAT |
6 Comments
BAVISKAR-ext, Amit
Hello Praveen, There has been a small change in the business requirement that the TCV will be calculated on the Local Contract Value Currency and not on the Contract Value in Euro. Rest all the information remains the same.
BEZEMER-ext, Wytse
Hi Praveen,
According to my information, the TCV is based on local currency and mainly for ECC (outline agreement) needed.
Als i thought the DOA component was removed from this customization. Therefore the document needs to be updated (also test scripts) accordingly after confirmation.
If I'm not correct, please ignore my message.
RAI-ext, Praveen
Hi BEZEMER-ext, Wytse
I have updated the FS based on the latest requirement update. Could you please do the tech review. Thanks.
BEZEMER-ext, Wytse
Small update needed (see my latest comment).
BAVISKAR-ext, Amit WENNINGER-ext, Sascha TILBEE-ext, Amanda Once updated this is approved from my side.
RAI-ext, Praveen
Hi WENNINGER-ext, Sascha , TILBEE-ext, Amanda - Tech review is completed by Wytse. This spec is related to a small customization within Icertis to add contract values. Request your final approval. Thanks.
MARATHE-ext, Aradhana
RAI-ext, Praveen BAVISKAR-ext, Amit BEZEMER-ext, Wytse
Do we need real-time update or can it be batch-based?
How large is the expected daily transaction volume?
Is Icertis Bulk API or bulk uploads being used for agreement creation /updation and supersede
As per suggested solution we need to discuss below risks with COE team.
Is there any Performance impact if many amendments or API calls?
Is event failure blocks user save operation?
Best methods to recover failed transactions?