| Status | |
|---|---|
| Owner | |
| Stakeholders | |
| Jira Request ID | |
| Jira Development ID |
| Parameter | Value |
|---|---|
| Application System (Source) | Syniti |
| Application System ( Target) | Icertis |
| Business Process Reference | 03.03.04.04. Currency Exchange Masterdata |
The requirement is to build the middleware integration process that manages the outbound of Currency Exchange Masterdata from Syniti and inbound to Icertis. It is responsible for:

Step | Description | Comment |
|---|---|---|
1 | Syniti will push daily Currency Exchange Rate file into a file location | E.g., daily scheduled job |
2 | A batch job send data to CPI | Uses FS-288 interface |
3 | Transform and map data to Icertis API format | Data mapping, validation, enrichment |
4 | Orchestrate data transmission to Icertis | API calls, error handling, logging |
5 | Receive response from Icertis | Success/failure, process feedback |
6 | Log results and handle exceptions by triggering an email to Support Team | No retry, data will be uploaded next day |
This interface is designed to facilitate seamless integration between Syniti (source) and Icertis (target) for currency/exchange rate master data. The middleware orchestrates the data flow, ensuring mapping, transformation, and reliable delivery
Requested Sample (Extract from ECC):
| Exchange Rate Type | From Currency | To Currency | Valid From | Exchange Rate | Ration (from) | Ratio (to) |
|---|---|---|---|---|---|---|
| M | CHF | EUR | 08.07.2025 | /0,93510 | 1 | 1 |
| M | USD | EUR | 08.07.2025 | /117,22500 | 1 | 100 |
Currency conversion file generated as per ERP-110 Currency Conversion into Ariba (Syniti Interface) FS should be re-used for Icertis as well. CPI will filter out the EUR conversion rate.
From Currency | Unique Name | To Currency | Exchange Rate |
|---|---|---|---|
USD | USD:EUR | EUR | 0.86 |
CAD | USD:EUR | EUR | 0.61 |
Transformation in Syniti (Icertis required format):
| From Currency | Unique Name | To Currency | Rate | Logic |
|---|---|---|---|---|
Get the To-currency from ECC extract | Concatenate FromCurrency and ToCurrency with ":" colon in the middle | Get the From currency from ECC extract | -Replace comma with period (.). -Remove the forward slash / (-1) | General |
| USD | USD:EUR | EUR | 1.17225 | 117.22500 * 1 / 100 - Sanitized ECC Rate multiplied to Ratio (from) divided by Ratio (to) |
| CHF | CHF:EUR | EUR | 1.069404342 | 1 divided by 0.93510 (EUR:CHF) - Reverse |
Processing Logic
Inbound Trigger
Data Validation
Transformation
Routing
Error Handling
Monitoring & Logging
Delta or Full Load Requirements
Not Applicable
Not Applicable
Error Handling
Interface Alert & Monitoring
Testing
| TC1 | Valid exchange rate data for Source to EUR currency pairs | Record is successfully created or updated in Icertis. |
| TC2 | Full load of records with valid EUR pairs | All records processed successfully; API response confirms success. |
| TC3 | Missing mandatory field. | Record is rejected; error logged; alert triggered |
| TC4 | Negative exchange rate | Validation error; record rejected. |
| Package Name | Parent Package |
|---|---|
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
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
}
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.
