Status

Owner
StakeholdersRAI-ext, Praveen BAVISKAR-ext, Amit 
Jira Request ID

Jira Development ID

High-Level Specification

ParameterValue
Application System (Source)Ariba
Application System (Target)Icertis
Source System InterfaceAriba
Target System InterfaceIcertis
Business Process Reference??

Functional Overview

To ensure consistent and automated management of supplier records across systems, a custom integration and job scheduling solution will be implemented. This solution will:

  • Automate the synchronization of supplier status data between Ariba and Icertis.
  • Ensure alignment of supplier deactivation in Icertis with the current status maintained in Ariba.
  • Reduce manual intervention and the risk of data discrepancies between the two platforms.
  • Support compliance and operational efficiency by maintaining accurate and up-to-date supplier information across systems.

Scope and Objectives

  1. Custom Time-Based Job in Icertis
    A configurable, daily-scheduled job will be developed in Icertis to trigger the supplier deactivation synchronization process, with flexibility to adjust execution frequency and timing.
  2. Supplier Status Check in Ariba
    The job will connect to Ariba via API to retrieve supplier records, identify those marked as inactive, and process delta updates accordingly for synchronization.
  3. Supplier Deactivation in Icertis
    Inactive suppliers identified from Ariba will be deactivated in Icertis using the Business Bulk API, ensuring data consistency, integrity, and audit traceability.

Objectives

  • Automate the synchronization of supplier deactivation status between Ariba and Icertis.
  • Ensure daily alignment of inactive supplier records using a configurable time-based job in Icertis.
  • Retrieve and process only newly deactivated suppliers from Ariba via API to optimize performance.
  • Maintain data integrity and audit traceability during supplier deactivation in Icertis.

Process Flow Diagram


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 Supplier Records

Fetches supplier data from Ariba

4

Check supplier Active Flag

Evaluates which suppliers are inactive

5

Identify Inactive Suppliers

Filters suppliers marked as inactive

6

Deactivate suppliers in Icertis via Business Bulk API

Uses Business bulk API to update the status

7

Ensure data integrity

Mark identified suppliers as Deactivated (Deprovisioned) in Icertis

Assumptions

  • Supplier status (Active/Inactive) in Ariba is always up-to-date and reflects the correct business decision before synchronization.
  • Job should run outside the business hours, parallel job run should be avoided to not impact the performance

Dependencies

Not Applicable

Security, Integrity and Controls

Not Applicable

Configuration Requirements

  1. Job Scheduling in Icertis
  • Frequency: Daily execution (configurable to weekly or custom intervals).
  • Execution Time: Adjustable to align with system maintenance windows or business hours.
  • Retry Logic: Define retry attempts and intervals for failed runs.
  • Notification Settings: Email or system alerts for job success/failure.
  1. API Connectivity with Ariba
  • API Credentials: Secure storage and management of authentication tokens.
  • Endpoint Configuration: URLs for supplier data retrieval (full list and delta updates).
  • Timeout & Error Handling: Define thresholds for API response and fallback mechanisms.
  1. Data Processing & Synchronization
  • Initial Full Load: Configuration for first-run logic to deactivate all inactive suppliers.
  • Delta Updates: Enable incremental fetch based on last successful run timestamp.
  • Bulk API Settings in Icertis: Batch size limits, concurrency settings for deactivation.

Special Requirements

Not Applicable

Design Rationale

Not Applicable

Data Structure

Source Structure

The following fields will be used to provide the required information for this interface:

FieldDescription





Target Structure

The following fields will be used to provide the required information for this interface:

FieldDescription




Mapping and Calculation

  • Ariba Supplier API (for supplier status retrieval) : AribaMDSOrganization

  • Icertis Business Bulk API (for supplier deactivation) : POST/v{version}/bulk/masterdata

Populate the table below to list the target / source data field mapping between the Source system and Target system

Source TableAPI or Portlet NameSource FieldRequired (Y/N)DescriptionTarget FieldAPI or Portlet NameTarget FieldRequired (Y/N)DescriptionRule TypeRule Instruction




































Processing Logic

Processing within Source

Describe the processing requirement from Source System


Processing within Middleware

Describe the processing requirement within Middleware Layer


Processing within Target


Interface Dependency


Interface Constraints


Delivery Requirements

  • Frequency: Daily execution (configurable to weekly or custom intervals).
  • Execution Time: Adjustable to align with system maintenance windows or business hours.

Delta or Full Load Requirements

  • Initial Full Load: Configuration for first-run logic to deactivate all inactive suppliers.
  • Delta Updates: Enable incremental fetch based on last successful run timestamp.

Interface Alert & Monitoring


Interface Reporting

Not Applicable

Language Requirements

Not Applicable

User Interface Requirements

Capture the requirements for the user interface (UI) associated with the interface. It should provide a clear description of how users will interact with the interface and how information will be presented to ensure usability and accuracy.


Volumetrics

Provide volumetrics details: Initial load volumes, Number of Records, Expected Frequency, Expected Long term Growth)



Performance Consideration

Specify if there are any specific performance factors that need to be taken into consideration during development i.e. interface must be able to handle 100 posting per-hour, etc.



Error Handling

  • Integration Logging: Job completion status and any errors to be logged for audit and troubleshooting.




Testing

How to Test

Test Conditions and Expected Results

IDConditionExpected Results
1Initial Full Load
First run of the job with full supplier list from Ariba.
  • All suppliers marked as inactive in Ariba are deactivated in Icertis.
  • Audit log captures all changes.
  • Job completes without errors.
2

Daily Delta Update
Job runs after initial load; Ariba has newly deactivated suppliers

  • Only newly inactive suppliers since last run are deactivated in Icertis.
  • No changes to active suppliers.
  • Audit log shows only delta updates.
3

No Changes Scenario

Supplier previously inactive is reactivated in Ariba

  • No updates made in Icertis.
  • Job completes successfully with “No changes” status.
  • Audit log reflects zero updates.
4Supplier Reactivation in Ariba
  • Reactivation handled by standard integration adaptor (not custom job).
  • Custom job does not attempt to reactivate supplier.
  • Audit log confirms no action taken.
5API Connectivity Failure
Ariba API is unavailable during job execution.
  • Job retries based on configured retry logic.
  • Failure notification sent to admin.
  • No partial updates occur.
5

Data Integrity Check

Supplier record in Icertis already marked inactive before job runs.

  • Job skips redundant deactivation.
  • Audit log notes skipped records.
  • No duplicate actions performed.
6

Test Considerations/Dependencies

Not Applicable


Other Information


Development Details

Package

Package NameParent Package




Other Development Objects

Object TypeObject NamePurpose/High Level LogicDesign Rationale Reference









Appendix


See also

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.


Change log