Status

OwnerRAI-ext, Praveen 
Stakeholders
Jira Request ID
Jira Development ID

High-Level Specification

ParameterValue
Application System (Source)Syniti
Application System (Target)Icertis
Business Process Reference03.03.02 Manage Suppliers

Functional Overview

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:

  • Purchasing Organization is essential for filtering suppliers and for passing accurate data to SAP ECC/S4 when creating an Outline Agreement.
  • Supplier Currency is required for invoicing purposes and must be consistently maintained across systems.

To bridge this gap, an interface will be built where Syniti sends updated Supplier details (including Purchasing Organization and Supplier Preferred Currency) to SAP CPI, which then forwards the data to Icertis using the Bulk Master Data API for Supplier POrg and Currency Master.

Scope and Objectives

  • Enable Icertis to receive and store Purchasing Organization and Supplier Preferred Currency for each supplier from Syniti via CPI in Supplier POrg and Currency Masterdata
  • Ensure consistency of supplier master data across systems.
  • Support full load during initial sync and delta updates daily.
  • Syniti will generate and send an CSV file to CPI daily which will be sent to Icertis for further processing through GIF integration

Sequence Diagram

Step

Description

Comment

1

Syniti sends supplier data CSV file (Supplier ID, Purchasing Org, and Supplier preferred Currency ) to CPI

Generates CSV file. Refer ERP-555 FS

2

CPI splits the file into batches of 5000 and follows the naming convention

SupPorg_YYYYMMDDHHMMSS (eg: SupPorg_20260121HHMMSS)


2

CPI pushes the files to below blob storage 

Container Name– integration 

Storage account name –             syensqodevintegration 

The batch files are uploaded to blob storage

SAS URL is shared privately

3

Icertis will the files and update Supplier Purchase Org and Currency master using standard GIF integrationCreate/Update of the supplier master records in Icertis will be done using GIF integration

Assumptions

  • Supplier ID is unique and consistent across SAP and Icertis.

Dependencies

  • Supplier integration from Ariba to Icertis should be executed before this load is executed

Security, Integrity and Controls

  • CPI uses a time-limited, permission-scoped Shared Access Signature (SAS) token to authenticate with Azure Blob Storage. This ensures only authorized uploads are allowed, and the token cannot be used beyond its expiry date.
  • The SAS token is scoped to the specific container and operation (write-only if possible), minimizing risk if the token is exposed.
  • Unique, datestamped file names (e.g., SupPorg_DDMMYYYYHHMMSS.csv) prevent overwrites and support traceability.
  • Only CPI (and authorized users/services) have the SAS token, and the token is rotated before expiry.

Configuration Requirements

Technical Configuration

  • Azure Blob Storage 

    • Storage account: syensqodevintegration
    • Container: integration
    • SAS URL (container‑scoped, HTTPS) - shared separately
  • Payload Preparation & Batching
    • CSV payload: Supplier ID, POrg Code/Description, Preferred Currency, Status (Active/Inactive via ECC deletion flag).
    • Batching: Split into 5,000‑record files to align with GIF ingestion and operational limits

Functional Configuration

  • Supplier Purchase POrg and Currency Masterdata Configuration must be created as per FS ERP-731

Special Requirements

  • Not Applicable


Design Rationale

Data Structure

Source Structure (Syniti)

The following fields will be used to provide the required information for this interface:

Field in IcertisDescriptionTableField in ECCData ElementField DescriptionExample Values
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

NANANAUnique KeyQ0000383-YAE9
Supplier IDSAP ID of the supplier pulled from ECC systemsLFM1LIFNRLIFNRSupplierQ0000383
Purchase Org CodeSyniti to extract Purchase Org Code 

LFM1

EKORG

EKORG

Purchasing Organization

YAE9

Purchase Org DescriptionPurchase Org Description. This will be combination of Purchase Org Code and Description

LFM1

EKORG

EKORG

Purchasing Organization

YAE9 -SYENSQO TMS 

Preferred CurrencyPreferred currency of the SupplierLFM1WAERSWAERSOrder CurrencyEUR
StatusStatus of the masterdata recordLFM1 LOEVMLOEVM 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:

FieldDescriptionField TypeMax LengthExample Values
Unique Key (Name)The unique key should be created using combination "Supplier ID-Purchase Org CodeString1000 charactersQ0000383-YAE9
Supplier ID (ICMSupplierID)SAP ID of the supplier pulled from ECC systemsString1000 charactersQ0000383
Purchase Org Code (ICMPurchaseOrgCode)Syniti to extract Purchase Org Code String1000 charactersYAE9
Purchase Org Description (ICMSupplierPurchaseOrg)Purchase Org Description. This will be combination of Purchase Org Code and DescriptionString1000 charactersYAE9 -SYENSQO TMS 
Preferred Currency (ICMPreferredCurrencyUniqueName)Preferred currency of the SupplierString1000 charactersEUR
Status (Status)Status of the Master Data recordLabelNAYes or No


File Structure

Sample Payload:


Processing Logic

  • SAP CPI receives the inbound Supplier POrg and Currency csv file from Syniti
  • CPI will split the files in batches of 5000 records each.
  • The naming convention will be SupPorg_YYYYMMDDHHMMSS
  • The processed data is transmitted to the Blob Storage Container 
  • If any error occurs during transformation or routing, CPI logs the issue and stops further processing.
  • The interface follows a full-load approach, either the entire batch is successfully processed or the batch is rejected in full.

Interface Dependency

Not Applicable

Interface Constraints

Not Applicable

Delivery Requirements

CPI to process the file into multiple batches of 5000 records and send it to blob container

Sequencing

Not Applicable

Delta or Full Load Requirements

  • The integration processes all records as a complete batch; if any issue occurs, the entire batch is rejected
  • Initial full load - Syniti to send full of Supplier ID, Porg and Supplier Preferred Currency data. (Around 35000 suppliers)
  • Daily updates- Every day, Syniti will send the full load of the suppliers.

Interface Alert & Monitoring

  • Alerts should be configured for:
    • Failure while uploading file to blob
    • Email notification to be sent to IT Support Admin incase of upload failure
  • Monitoring tools (middleware logs) should notify:
    • Integration support team
  • Retry logic should be in place for transient failures.

Interface Reporting

Not Applicable

Language Requirements

Not Applicable

User Interface Requirements

Not Applicable


Volumetrics

  • Daily load will be around 35000 suppliers information


Performance Consideration

  • Not Applicable

Error Handling

  • Not Applicable

Testing

How to Test

  1. Split the csv received from Syniti into multiple batches of 5000 records each, push it to Blob Container
  2. Send full load of csv without splitting into baches and send it to Blob Container
  3. Naming convention of the files are generated correctly

Test Conditions and Expected Results

IDConditionExpected 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
TC02Send the full load of csv to Blob - NegativeFull load should fail in Icertis
TC03Validate naming convention of the fileFile naming convention should be SupPorg_YYYYMMDDHHMMSS

Test Considerations/Dependencies

Not Applicable



Other Information


Development Details

Package

Package NameParent Package




Other Development Objects

Object TypeObject NamePurpose/High Level LogicDesign Rationale Reference









Appendix


See also

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.


Change log

ACN8876