High- Level Specification
| Parameter | Value |
|---|---|
| Application System (Source) | Syniti |
| Application System ( Target) | Icertis |
| Business Process Reference | Masterdata Conversion |
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.
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.
- Integration with Syniti via SAP CPI.
- Use of Icertis Business API for bulk upsert operations.
- Daily update of exchange rates using the rate from the last day of the previous month.
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.
Minimize Manual Intervention
- Automate the monthly 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 | Daily, CPI will call Icertis Business API's to create/update currency exchange masterdata and will send only Source to EUR direct rates and update existing currency exchange masterdata record |
Assumptions
- The integration will be triggered by a scheduled job or batch process in the CPI daily after Syniti to CPI batch job is executed.
Dependencies
- Syniti Data Availability: Exchange rate data must be finalized and accessible by the 1st of each month.
- Icertis API Availability: Business API must be operational and accessible during the integration window.
- Middleware/ETL Tool: A tool or service must be in place to extract data from Syniti and push it to Icertis.
- Authentication Setup: Secure tokens or credentials must be configured for API access.
- Schedule Dependency: This interface must run after Syniti’s daily currency update job completes.
Security, Integrity and Controls
- Authentication: API access to Icertis must use secure OAuth tokens or API keys.
- Authorization: Only designated integration service accounts should have write access to the Currency Exchange master table.
- Encryption: Data in transit must be encrypted using HTTPS/TLS.
- Audit Logging: All API calls and data changes must be logged for audit purposes.
- Data Validation: Exchange rates must be validated for completeness and correctness before pushing to Icertis.
Configuration Requirements
- Icertis Custom Table: Must include fields for Source Currency, Target Currency, Exchange Rate, Effective Date, Source System, and Timestamp.
- API Endpoint Configuration: Business API endpoints must be configured to accept bulk upsert payloads.
- Job Scheduler: A scheduler (e.g., Control-M, SAP PO, or custom script) must be configured to run the job monthly.
- Error Handling Rules: Define retry logic, failure notifications, and fallback mechanisms.
Special Requirements
- Localization: Ensure currency formats comply with regional standards (e.g., decimal separators).
Design Rationale
Icertis will consume data from CPI middleware via a scheduled integration that uses the Icertis Business API to create or update currency exchange master data records.
The API will be used to:
- Push Daily exchange rates from Syniti to middleware to Icertis.
- Ensure that the latest rates are available for contract value conversion.
API Use
- System Consuming API: SAP CPI
- System Providing API: Icertis
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 | Date the rate is valid from | Y | String |
Calculation and Validation
Not Applicable
Processing Logic
- The integration job runs daily.
- Currency Conversion rates are pushed from CPI to Icertis.
- The data is transformed into the required format and pushed to Icertis via the Business API.
- The API performs bulk upsert: updates existing records or creates new ones.
- Errors are logged and flagged for manual review in 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
- Alerts should be configured for:
- API failures
- Missing or incomplete data
- Validation errors
- Monitoring tools (middleware logs) should notify:
- Integration support team
- Business users (email)
- Retry logic should be in place for transient failures.
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
No error handling is possible in Icertis and it is expected in Syniti in the middleware
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
}