| Status | |
|---|---|
| Owner | |
| Stakeholders | The business stakeholders involved in making, reviewing, and endorsing this decision. Type @ to mention people by name |
| Jira Request ID | |
| Jira Development ID |
| Parameter | Value |
|---|---|
| Application System | Icertis |
| Business Process Reference | 03.03.04.01. Create Agreement/Amendment |
The system enforces a mandatory approval workflow for Bid Waiver forms prior to initiating the Delegation of Authority (DOA) approval process for any Master Agreement, Sub-Agreement, or standalone agreement. This requirement ensures that Contracting Specialists cannot proceed with agreement approvals unless the Bid Waiver has been formally approved. By embedding this control, the process aligns with the Bid Waiver Policy, mitigates operational risk, and upholds audit integrity by preventing unauthorized agreements from advancing in the approval chain.
This custom development focuses on enforcing Bid Waiver compliance within the agreement approval workflow. Specifically, it introduces page-level and logic-based enhancements to ensure that when the Competitive Sourcing metadata is marked as Yes, an approved Bid Waiver form is required before an agreement can be sent for Delegation of Authority (DOA) approval.
The scope includes:
Page-Level Customization:
Implementing an alert on the agreement page when the user clicks “Send for Approval,” guiding them to obtain Bid Waiver approval first.
Enforcement Logic:
Validating the status of the associated Bid Waiver form. The system will block the approval process unless the form is marked as Approved.
Conditional Enforcement:
The Bid Waiver requirement is enforced only when Competitive Sourcing = Yes. If Competitive Sourcing = No, no restrictions or alerts are applied.
Objectives

Step | Description | Comment |
|---|---|---|
| 1 | The user drafts the agreement according to the requirements and selects in the metadata whether the agreement involves Competitive Sourcing. | |
| 2 | The user creates a record for the Bid Waiver form and fills in all required metadata (as defined in the configuration workbook). | |
| 3 | The user or process follows the Bid Waiver form approval workflow as outlined in the configuration workbook. | |
| 4 | Once the agreement is ready for approval, the user clicks on "Send for Approval". | |
| 5 | Upon clicking "Send for Approval", the system checks whether the agreement involves Competitive Sourcing. | |
| 6 | If the agreement involves Competitive Sourcing, the system verifies whether a Bid Waiver form has been created and approved. | |
| 7 | If the agreement involves Competitive Sourcing and the Bid Waiver form is either not created or not approved, the system displays a message: “Please get the Bid Waiver Form Approved before sending for approval.” | |
| 8 | If the agreement does not involve Competitive Sourcing, or if the Bid Waiver form is created and approved, the system proceeds with the approval workflow and subsequent steps. |
Not Applicable
Not Applicable - Standard out of the box security, integrity and controls are used.
The standard String ResourceKeys have to be used if any translations are needed in the future.
Not Applicable
Not Applicable
Standard Icertis


Not Applicable - Standard behavior applied.
Standard behavior applies. Action buttons such as "Send for Approval" are available based on role-action mappings defined in the configuration workbook. The trigger for Bid Waiver validation is initiated when the user clicks "Send for Approval", as shown in the mockup below.

Not Applicable
| Field | Table-Field Name | Comments / Calculation / Field Manipulation / Input / Output / Validation rule / Value help |
|---|---|---|
Not Applicable
| Field | Description | Data Type/Length | Validation rule / Value help |
|---|---|---|---|
| Field | Description | Data Type/Length | Validation rule / Value help |
|---|---|---|---|
Not Applicable
Standard Icertis
Not Applicable
Not Applicable - Standard Authentication of Icertis
Not Applicable - Standard configuration as per configuration workbook
All agreement created have to follow the requirement.
Not Applicable
Not Applicable
Positive Flow – Bid Waiver created and approved:
Positive Flow – Bid Waiver not applicable:
Validation – No Bid Waiver Form Created:
Validation – Bid Waiver Form Not Approved:
Validation – Bid Waiver Form Rejected:
List all test conditions – this will then be used as a basis to execute both the technical and functional unit tests
| ID | Condition | Expected Result |
|---|---|---|
| Positive Flow – Bid Waiver created and approved | ||
| 1 | User drafts the agreement and sets Competitive Sourcing to "Yes". | Agreement record created; output document generated. |
| 2 | User creates and associates a Bid Waiver form. | Bid Waiver form created and submitted for approval. |
| 3 | Approver reviews and approves the Bid Waiver form. | Bid Waiver Form status = Approved. |
| 4 | User clicks "Send for Approval". | Agreement proceeds to approval workflow. |
| Positive Flow – Bid Waiver not applicable | ||
| 5 | User drafts the agreement and sets Competitive Sourcing to "No". | Agreement record created; output document generated. |
| 6 | User clicks "Send for Approval" without creating a Bid Waiver form. | Agreement proceeds to approval workflow. |
| Validation – No Bid Waiver Form Created | ||
| 7 | User drafts the agreement and sets Competitive Sourcing to "Yes". | Agreement record created; output document generated. |
| 8 | User clicks "Send for Approval" without creating a Bid Waiver form. | System displays alert: |
| Validation – Bid Waiver Form Not Approved | ||
| 9 | User drafts the agreement and sets Competitive Sourcing to "Yes". | Agreement record created; output document generated. |
| 10 | User creates and associates a Bid Waiver form. | Bid Waiver form created and submitted for approval. |
| 11 | Approver ignored approval and remains in "Pending for Approval" status. | Bid Waiver not approved. |
| 12 | User clicks "Send for Approval" without creating a Bid Waiver form. | System displays alert: |
| Validation – Bid Waiver Form Rejected | ||
| 13 | User drafts the agreement and sets Competitive Sourcing to "Yes". | Agreement record created; output document generated. |
| 14 | User creates and associates a Bid Waiver form. | Bid Waiver form created and submitted for approval. |
| 15 | Approver rejects the form. | Bid Waiver status = Draft. |
| 16 | User clicks "Send for Approval" without creating a Bid Waiver form. | System displays alert: |
Not Applicable
The following API need to be used to retrieve the status of the Bid Waiver Form:
Below example payload to identify the status:
{
"Messages": null,
"Data": [
{
"ICMParentContractType": "",
"FilePath": {
"Content": null,
"Name": "ICMBidWaiverForm_7fb7570f-dd29-4d9b-9d6f-d41d8204d659_1",
"Extension": "DOCX",
"Path": "default:\\agreements\\ICMCertificates_7fb7570f-dd29-4d9b-9d6f-d41d8204d659_1.Docx"
},
"ICMTemplate": {
"Name": "",
"Version": "",
"Extensions": null
},
"IsLocked": false,
"LockedByUser": "",
"LockedByUserId": "",
"ICMCertificateExpiryDate": null,
"ICMCertificateCategory": "Insurance",
"ICMAgreementCode": "ICMBidWaiverForm_10",
"ICMExternalId": "",
"Name": "Test template",
"Status": "Draft",
"CreatedBy": "wytse.bezemer-ext@syensqo.com",
"CreatedDate": "2025-10-28T17:04:16",
"ModifiedBy": "wytse.bezemer-ext@syensqo.com",
"ModifiedDate": "2025-10-28T17:04:16",
"LinkageType": null,
"SysId": "7fb7570f-dd29-4d9b-9d6f-d41d8204d659",
"TypeOfContract": "AssociatedDocument",
"ContractTypeName": "ICMBidWaiverForm",
"OrgPath": "/syesnqo/procurement/procurement contracts"
}
],
"HasMoreData": false,
"PagingData": {
"RowsPerPage": 100,
"TotalNumberOfPages": -1,
"PageNumber": 1,
"TotalRowCount": -1
}
}
| Package Name | Parent Package |
|---|---|
UI Type | UI Name | Fiori Catalogue | Design Rationale Reference |
|---|---|---|---|
| API Type | API Name | Purpose / High Level Logic | API Product | Design Rationale Reference |
|---|---|---|---|---|
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
Insert links and references to other documents which are relevant when trying to understand this decision and its implications. Other decisions are often impacted, so it's good to list them here with links. Attachments are also possible but dangerous as they are static documents and not updated by their authors.