| Status | |
|---|---|
| Owner | |
| Stakeholders | |
| Jira Request ID | |
| Jira Development ID |
| Parameter | Value |
|---|---|
| Application System (Source) | Syniti |
| Application System ( Target) | Icertis |
| Business Process Reference | Masterdata Conversion |
Syniti which is the source of Currency Conversion Master Data will be integrated with Icertis to create currency exchange masterdata records in Icertis custom Currency Exchange masterdata table using Icertis Business API.
This Exchange rate will be used to convert the local Value into Euros to identify the DOA approvers in agreement.
In Icertis, records will be created/updated in bulk once in a month preferably 1st of every month and it will take the rate of last date of the previous month.
Functional Scope:
This interface facilitates the monthly integration of currency exchange rates from Syniti into Icertis Contract Intelligence (ICI) to support accurate financial calculations and DOA (Delegation of Authority) logic in contracts.
Scope Includes:
Source System:
Target System:
Integration Mechanism:
Data Elements Transferred:
Frequency:
Operation Type:
Usage in Icertis:
Functional Objectives:
Ensure Accurate Currency Conversion
Support DOA Logic in Agreements
Maintain Data Integrity
Enable Auditability and Traceability
Minimize Manual Intervention
Out of Scope:
API Information
Get bulk api prepare for masterdata
POST/v{version}/bulk/masterdata/prepare
Sample Request
POST/{{baseUrl}}/{{version}}/bulk/masterdata/prepare
{
"Data": {
"ContractTypeName": "ICMOtherPartyMaster",
"SelectedAttributes": []
}
}
Create or update masterdata records in Bulk
POST/v{version}/bulk/masterdata

Step | Description | Comment |
|---|---|---|
1 | The execution of the interface is triggered as per the defined job schedule | |
2 | Daily, Syniti will call Icertis Business API's to create/update currency exchange masterdata |
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:
| 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 | Decimal |
| ICMCurrencyExchangeRate | Unique Name | Date the rate is valid from | Y | String |
Not Applicable
Delta or Full Load Requirements
Not Applicable
Not Applicable
No error handling is possible in Icertis and it is expected in Syniti as per FS-288 and in the middleware as per FS-289
| ID | Condition | Expected Results |
|---|---|---|
| TC1 | Valid exchange rate data for multiple currency pairs | Record is successfully created or updated in Icertis. |
| TC2 | Full load of 100+ records. | All records processed successfully; API response confirms success. |
| TC3 | Missing mandatory field. | Record is rejected; error logged; alert triggered |
| TC4 | Invalid currency code | Validation error; record rejected |
| TC5 | Negative exchange rate | Validation error; record rejected. |
Not Applicable
Not Applicable
| 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.
