| 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 and Objectives

Step | Description | Comment |
|---|---|---|
1 | Schedule Job in Icertis | A configurable daily job triggers the synchronization process (delta update) |
2 | Connect to Ariba via API | The job establishes a connection to Ariba |
3 | Retrieve Inactive Supplier Records | Fetches data from inactive suppliers from Ariba |
4 | Deactivate suppliers in Icertis via Business Bulk API | Uses Business bulk API to update the status |
5 | Ensure data integrity | Mark identified suppliers as Deactivated in Icertis |
Dependencies
Supplier should be created in Icertis - Supplier Master through standard Icertis - Ariba Adaptor integration
Not Applicable
API Credentials: Secure storage and management of authentication tokens is ensured. Icertis securely stores all configuration data required to invoke Ariba APIs..
Endpoint Configuration: URLs for supplier data retrieval (full list and delta updates).
Not Applicable
Data Structure
| Field | Description |
|---|---|
| Active (Boolean field) | Active: 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" |
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 |
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 master sync will happen using standard Icertis-Ariba Adaptor
Not Applicable.
Delta or Full Load Requirements
SYNC" timestamp in the master data payload of the bulk API.Interface Alert & Monitoring
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.
The execution of the scheduled job in Icertis should be carefully timed to avoid overlap with other system batch processes and to minimize impact during peak business hours. Scheduling should take into account system maintenance windows and existing job loads to ensure optimal performance and reliability.
Further considerations: Ariba Rate Limit (Requests): 10/sec, 40/minute, 200/hour, 1000/day - The rate limit will consume the bandwidth for the standard MD if both share the same application.
SAP Ariba API Errors
If the API call to SAP Ariba fails, an email notification should be sent to Icertis IT Support Admin user group.
Icertis Bulk API Invocation Errors
If the invocation of the Icertis Business Bulk API fails,an email notification should be sent to Icertis IT Support Admin user group.
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 Icertis IT Support Admin user group
| 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. |
|
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.
