Status

Owner
StakeholdersThe business stakeholders involved in making, reviewing, and endorsing this decision. Type @ to mention people by name
Jira Request ID

Jira Development ID

High- Level Specification

Implementing SystemS/4 HANA RoW, S/4 HANA CUI, S/4 HANA CHINA
Invoked by/InvokesLink to any Integration Process spec which is related to this System Interface, e.g. because it is invoking this interface, or because this interface is sending data to it. 
Business Process Reference09.07.01.05. Manage General Ledger Period Close


Functional Overview

BlackLine has been chosen as the application that will be used for account reconciliation post period-end in Syensqo. Account reconciliation is a process whereby G/L account balances will be substantiated and certified by accountants to ensure control of a company’s accounts. In Syensqo this only refer to balance sheet accounts. Each G/L will be assessed as to how often it needs to be reconciled based on the account’s perceived risk and the entity’s complexity.  This is performed as a monthly exercise for Syensqo company codes in SAP S/4 HANA

In order to enable account reconciliation in BlackLine, G/L account balances will be extracted from SAP S/4 HANA once the accounting period has been closed as part of the period-end process. 

There are three methods of integration between SAP S/4 HANA and BlackLine that available:

  1. File-Based Integration. This method is by exporting financial data in structured file formats (CSV, XML, or TXT) and transfers it to BlackLine via Secure File Transfer Protocol (SFTP). BlackLine then process this data for reconciliation and reporting. Although this is simpler to setup however it prone to error and requires robust error-handling mechanisms

  2. SAP Connector for BlackLine. BlackLine offers a pre-built SAP-certified connector that enables seamless integration with SAP S/4 HANA. This connector automates data extraction and transmission without manual file handling. In Syensqo this is the method that will be used and described in this document

  3. API-Based Integration. BlackLine also offer organizations that seek a more dynamic and real-time integration to use API. SAP S/4 HANA's RESTful APIs (SAP BTP, SAP API Business Hub) facilitates direct communication with BlackLine's API endpoints. In Syensqo's case, the extraction is only once after period-end close hence it does not necessitate to have this method for real-time data processing

Scope and Objectives

Scope of the SAP connector for Syensqo is to facilitate Account Reconciliation which is one directional flow from S/4 HANA to BlackLine system.  There are other BlackLine products (Journal Entry, Transaction Matching, etc) however they are either not use or not part of Syensqo's licensed

The objective of the implementing SAP Connector is to provide an interface that enables configuration to automatically extract data from S/4 HANA systems and formats the data to be compatible with BlackLine. The SAP Connector retrieves data related to account balances (including subledgers) and transactions from the SAP S/4 HANA instance. Once the G/L account balances are retrieved, the SAP Connector formats the data into BlackLine’s specifications in order for the data to be imported for use in BlackLine’s Account Reconciliation.  

Process Flow Diagram

Step

Description

Comment

1

Work Day 3 (D3) 18:00 Local Time Period Close

The extraction will be triggered from AFC to run once G/L Accounting period for IFRS ledger is fully closed in S/4

2.1

Extract Account Balances (including subledgers) to BlackLine 

SAP Connector extracts and format the account balances from S/4 for the entities/region on the day accounting period has been closed in S/4

2.2

Receive data in BlackLine from S/4 

SAP Connector send the data from S/4 in pre-formatted result to BlackLine

Assumptions

Describe any assumptions that have been made in the process of completing this design. What functionality is expected of configuration or other developments that pass information to this development and/ or retrieve the information processed by it (performance, triggers, exceptions, etc.)

It is assumed that business will not start with the preparation of account reconciliation before the periods have been closed in S/4. This has been endorsed from Signavio L4 process review with SME

Dependencies

Indicate any dependencies or constraints that may impact development, in terms of requirements from internal or external applications or teams, limited access to legacy systems, time constraints or data restrictions. Also, please specify schedule dependencies e.g. interface or batch jobs that must run prior to execution.

Month end closing needs to be completed before the extracts can be run. BlackLine extraction Batch jobs will be triggered automatically following successful completion of Full Closure task (planned on D3 18:00 local time) in Advance Financial Close (AFC) at month-end to ensure the data is complete and final.

Security, Integrity and Controls

To detail the security requirements for processing this object, any data integrity issues associated with the object and the teams that will be responsible for processing the object, i.e. authorization/roles required to who can execute the interface, encryption requirement, etc.

S/4 HANA

Transaction codes and programs for configuring data from S/4 HANA to BlackLine should only be granted to BlackLine administrator.

Configuration transaction codes:

  • /BLACKLIN/MENU            Blackline main configuration page
  • /n/BLACKLIN/SRV_DIR     configuration to whitelist (register) the server path where the extracted file is placed  
  • /n/BLACKLIN/BL00           configuration to enable segment combination 
  • /n/BLACKLIN/BLUC          configuration to setup user-defined parameter categories
  • /n/BLACKLIN/BLUV          configuration to setup user-defined parameter values

Transaction codes for extracting data from S/4 HANA to BlackLine are part of General Ledger Accountant role.  As there are no standard Fiori Apps available for Blackline extract transaction codes, Fiori wrappers will be created for those. It is mandatory for the General Ledger accountant to have access for these transactions in order to trigger automatic execution of extraction tasks as Processing User Groups in AFC.

Data extract transaction codes:

  • /BLACKLIN/BL01               Standard G/L extract
  • /BLACKLIN/BL10               AP Subledger extract
  • /BLACKLIN/BL11               AR Subledger extract
  • /BLACKLIN/BL12               AA Subledger extract
  • /BLACKLIN/BLMM            MM Subledger extract


BlackLine

(Refer to Config Workbook DD - FUN - 030 Configuration Workbook (SAAS) - R2R - Blackline.docx)

Configuration Requirements

Specify the configuration requirements for this object. Like in case of substitution/ routine specify the configuration needed

The SAP extractor programs provided by Blackline require some functional configurations. Functional configuration is setup by SyWay implementation team until go live and maintained by Syensqo BlackLine administrator going forward

  • BlackLine - Segment Combination Configuration (T-code: /BLACKLIN/BL00)
    This transaction code provides the access within S/4 to define the Sort Order Mapping for the fields included in all data extracts. This configuration controls how the data is positioned within the extract files. These positions correspond to the Segment Combination Configuration setup in BlackLine application. This setup is generally a one-time setup. There are ten (10) sort positions which can be defined in the extract, in which sort order position #1 and #2 by default are company code (BUKRS) and G/L account (SAKNR).  Syensqo will be keeping the default position#1 and #2 with additional two sort order being: House Bank, and House Bank Account.  These sort order are setup as "Normal key Fields" which will appear in the extract transaction codes as "additional selection parameters".  These key fields will also be setup in BlackLine application as "Enabled and part of key" on Import Configuration setting under Segment Combination Configuration. Note: If the fields activated as “User defined parameters” as opposed to "Normal Key Fields", the field will appear as “Categories”
  • BlackLine - User Defined Categories and Value (T-code: /BLACKLIN/BLUC and /BLACKLIN/BLUV)
    In conjunction with BlackLine - Segment Combination Configuration in S/4, if any of the fields are setup as "User Defined Parameters" then using these transaction codes, user can define the descriptions (labels) and values for those categories
    This is not being considered for SyWay as there is no requirement for enriched data
  • BlackLine - Authorised server locations  (T-code: /BLACKLIN/SRV_DIR).  This transaction code is required to whitelist server path where the extract files will be placed into. Failing to update this configuration, the extraction will show an error as " Directory XXXXX is not whitelisted"

Special Requirements

Specify any special requirements or considerations that may impact the interface based on specific locations, regulatory compliance or system limitations. Clearly outline requirements e.g. localization rules for countries like China

If the interface interacts with third-party systems such as Icertis, describe any additional integration, security or authentication considerations that must be taken into account.


Design Rationale

API Use 

N/A

Data Structure

The following fields will be used to provide the required data structure of the interface:

FieldDescriptionRulesComments
ACDOCA-BUKRSCompany CodeDefault
ACDOCA-RACCTG/L Account Default
ACDOCA-HBKIDHouse BankDefaultAs per BlackLine configuration
ACDOCA-HKTIDAccount IDDefaultAs per BlackLine configuration
SKAT-TXT50G/L Account DescriptionDefault
-Assignment Type Default"A"  (applicable for BlackLine Account Reconciliation)

Active AccountDefault

"TRUE" (Account is marked as "Active" and/or available for posting in general ledger. Reconciliation will be created for the period)


Activity in PeriodDefault

"TRUE" (Account had activities during the period even net Dr. and Cr. is zero.)

"FALSE (Account had no activities during the period)

ACDOCA-RHCURCompany Code CurrencyDefault

Based on extract parameter 


Period End DateDefault

Based on parameter passed through from AFC Task List

ACDOCA-HSLAmount in Company Code CurrencyDefault



Processing Logic

Describe the processing requirement in the System

An extraction program needs to be run in the source system with pre-defined selection variants to start the extraction of the data for the respective accounting period. Once executed the file with the transactional data in it shall be transmitted to Blackline via ftp-connection

Delta or Full Load Requirements

Please describe change tracking requirements, i.e. transferring only delta, or always full load

As this is a data extraction tool, it will always use a full load process. Extraction volume can be controlled via selection parameters in the selection screen of the extraction program.

Interface Alert & Monitoring

Please describe any alert & monitoring requirement for business users and support organization, i.e. AIF

Blackline Administrator should be notified once the file has been pushed out to Blackline and transmission of the file didn’t result in errors. In case the electronic file transfer failed due to technical reasons within S/4, SAP system administrator should be notified to perform follow-up actions in order to rectify the error. See error handling section below

Language Requirements

Specify multi language requirements

The extraction program will always be executed as a batch job in the background by a batch user or as an ad-hoc run started by the Blackline administrator in SAP. As such it is not required to translate the selection screens of the provided program into other logon languages. The selection screen should contain meaningful field names in English only.

User Interface Requirements

Capture the requirements for the user interface (UI) associated with the interface. It should provide a clear description of how users will interact with the interface and how information will be presented to ensure usability and accuracy. 

Sequencing

Please describe delivery requirements driven by message sequencing, i.e. specific order, impact of disruption of sequence, are duplicates allowed, etc.


Volumetrics

Provide volumetrics details: Initial load volumes, Number of Records, Expected Frequency, Expected Long term Growth)

Per extraction run the volume of records will remain relatively stable. Increases to the data volume are only expected in case new company codes have gone into operation or new B/S G/L accounts are added to the operational Chart of Accounts used in S/4. Both are events that will not occur in a high frequency or have a material impact.
Volumetrics per extraction:
•    Number of Records: 30,000 records per extraction (Approx. 75 entities x 400 GL Balance Sheet accounts) for GL
•    Number of Records: XXX records per extraction for Subledgers (AP, AR, AA, MM)
•    Expected Frequency: monthly
•    Expected Long Term Growth: Records will grow by a factor of 400+additional records for each entity added.

Performance Consideration

Interface will only be required to extract data once a month. The account balances will be read from one source table and additional data will be read from a few master data related tables. The complexity of the extraction program is therefore very limited and as such no negative impact on system performance is expected.

Error Handling

Detail how errors will be handled: Notification, Restart/ Recovery and Re-Processing Procedures

Scenario 01 - Error during extraction 
Batch job ended in "error" state in S/4. Notification sent to BlackLine administrator 
Resolution: Review the error log. Rectify the issue and re-execute the program as ad-hoc run in S/4

Scenario 02 - Extraction file(s) available in dedicated server path (AL11), however no file(s) received at BlackLine
Resolution: Check outbound log and SAP OData API / RFC-enabled function module. Correct the error and resend the file by BlackLine Administrator

Scenario 03 - Extraction file(s) received successfully in BlackLine however data are not group correctly 
Resolution: Update grouping / Sort Method and/or extraction parameters in S/4. Re-execute the extract program as ad-hoc. Confirmed the file received in BlackLine with updated structure / grouping 

Testing

How to Test

Please provide some guidance and/or test data to help the developer unit test the interface. Please include both positive and negative testing (to validate error situations handling)

The developer will need to test repeatedly, so where appropriate provide instructions to reverse the actions performed so the test may be run again, or explain how to create new input data to the test. In particular, the developer will need logons for test users representing the various roles within the approval process.

Tests can be performed by running the extraction program to check whether the data file gets created and saved in the application server. From there a web service or any other file transfer protocol service can pick up the file and transfer it to the Blackline server. An import job can be started there to import the data sets into Blackline’s Account Reconciliation module. 
Quality of the extracted data in Blackline must be checked by functional consultant, this would be the end result of testing. i.e. that 4S GL data is extracted correctly and agrees to the Blackline balances

Test Conditions and Expected Results

IDConditionExpected Results
1Full Close Task (RFOB52) is executed in AFCSuccess
2Task Blackline Extract executed automatically (as pre-requisite is completed)Data file generated and saved in AL11 directory
3Web service started to transfer data to BlackLineData file transferred to BlackLine and balances are updated there
4Account Balance imported into BlackLine (functional testing)

Test Considerations/Dependencies

List any considerations essential for application test planning (e.g., test this before ABC along with DEF separate from GHI). If the development encompasses a user interface, explain how to test it. List any insights as to how this component could be tested the most efficiently.

For testing any source data can be used based on availability and completeness, ideally from a closed accounting period to verify the account balances after transmission

Other Information

Data Encryption

Blackline provides a encryption/decryption mechanism for the extracted data. This encryption ensures that the data extracted is the same data imported into Blackline. i.e. It cannot be manipulated.

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