| Status | |
|---|---|
| Owner | |
| Stakeholders | RAI-ext, Praveen BAVISKAR-ext, Amit |
| Jira Request ID | |
| Jira Development ID |
| Parameter | Value |
|---|---|
| Application System (Source) | Ariba |
| Application System (Target) | Icertis |
| Source System Interface | Ariba |
| Target System Interface | Icertis |
| Business Process Reference | 03.03.04.05. Manage Contract Master Data |
To ensure consistent and automated management of supplier records across systems, a custom integration and job scheduling solution will be implemented. This solution will:
Scope
![]()
Step | Description | Comment |
|---|---|---|
1 | Schedule Custom Job in Icertis queries Inactive suppliers | A configurable daily job triggers the synchronization process (delta update) |
2 | Receives inactive suppliers from Ariba MDS API | Fetches data from inactive suppliers from Ariba |
3 | Deactivate suppliers in Icertis via Business Bulk API | Uses Business bulk API to update the status |
Dependencies
Supplier should be created in Icertis - Supplier Master through standard Icertis - Ariba Adaptor integration
The following are the Security and Authorization considerations for this interface:
Supplementary | Test | Production | |
Ariba Technical User | R_BTP_ARB_ADMIN | R_BTP_ARB_ADMIN | |
Ariba Realm ID | 745255310-SS-T | 745255310-T | 745255310 |
OAuth URL | |||
Request URL | https://eu.openapi.ariba.com/api/sourcing-mds-search/v1/prod | https://eu.openapi.ariba.com/api/sourcing-mds-search/v1/prod | https://eu.openapi.ariba.com/api/sourcing-mds-search/v1/prod |
Not Applicable
Data Structure
| Field | Description |
|---|---|
| Active (Boolean field) | Active: when Active = "True" Inactive: Active = "False" |
The following field within the table ICMSupplierMaster will be used to provide the required information for this interface:
| Field | Description |
|---|---|
| Status (String field) | Active: Status = "Created" Inactive: Status = "Deactivated" |
| TypeOfContract | Static value - Masterdata |
| ContractTypeName | Static value - ICMSupplierMaster |
| RequestIdentifier | Auto Increase - eg: MD123 (format MDXXX) |
| Id | Sysid of the ContractTypeName |
| Action | Static value - Deactivate |
| EndpointVersion | Static value - 2 |
| UseExternalId | Static value - true |
| EntityName | Static value - ICMSupplierMaster |
| Id | Sysid of the ContractTypeName |
| Note | Static Value - "Bulk Action - Supplier Deactivation" |
| IsPrivate | Static value - true |
| UniqueValues | Sysid of the Bulk Action Record |
| DisplayValue | Static Value - 01 |
| ExternalId | Static value - null |
In this integration, the Active field from Ariba (a boolean) will be mapped to the Status field in Icertis (a string). The mapping logic is as follows:
If Active = FALSE, then Status = "Deactivated".
This transformation ensures compatibility between the data models of both systems and supports accurate status representation during synchronization.
| Source Table | API or Portlet Name | Source Field | Required (Y/N) | Description | Target Table | API or Portlet Name | Target Field | Required (Y/N) | Description |
|---|---|---|---|---|---|---|---|---|---|
| Supplier Master | Master Data Retrieval API for Sourcing | Active Active: Active = "True" | Y | ICMSupplierMaster | /v{version}/bulk/masterdata | Status Active: Status = "Created" Inactive: Status = "Deactivated" | Y | If Active = FALSE, then Status = "Deactivated". | |
| ICMSupplierMaster | /v{version}/bulk/masterdata | TypeOfContract | Y | Static value - Masterdata | |||||
| ICMSupplierMaster | /v{version}/bulk/masterdata | ContractTypeName | Y | Static value - ICMSupplierMaster | |||||
| ICMSupplierMaster | /v{version}/bulk/masterdata | RequestIdentifier | Y | Auto Increase - eg: MD123 (format MDXXX) | |||||
| ICMSupplierMaster | /v{version}/bulk/masterdata | Id | Y | Sysid of the ContractTypeName | |||||
| ICMSupplierMaster | /v{version}/bulk/masterdata | Action | Y | Static value - Deactivate | |||||
| ICMSupplierMaster | /v{version}/bulk/masterdata | EndpointVersion | Y | Static value - 2 | |||||
| ICMSupplierMaster | /v{version}/bulk/masterdata | UseExternalId | Y | Static value - true | |||||
| ICMSupplierMaster | /v{version}/bulk/masterdata | EntityName | Y | Static value - ICMSupplierMaster | |||||
| ICMSupplierMaster | /v{version}/bulk/masterdata | Id | Y | Sysid of the ContractTypeName | |||||
| ICMSupplierMaster | /v{version}/bulk/masterdata | Note | Y | Static Value - "Bulk Action - Supplier Deactivation" | |||||
| ICMSupplierMaster | /v{version}/bulk/masterdata | IsPrivate | Y | Static value - true | |||||
| ICMSupplierMaster | /v{version}/bulk/masterdata | UniqueValues | Y | Sysid of the Bulk Action Record | |||||
| ICMSupplierMaster | /v{version}/bulk/masterdata | DisplayValue | Y | Static Value - 01 | |||||
| ICMSupplierMaster | /v{version}/bulk/masterdata | ExternalId | Y | Static value - null |
Not Applicable
APIs Used:
Ariba Supplier API (for inactive supplier retrieval) : Master Data Retrieval API for Sourcing
Icertis Business Bulk API (for supplier deactivation) : POST/v{version}/bulk/masterdata
Ariba Supplier API (for Inactive supplier retrieval) Master Data Retrieval API for Sourcing request looks like below:
SAP API developer portal: https://eu.developer.ariba.com/api/apis This site requires access as a developer or admin.
Note that this API directly filters the suppliers and provide only inactive suppliers.
curl --location 'https://eu.openapi.ariba.com/api/sourcing-mds-search/v1/prod/entities/organizations?$filter=(Active eq false and TimeUpdated gt 2025-11-25T00:00:00Z)&%24includeInactive=true' \ --header 'Accept-Language: en' \ --header 'X-Realm: 745255310-SS-T' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <Your Auth Token>' \ --header 'apiKey: VJfuIdNt5gi5DqkNOFdXMv92HWGaA81j' |
The example looks like:
{
"DynamicProfileSyncStatus": "0",
"IsCustomer": "false",
"MinorityOther": "",
"MinorityNativeAmerican": "false",
"CorporatePhone": "",
"Name_en": "Ariba P2P Test Supplier",
"CorporateURL": "",
"SystemID": "sid111",
"SystemId": "AN11228658404-T",
"IsOrgApproved": "2",
"AODMigrationStatus": "0",
"OrganizationType": "",
"TimeUpdated": "2025-10-04 00:31:30.811",
"TimeCreated": "2025-05-25 21:17:29.899",
"CorporateEmailAddress": "",
"AODDataSyncScn": "0",
"HasTradingRelationship": "false",
"Active": "false",
"HierarchyPath": "/CCNSAINDMDGykWJ",
"IsSupplier": "true",
"StateOfIncorporation": "",
"CorporateFax": "",
"IsManaged": "0"
} |
Icertis Business Bulk API (for supplier deactivation) : POST /v{version}/bulk/actions/trigger
Sample payload:
{
"Data": {
"TypeOfContract": "Masterdata",
"ContractTypeName": "ICMAccountEntityMaster",
"JobItems": [
{
"RequestIdentifier": "MD123",
"Id": "739caf5b-2c9b-4ba0-9dc7-b4cfbd0cf4b3",
"Action": "Deactivate",
"EndpointVersion": 2,
"UseExternalId": true,
"RequestBody": {
"EntityName": "ICMAccountEntityMaster",
"Id": "739caf5b-2c9b-4ba0-9dc7-b4cfbd0cf4b3",
"Note": "Test Bulk Action",
"IsPrivate": true,
"ReasonCode": {
"UniqueValues": [
"763A18D2-63DB-4E39-8500-0B8BBB3697E7"
],
"DisplayValue": "01",
"ExternalId": null
}
}
}
]
}
} |
Supplier Create and Change is managed using standard Icertis-Ariba Adaptor (ERP-247). Supplier Deactivation will be done through this custom interface (ERP-765) and re-activation will be done through standard integration (ERP247)."
Not Applicable.
Delta or Full Load Requirements
SYNC" timestamp in the master data payload of the bulk API.Interface Alert & Monitoring
To validate the successful records, Navigate to Icertis→ Configure->Masterdata→ Supplier Master, Add Filters - Modified Date <Enter Date>Status: "Deactivated". This will give the records deactivated successfully on a given day
Interface Reporting
Not Applicable
Language Requirements
Not Applicable
User Interface Requirements
Not Applicable
| Resource Type | Max items per job |
|---|---|
| Master Data | 5000 |
Delta records since the last run job.
SAP Ariba API Errors
If the API call to SAP Ariba fails, an email notification should be sent to support.integration@syensqo.com.
Icertis Bulk API Invocation Errors
If the invocation of the Icertis Business Bulk API fails, an email notification should be sent to support.integration@syensqo.com.
Icertis Bulk API Processing Errors
If errors occur during the processing of supplier records via the Bulk API, an email notification should be sent to support.integration@syensqo.com.
After Retry is exhausted
If all retires are exhausted during API/System outage (both Ariba and Icertis), we are maintaining Last Run Date which only captures the successful last run, the next job will be executed from the last run date and will sync the missed records as well
| ID | Condition | Expected Results |
|---|---|---|
| 1 | Daily Delta Update |
|
| 2 | Supplier Reactivation in Ariba |
|
| 3 | API Connectivity Failure Ariba API is unavailable during job execution. |
|
| 4 | Data Integrity Check Supplier record in Icertis already marked inactive before job runs. |
|
| 5 | Record Validation Navigate to Icertis→ Configure->Masterdata→ Supplier Master Add Filters - Modified Date <Enter Date> Status: "Deactivated" |
|
Not Applicable
| Package Name | Parent Package |
|---|---|
Other Development Objects
| 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.
