| Status | |
|---|---|
| Owner | The person responsible for driving this decision and documenting it. Type @ to mention people by name |
| Stakeholders | The business stakeholders involved in making, reviewing, and endorsing this decision. Type @ to mention people by name |
| Jira Request ID | |
| Jira Development ID |
| Parameter | Value |
|---|---|
| Application System (Source) | Syniti |
| Application System ( Target) | Icertis |
| Business Process Reference |
The requirement is to build the middleware integration process that manages both inbound and outbound interfaces between Syniti and ICertis. It is responsible for:

Step | Description | Comment |
|---|---|---|
1 | Trigger integration (scheduled or event-based) | E.g., monthly batch or on-demand |
2 | Fetch currency/exchange rate data from Syniti | 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 | Retry logic, alerting, audit trail |
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
| ExchangeRate | SourceCurrency | Currency code of the local currency | Y | String |
| ExchangeRate | TargetCurrency | Currency code of the target currency (EUR) | Y | String |
| ExchangeRate | Rate | Conversion rate from source to target | Y | Decimal |
| ExchangeRate | EffectiveDate | Date the rate is valid from | Y | Date |
| ExchangeRate | SourceSystem | System providing the rate (Syniti) | Y | String |
| ExchangeRate | LastUpdated | Timestamp of last update | Y | DateTime |
Calculation and Validation
| ExchangeRate | Rate | Validation | Must be > 0 |
| ExchangeRate | EffectiveDate | Validation | Must be the last day of the previous month |
| ExchangeRate | SourceCurrency | Validation | Must be a valid ISO currency code |
| ExchangeRate | TargetCurrency | Validation | Must be 'EUR' |
| ExchangeRate | LastUpdated | Calculation | Auto-populated during integration |
Delta or Full Load Requirements
Not Applicable
Not Applicable
Error Handling
Interface Alert & Monitoring
Testing
| 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. |
| Package Name | Parent Package |
|---|---|
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
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.
