High- Level Specification
| Parameter | Value |
|---|---|
| Application System (Source) | Syniti |
| Application System ( Target) | Icertis |
| Business Process Reference | 03.03.04.05. Manage Contract Master Data |
Functional Overview
Syniti, the source system for currency conversion master data, will be integrated with Icertis to create and update currency exchange master data records in a custom Currency Exchange Master Data table within Icertis.
This integration will be executed via SAP CPI, which will invoke the Icertis Business API to perform bulk upsert operations.
The exchange rates maintained in Icertis will be used to convert local currency values into Euros in agreements.
Records will be created or updated daily in Icertis. The objective of this FS is to create Currency Exchange Masterdata in Icertis so that the currency exchange rates can be maintained.
Scope and Objectives
Functional Scope:
This document outlines the functional configuration required in Icertis to support the creation and maintenance of currency exchange master data sourced from Syniti.
Scope Includes:- Creation and update of currency exchange master data in Icertis.
- Daily update of exchange rates.
Functional Objectives:
Ensure Accurate Currency Conversion
- Maintain up-to-date exchange rates for converting local values to Euros in contracts.
Maintain Data Integrity
- Prevent outdated or duplicate exchange rate records.
Enable Auditability and Traceability
- Ensure all exchange rate records are timestamped and sourced for compliance and audit purposes. In Icertis when the masterdatas record is created, system automatically generates the Modified Date and time stamp
Minimize Manual Intervention
- Automate the daily update process to reduce errors and improve efficiency.
Out of Scope:
- Deletion of any existing currency exchange masterdata record
- De-activating any existing currency exchange masterdata record
Process Flow Diagram
Step | Description | Comment |
|---|---|---|
1 | The execution of the interface is triggered as per the defined job schedule in Syniti | |
2 | CPI will call the Icertis Currency API daily, upon receiving data from Syniti, to create or update the currency exchange master data. It will send only the Source-to-EUR direct rates and update the existing currency exchange master data records accordingly |
Assumptions
- Not Applicable.
Dependencies
- Not Applicable.
Security, Integrity and Controls
- Authentication: Access to Create Masterdata CT
Configuration Requirements
OAuth Setup
- Register application in Microsoft Identity Platform
- Capture the following details
| Information | Description |
|---|---|
| Application (client) ID | Application Id for the App created for accessing ICI API’s |
| Directory (tenant) ID | Tenant Id for the App created for accessing ICI API’s |
| Object ID | Object Id for the App created for accessing ICI API’s |
| OpenID Connect metadata document | Metadata document URL for the App created for accessing ICI API’s |
- Redirect URI to be configured - https://syensqo-dev.icertis.com
- Implicit Grant: Access Tokens
Icertis Side Configuration
- Configure new masterdata CT in Icertis to store currency exchange rates
- Create an Integration User (CPI Integration User) in Icertis with Admin access.
- Create Security Group "Integration User" with Manage access to Currency Exchange Rate CT.
- Configure the following OAuth keys in Icertis json file:
Key Values Core.API.OAuth.STSDiscoveryEndpoint https://login.microsoftonline.com/{Directory (tenant) ID}/v2.0/.well-known/openid-configuration Core.API.OAuth.ValidAudiences api://{Client ID} Core.API.OAuth.ValidIssuer https://sts.windows.net/{Directory (tenant) ID}/ Core.API.OAuth.ExternalUpnClaimUri http://schemas.microsoft.com/identity/claims/objectidentifier
Special Requirements
- Localization: Ensure currency formats comply with regional standards (e.g., decimal separators).
Design Rationale
Create a currency exchange rate masterdata CT in Icertis which will store the currency exchange rates from Syniti.
Data Structure
The following fields will be configured in Icertis to provide the required data structure of the interface:
| Parent | Field | Description | Mandatory (Y/N) | Data Type |
|---|---|---|---|---|
| ICMCurrencyExchangeRate | SourceCurrency | Currency code of the local currency | Y | String |
| ICMCurrencyExchangeRate | TargetCurrency | Currency code of the target currency (EUR) | Y | String |
| ICMCurrencyExchangeRate | Rate | Conversion rate from source to target | Y | Number |
| ICMCurrencyExchangeRate | Unique Name | Name Field | Y | String |
Calculation and Validation
Not Applicable
Processing Logic
- The integration job runs daily.
- Currency Conversion rates are pushed from Syniti to Icertis via CPI.
Delta or Full Load Requirements
- Full Load:
- The interface always pushes the complete set of exchange rates for all supported currencies.
- No delta tracking is required since the data is refreshed daily.
Interface Alert & Monitoring
- Not Applicable as this FS objective is to create a masterdata CT in Icertis
Language Requirements
- No multilingual support required for exchange rate data.
- All fields are numeric or standard ISO codes.
User Interface Requirements
Not Applicable
Volumetrics
Not Applicable
Performance Consideration
Scheduling and Execution Window
- The integration job should be scheduled during off-peak hours daily to avoid contention with other system processes.
Error Handling
Not Applicable
Testing
Test Conditions and Expected Results
| ID | Condition | Expected Results |
|---|---|---|
| TC1 | Valid exchange rate data for Source to EUR currency pairs | Record is successfully created or updated in Icertis. |
| TC2 | Full load of records. | All records processed successfully; API response confirms success. |
| TC3 | Missing mandatory field. | Record is rejected; error logged; alert triggered in CPI |
Test Considerations/Dependencies
Not Applicable
Other Information
Not Applicable
Development Details
Package
| Package Name | Parent Package |
|---|---|
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
Appendix
Sample payload:
{
"Messages": null,
"Data": {
"ContractTypeName": "ICMCurrencyExchangeRate",
"JobItems": [
{
"NextState": "",
"RequestIdentifier": 1,
"EndpointVersion": null,
"UseExternalId": true,
"SysId": "",
"RequestBody": {
"ICMUniqueName": "",
"Name": "Masterdata_1_created",
"ICMFromCurrency": "",
"ICMAgreementCode": "",
"ICMToCurrency": "",
"ICMRate": "",
}
},
"TemplateSelection": "none",
"EndPointVersion": 1
},
{
"NextState": "",
"RequestIdentifier": 2,
"EndpointVersion": null,
"UseExternalId": false,
"SysId": "",
"RequestBody": {
"ICMUniqueName": "",
"Name": "Masterdata_2_created",
"ICMFromCurrency": "",
"ICMAgreementCode": "",
"ICMToCurrency": "",
"ICMRate": "",
}
},
"TemplateSelection": "none",
"EndPointVersion": 1
}
]
},
"HasMoreData": false,
"PagingData": null
}