| Status | Approved |
|---|---|
| Owner | RAI-ext, Praveen |
| Stakeholders | |
| Jira Request ID | ERP-169 - Getting issue details... STATUS |
| Jira Development ID | ERP-556 - Getting issue details... STATUS |
High-Level Specification
| Parameter | Value |
|---|---|
| Application System (Source) | Syniti |
| Application System (Target) | Icertis |
| Source System Interface | |
| Target System Interface | |
| Business Process Reference | 03.03.02 Manage Suppliers |
Functional Overview
Currently, Icertis syncs Supplier Master Data with SAP Ariba Sourcing, capturing supplier names and details. However, SAP Ariba Sourcing does not store Purchasing Organization or Supplier Preferred Currency information. This creates a gap because:
- Purchasing Organization is essential for filtering suppliers and for passing accurate data to SAP ECC/S4 when creating an Outline Agreement.
- Supplier Currency is required for invoicing purposes and must be consistently maintained across systems.
To bridge this gap, an interface will be built where Syniti sends updated Supplier details (including Purchasing Organization and Supplier Preferred Currency) to SAP CPI, which then forwards the data to Icertis using the Bulk Master Data API for Supplier Master.
Scope and Objectives
- Enable Icertis to receive and store Purchasing Organization and Supplier Preferred Currency for each supplier from Syniti via CPI.
- Ensure consistency of supplier master data across systems.
- Support full load during initial sync and delta updates daily.
- Syniti will generate and send an Excel file to CPI daily which will be sent to Icertis for further processing.
Sequence Diagram
Step | Description | Comment |
|---|---|---|
1 | Syniti sends supplier data excel file (Supplier ID, Purchasing Org, and Supplier preferred Currency ) to CPI | Generates Excel file. Refer ERP-555 for more details |
2 | CPI retrieves the existing data from Icertis via GET call and append the Icertis sysId for the existing records. | CPI invokes the Icertis API via GET call to retrieve existing supplier master records along with their SysIds. CPI compares the Supplier ID value from Icertis records with the Supplier ID records received from Syniti. If a match is found, CPI appends the corresponding SysId, to the outbound payload for create/update operation. |
3 | CPI update the existing supplier master records in Icertis | Update of the supplier master records in Icertis will be done using POST API call. |
Assumptions
- Supplier ID is unique and consistent across SAP and Icertis.
- Multiple purchase org values will be sent for a single supplier
Dependencies
- In Icertis, within Supplier Masterdata, Purchase Org field should be configured as multiselect.
Security, Integrity and Controls
- Secure authentication mechanisms are in place at middleware for access to Icertis systems:
- Secure HTTPS protocol is used for all data transfers between the middleware and Icertis, ensuring encrypted communication and protection against unauthorized access.
- OAuth 2.0 authentication is implemented for accessing Icertis APIs via an Azure-registered application, providing token-based security and controlled access
- Audit logging captures all integration transactions, including timestamps, request/response metadata, and error details for traceability and compliance.
Configuration Requirements
Technical Configuration
Azure Application Registration
Since Icertis relies on Azure Active Directory as its identity provider (IdP), an application must be registered in Azure to enable OAuth 2.0 token generation and validation. This establishes trusted access between the middleware and the Icertis APIs.
The application registration includes defining the client ID, client secret, scope, and API permissions required to access the Icertis endpoints.
Functional Configuration
- Supplier Masterdata Configuration
- Add Purchasing Organization multi select field lookup on Purchasing Organization Masterdata.
- Add Supplier Preferred Currency string field
Special Requirements
- Not Applicable
Design Rationale
Data Structure
Source Structure (Syniti)
The following fields will be used to provide the required information for this interface:
| Supplier ID | SAP ID of the supplier pulled from ECC systems | S1234 |
| Purchase Org | Multiple POrg associations for the supplier | E203, E204 |
| Preferred Currency | Preferred currency of the Supplier | EUR |
Target Structure
The following fields will be used to provide the required information for this interface:
| Supplier ID | SAP ID of the supplier pulled from ECC systems | String | 1000 characters | |
| Purchase Org | Multiple POrg associations for the supplier | Multi Select Choice | 1000 characters | E203, E204 |
| Preferred Currency | Preferred currency of the Supplier | String | 1000 characters | EUR |
Mapping and Calculation
Transformation in CPI (Icertis required format):
| Source Table | Source Field | Required (Y/N/O) | Description | Target Field | Required (Y/N) | Description | Rule Type | Rule Instruction |
|---|---|---|---|---|---|---|---|---|
| NA | NA | NA | NA | ContractTypeName | Y | Name of the Masterdata | Fixed Value | ICMSupplierMaster |
| NA | NA | NA | NA | NextState | Y | indicates the state of the contract type. For currency exchange rate as there is no next state, pass always blank. | Fixed Value | Blank/Empty |
| NA | NA | NA | NA | RequestIdentifier | Y | Use “RequestIdentifier” to uniquely identify each item on the result endpoint’s response. This can be used to track the status of each job item of a bulk Job | Increment | Auto Increment (E.g.: 1,2,3) |
| NA | NA | NA | NA | EndpointVersion | Y | “EndpointVersion” don’t have any default value set. Ensure to set it to a number. The recommended value is 3 for best error handling and reporting. Supported values are 1, 2, and 3. 1 – Not recommended, 2 – Enables attribute validation, and 3 – Handles concurrency errors and enables attribute validation. | Fixed Value | 3 |
| NA | NA | NA | NA | UseExternalId | Y | unique identifier for entities getting created from external systems | Fixed Value | false |
| Icertis-GET API | Sysid | O | Unique Identifier of the existing currency exchange rate record. | SysId | Y | Unique technical identifier of the record | Conditional |
|
| NA | Supplier ID | Y | SAP ID of the Supplier | Supplier ID | Y | Indicates the supplier SAP ID - ACN8876 | Copy | Direct mapping |
| NA | Purchase Org | Y | Specifies the applicable purchasing organization of the supplier | ICMPurchaseOrg | Y | Specifies the Supplier Purchase Org. It is an array with the list of applicable purchase org for the supplier | Copy | Direct mapping |
| NA | Preferred Currency | Y | Specifies the target currency for the exchange rate | ICMSupplierPrefferedCurrency | Y | Specifies the preferred currency of the supplier | Copy | Direct mapping |
| NA | NA | NA | NA | HasMoreData | Y | Indicates if there is more data that can be accessed by going to next page | Fixed Value | false |
Processing Logic
Processing within Source
Processing within Middleware
Processing within Target
Interface Dependency
Interface Constraints
Delivery Requirements
Sequencing
Delta or Full Load Requirements
Interface Alert & Monitoring
Interface Reporting
Language Requirements
User Interface Requirements
Volumetrics
Performance Consideration
Error Handling
Testing
How to Test
Test Conditions and Expected Results
| ID | Condition | Expected Results |
|---|---|---|
Test Considerations/Dependencies
Other Information
Development Details
Package
| Package Name | Parent Package |
|---|---|
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
Appendix
See also
Change log
ACN8876