| Status | |
|---|---|
| Owner | RAI-ext, Praveen |
| Stakeholders | |
| Jira Request ID | |
| Jira Development ID |
| Parameter | Value |
|---|---|
| Application System (Source) | Syniti interface ERP-555 |
| Application System (Target) | Icertis interface ERP-731 |
| Business Process Reference | 03.03.02 Manage Suppliers |
Currently, Icertis syncs Supplier Master Data with SAP Ariba Sourcing, capturing supplier names and details. However, SAP Ariba Sourcing does not store Purchasing Organization or Supplier Preferred Currency information. This creates a gap because:
To bridge this gap, integration process in SAP CPI is used to send Supplier details (Purchasing Organization and Supplier Preferred Currency) from Syniti to Icertis. This document describes the interface in SAP CPI which receives data from Syniti (ERP-555). SAP CPI will split the csv file received from Syniti into batches of 5000 records per file, name the files as per the standard naming convention (SupPorg_YYYYMMDDHHMMSS) accepted by Icertis Generic Integration Framework (GIF) and load the payload files in Azure Blob Storage hosted in Icertis Azure Subscription
![]()
Step | Description | Comment |
|---|---|---|
1 | Syniti sends supplier data csv file Supplier Name (Supplier Name + Purchase Org Code), Supplier ID, Supplier POrg Code, Supplier POrg , Supplier Preferred Currency and status) to CPI | Generates CSV file. Refer ERP-555 FS |
2.1 | CPI splits the file into batches of 5000 and follows the naming convention | SupPorg_YYYYMMDDHHMMSS (eg: SupPorg_20260121HHMMSS) This document describes this step |
2.2 | CPI pushes the files to below blob storage
| The batch files are uploaded to blob storage SAS URL is shared privately This document describes this step |
3 | Icertis will pick the files from blob storage and update Supplier Purchase Org and Currency master using standard GIF integration | Create/Update of the supplier master records in Icertis will be done using GIF integration - Refer RP-731 FS |
SupPorg_DDMMYYYYHHMMSS.csv) prevent overwrites and support traceability.Azure Blob Storage
syensqodevintegrationintegrationRationale for splitting the files into batches of 5000 records:
As per Icertis Configuration Guide for GIF integration, the recommendation is to split the record into batches of 5000 records.
Data Structure
Source Structure (Syniti)
The following fields will be used to provide the required information for this interface:
| Field in Icertis | Description | Table | Field in ECC | Data Element | Field Description | Example Values |
|---|---|---|---|---|---|---|
| EntityName:SupPorg | Static field which signifies the entity name in Icertis. This is how GIF recognizes which masterdata in Icertis needs to be updated. The value remains the same for every file | NA | NA | NA | NA | SupPorg (Always remains same in all loads) |
| SupplierName (Unique Key) | This is the unique key to be created by Syniti for all the records. The unique key should be created using combination "Supplier ID-Purchase Org Code | NA | NA | NA | Unique Key | Q0000383-YAE9 |
| SupplierID | SAP ID of the supplier pulled from ECC systems | LFM1 | LIFNR | LIFNR | Supplier | Q0000383 |
| PurchaseOrgCode | Syniti to extract Purchase Org Code | LFM1 | EKORG | EKORG | Purchasing Organization | YAE9 |
| SupplierPurchaseOrg | Purchase Org Description. This will be combination of Purchase Org Code and Description | LFM1 | EKORG | EKORG | Purchasing Organization | YAE9 -SYENSQO TMS |
| PreferredCurrencyUniqueName | Preferred currency of the Supplier | LFM1 | WAERS | WAERS | Order Currency | EUR |
| SupPorgStatus | Status of the masterdata record | LFM1 | LOEVM | LOEVM | Deletion flag purchasing organization | Yes - for Active No - for Inactive (marked for deletion) |
Target Structure (Icertis)
The following fields will be used to provide the required information for this interface:
| Field | Description | Field Type | Max Length | Example Values |
|---|---|---|---|---|
| EntityName: SupPorg | Static field which signifies the entity name in Icertis. This is how GIF recognizes which masterdata in Icertis needs to be updated. The value remains the same for every file | String | 1000 characters | EntityName: SupPorg (Always remains same in all loads) |
| Supplier Name (Unique Key) | The unique key should be created using combination "Supplier ID-Purchase Org Code | String | 1000 characters | Q0000383-YAE9 |
| Supplier ID (ICMSupplierID) | SAP ID of the supplier pulled from ECC systems. The supplier ID referenced in Supplier Porg and Currency masterdata is derived from the Supplier Master in Icertis, which is synchronized from SAP Ariba. | String | 1000 characters | Q0000383 |
| Purchase Org Code (ICMPurchaseOrgCode) | Syniti to extract Purchase Org Code | String | 1000 characters | YAE9 |
| Purchase Org Description (ICMSupplierPurchaseOrg) | Purchase Org Description. This will be combination of Purchase Org Code and Description | String | 1000 characters | YAE9 -SYENSQO TMS |
| Preferred Currency (ICMPreferredCurrencyUniqueName) | Preferred currency of the Supplier | String | 1000 characters | EUR |
| Status (Status) | Status of the Master Data record | Label | NA | Yes or No |
File Structure

Processing Logic
Not Applicable
Not Applicable
Not Applicable
Not Applicable
Not Applicable
Not Applicable
Test Conditions and Expected Results
| ID | Condition | Expected Results |
|---|---|---|
| TC01 | Split the csv received from Syniti into multiple batches of 5000 records each, push it to Blob Container | Batches of 5000 records should be successfully placed in Blob |
| TC03 | Validate naming convention of the file | File naming convention should be SupPorg_YYYYMMDDHHMMSS |
| TC03 - Negative | Unable to connect with Blob Storage | CPI should not be able to send files to Azure Blob, an email notification to be sent to IT Support Team stating connection with Blob failed. |
| TC04 - Negative | Only partial files processed successfully and remaining files failed due to connectivity issues | CPI will reprocess the failed files on the same day after connection issues are resolved. |
Not Applicable
Azure Blob Storage is a distributed, replicated, object storage system where data lives as blobs inside containers within a storage account, exposed via HTTP APIs, auto‑scaled globally, tiered for cost, and secured through Azure identity & network controls. It is an object storage, designed for massive amounts of unstructured data. Its mechanics are built around three core layers:
| Package Name | Parent Package |
|---|---|
| Syniti To Icertis - MasterData Sync | NA |
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
| iFlow | Syniti_To_JMS_SupplierPorgCurrencyData | Receive the Supplier Purchasing Org data, split it into batches and store it in JMS Queues | Icertis recommended approach is to process 5K records per file only. |
| iFlow | JMS_To_Icertis_SupplierPorgCurrencyUpload | Generate the file in Icertis - Azure Blob Storage account for each message of the JMS Queue | Icertis require the supplier data in batches of 5K records per file to process. |
| Object Name | Configured/Externalized Parameters | Value |
|---|---|---|
| Syniti_To_JMS_SupplierPorgCurrencyData | QueueName | Icertis_SupplierPorgCurrData |
| batchSize | 4998 | |
| EntityName | EntityName:SupPorg | |
| JMS_To_Icertis_SupplierPorgCurrencyUpload | QueueName | Icertis_SupplierPorgCurrData |
storage-account-name | DEV - syensqodevintegration | |
container | integration | |
| BlobPath | SupplierPurchaseOrgandCurrency_Dev/Inbox | |
| SASSecureParameter | Icertis_AzureBlob_Token |
Security Material
| Icertis_AzureBlob_Token | Secure Parameter |
Sample Payload of CSV file expected by Icertis from Syniti. Refer "Payload in CSV" worksheet
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.

ACN8876