High- Level Specification
| Parameter | Value |
|---|---|
| Application System | S/4Hana ROW, S/4Hana CUI |
| Business Process Reference | 09.06.02.04. Manage Centralized Outgoing Payments on Behalf of Subsidiaries 09.06.02.05. Manage Centralized Incoming Payments on Behalf of Subsidiaries |
Functional Overview
Its needed to enable a monitor that is able so display the invoices selected in the IHB and the ones that not in case its needed to take action.
This will require a FIORI app to access by business.
Scope and Objectives
The project involves the implementation of a factoring solution within In-House Bank (IHB) using the S/4 Hana FI/IHB module. This system is designed to handle transfer of AP/AR items that are relevant for factoring, to the IHB center for further collection/payable management.
This enhancement covers the monitor to review the integrated items and bring the capacity to integrate new ones.
Process Flow Diagram
09.06.02.04. Manage Centralized Outgoing Payments on Behalf of Subsidiaries
09.06.02.05. Manage Centralized Incoming Payments on Behalf of Subsidiaries
Step | Description | Comment |
|---|---|---|
| 1 | Open the Fiori application to access the report | |
| 2 | Select the parameters from the selection screen | The report should have a selection screen with the following fields .All fields they need to be able to select single value, a range of information or multiple values. |
| 3 | Display the output of the report | The Output of the report should be List Report features to add / remove fields , sort , sum/semisum, sort, filter, … |
| 4 | Select / Deselect invoices for Factoring | When I display the information, I should be able to select and deselect the relevant invoices for Factoring (selection flag with multiple selection or all should be available and a button to execute the action).
|
Assumptions
N/A
Dependencies
Finance Invoice settings
APM / In House Bank Settings
Enhancements relating to performing factoring of the open invoices (AP/AR) from affiliate to IHB from 953 to 959 and 963
Security, Integrity and Controls
09.06.02.05. Manage Centralized Incoming Payments on Behalf of Subsidiaries / 09.06.02.04. Manage Centralized Outgoing Payments on Behalf of Subsidiaries for In House Bank the authorization is only based on access to the functionality for In-house Bank Payment Processor role
Authorization check will be implemented on Company code level. Other authorization checks to be confirmed based on requirements.
Configuration Requirements
Finance Invoice settings
APM / In House Bank Settings
Language Requirements
All custom error messages need to be translated into the four core logon languages (English, French, Italian, and Mandarin) defined in KDD055 - Multi-Language Support.
Special Requirements
NA
Design Rationale
Functional Requirements
Factoring Monitor Report configuration and usage must adhere to SAP S/4HANA standard reporting principles and enterprise value policies. Access to the report and related invoice actions is to be governed strictly by role-based security authorization profiles.
Report selection screen parameters must allow input of single, range or multiple values for all key fields (company code, posting date, fiscal year, document type, and invoice document number) based on standard SAP selection method protocols.
Any invoice flagged or de-flagged for factoring must trigger real-time updates to Payment Block Key, House Bank and Account ID fields .
Fiori capabilities similar to List Report output grid must comply with usability standards by providing authorized users the ability to sort, filter, sum, add/remove columns, and export data in standard SAP-supported formats; navigation to source FI, MM, or SD document screens (e.g., Display Journal Entries - FB03, Display Billing Documents - VF03, Display Supplier Invoice - MIR4) must be enabled via configured SAP API services or classic transaction links.
Key functionalities include navigational access from reference document links to underlying FI, SD, or MM invoice transactions, supporting detailed examination and audit trails.
Proposed Technology to Use
Custom program
Data Source Considerations
The main tables to retrieve the information are:
- Finance information : ACDOCA (or BSEG, BKPF, FAGLFLEXA,FAGLFLEXT… )
- IHB Contract : /PF1/DB_ORDER ( from Clearing area onwards from the previous list )
- Payment Information : BNK_BATCH_ITEM / BNK_BATCH_HEADER / REGUHM/REGUT / FEBEP
Data Validation Considerations
NA
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
Custom Tables
N/A.
Master Data
NA
Configuration Table
NA
Selection Screen Enhancement
The report should have a selection screen with the following fields :
| Field Name | Description | Select: | Data Type/Length | Default Value/ Validation rule/ Value Help | Selection Logic |
|---|---|---|---|---|---|
BUKRS | Company code | Select-options | CHAR(4) | Mandatory Field | |
KUNNR | Customer Number : Customer account number for receivables postings | Select-options | CHAR(10) | ||
LIFNR | Vendor Number: Account number of vendor or creditor | Select-options | CHAR(10) | ||
| BUDAT | Posting Date: Date when the document was posted to SAP. | Select-option | DATS (8) | Mandatory Field | |
GJAHR | Fiscal year | Select-options | NUMC(4) | Mandatory Field | |
| Document Type (BLART) | Type of accounting document (invoice, payment, etc.) | Select-option | |||
| BELNR for FI, billing document number for SD | Invoice document number | Select-option |
Processing Logic
The main tables to retrieve the information are:
- Finance information : ACDOCA (or BSEG, BKPF, PAYR, REGUT, FAGLFLEXA,FAGLFLEXT… )
- IHB Contract : /PF1/DB_ORDER ( from Clearing area onwards from the previous list )
- Payment Information : BNK_BATCH_ITEM / BNK_BATCH_HEADER / REGUHM/REGUT / FEBEP
Its expected to use API to retrieve the information if possible:
- Display Journal Entries(for FI accounting documents) : CDS I_JournalEntryItem/I_AccountingDocumentJournal
- Display Billing Documents (for SD invoices) : CDS I_JournalEntryItem/I_AccountingDocumentJournal
- Display Supplier Invoice (for MM vendor invoices) : CDS I_JournalEntryItem/I_AccountingDocumentJournal
- ...
| Display the output of the report : | The Output of the report should be able to share the following information: Finance Information ( original invoice and header one )
IHB Contract :
Payment information: From the header document in case of payable:
In case of receivable from the bank reconciliation:
Finance information link to IHB Contract The header information - FI document : BUKRS (Company Code )/ BELNR (Document Number) / GJAHR (Fiscal Year) ( ie: 1010/0123456789/2026) will be stored in Reference field of the IHB contract BNK_BATCH_HEADER - SND_INT_REF. This is the Payment reference text ( CHAR35 ) Finance information link to Payment information: From the header invoice you can find the subsidiary invoice in the BKTXT . This field is stored in the BSEG table. You can access using the FI header information from the previous point in the BSEG and get the SGTXT
Primary Linking Fields from PAYR and REGUT are : LAUFI Payment Run , LAUFD Payment Run , BUKRS Company & LIFNR Vendor Number
Primary Linking Field is GUID Payment Run ID (LAUFI + LAUFD): Links F110 payment runs ( REGUV, REGUP or REGUH )to BCM thru BNK_BATCH_HEADER : Finance information link to Reconciliation: From the invoice ( BESEG , BKPF ,ACDOCA ) & Reconciliation ( FEBEP, FEBKO ) it will use the company code ( BUKRS , accounting document number ( BELNR ) , Fiscal Year GJAHR and line item number ( BUZEI) It should be available List report features to add / remove fields , sort , sum/semisum, sort, filter, … |
| Select / Deselect invoices for Factoring | When I display the information, I should be able to select and deselect the relevant invoices for Factoring (selection flag with multiple selection or all should be available and a button to execute the action). This should happen to be updating the invoice ( like FB02 ) the fields Payment Block Key ( ZLSPR ) and House Bank (HBKID) . In case of select it should be flagged Block Key ( ZLSPR ) and it should be populated HKID with IHB1value Technically it can be used the RAP action Post I_JournalEntryItem to update Payment Block Key ( ZLSPR ) and I_JournalEntryTP to update House Bank (HKID) . In case of deselect , beyond removing values from Block Key ( ZLSPR ) and House Bank (HBKID). It should be verified that the Factoring contract is created ( header information - FI document : BUKRS (Company Code )/ BELNR (Document Number) / GJAHR (Fiscal Year) is stored in Reference field of any IHB contract BNK_BATCH_HEADER - SND_INT_REF ) In case factoring contract is created reversal program should be called as well to reverse the factoring contract (ERP-958 IHB Factoring - Reversal program ).
|
Volumetrics
This volume is estimated to be approx: 10000
Performance Considerations
In case of performance issues due to large number of information to be processed it should be raised the message to restrict the selection parameters and stop the execution.
Error Handling
| Error Code | Description | Type Of Error | Resolution |
|---|---|---|---|
| ERR001 | Mandatory selection parameter missing (Company Code, Posting Date, Fiscal Year) | Validation Error | Display error message and stop execution. User must populate all mandatory selection fields. |
| ERR002 | Selection returns no accounting documents | Business Validation | Display information message “No data found for the selection criteria”. Report execution ends gracefully. |
| ERR003 | Selection volume exceeds allowed threshold (performance safeguard) | Performance Error | Display error message requesting user to restrict selection criteria. Stop report execution. |
| ERR004 | User not authorized to access IHB Factoring Monitor | Authorization Error | Block execution and display authorization error based on IHB Payment Processor role. |
| ERR005 | Invoice already flagged for factoring | Business Validation | Prevent duplicate processing. Display warning and skip invoice from execution list. |
| ERR006 | Invoice not eligible for factoring (document type / status invalid) | Business Validation | Display error message and exclude invoice from factoring selection. |
| ERR007 | Payment Block Key (ZLSPR) update failed | Technical Error | Roll back changes and display error. User to retry or contact IT support. |
| ERR008 | House Bank (HBKID) not maintained for company code | Configuration Error | Stop execution and prompt user to maintain House Bank configuration. |
| ERR009 | Account ID (HKTID) missing or invalid | Configuration Error | Stop processing for affected invoice and request master data correction. |
| ERR010 | IHB Contract Clearing Area not found | Configuration Error | Display error and block factoring execution until clearing area is correctly configured. |
| ERR011 | Factoring contract creation failed | Technical Error | Roll back all updates (Payment Block, House Bank, Account ID). Display technical error message. |
| ERR012 | Factoring contract already exists for invoice | Business Validation | Prevent duplicate contract creation. Display warning message. |
| ERR013 | Deselection failed – existing factoring contract not found | Business Validation | Display error and prevent deselection. User to verify contract status. |
| ERR014 | Factoring contract reversal failed during deselection | Technical Error | Roll back deselection changes and display error. Manual reversal may be required. |
| ERR015 | Error retrieving accounting document data (ACDOCA / BSEG / BKPF) | Technical Error | Stop execution and display data retrieval error. |
| ERR016 | Error retrieving IHB contract data (/PF1/DB_ORDER) | Technical Error | Display error and prevent factoring action for impacted invoices. |
| ERR017 | Error retrieving payment batch data (BNK_BATCH_ITEM / HEADER) | Technical Error | Display warning; factoring selection still allowed but payment status not shown. |
| ERR018 | Error retrieving reconciliation data (FEBEP / FEBKO) | Technical Error | Display warning; reconciliation status set to “Pending”. |
| ERR019 | Navigation to source document failed (FB03 / VF03 / MIR4) | Technical Error | Display navigation error message. No impact on factoring status. |
| ERR020 | API call failure (Journal Entry / Supplier Invoice APIs) | Technical Error | Stop execution for affected records and display API error details. |
| ERR021 | Inconsistent update detected (partial execution of steps) | Data Integrity Error | Trigger rollback logic to ensure none of the steps are executed. Display consistency error. |
| ERR022 | Unexpected system error during execution | System Error | Log error details, rollback changes, and display generic system error message. |
Testing
How to Test
Test Conditions and Expected Results
| ID | Condition | Expected Result |
|---|---|---|
| 1 | Run the Fiori application | Selection Screen should be displayed |
| 2 | Execute the Report layout | Report information is shown |
| 3 | Select invoice for factor | Invoice integrated in the IHB |
| 4 | Deselect invoice for factoring | Invoice reversed from the IHB |
Test Considerations/Dependencies
Data set should be created for multiple scenarios:
AP:
- Invoice factored and paid
- Invoice factored but not paid
- Invoice non factored
AR
- Invoice factored and paid
- Invoice factored but not paid
- Invoice non factored
Other Information
Development Details
Package
| Package Name | Parent Package |
|---|---|
Enhancement Implementation
| Enhancement Type | Standard Definition Name | Custom Implementation Name | Design Rationale Reference |
|---|---|---|---|
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
Appendix
Custom Authorization Group Naming Convention
This table is based on the Syensqo development standards document. It provides the naming conventions for authorization groups to associated with custom reports and tables to comply with security requirements.
ABAP | ZFI | ZMM | ZPS | ZCO | ZSD | ZBC | ZFI | ZCA |
|---|---|---|---|---|---|---|---|---|
| TABLES | ZFIT | ZMMT | ZPST | ZCOT | ZSDT | ZBCT | ZFIT | ZCAT |






