You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

Status

  Approved

Owner
Stakeholders
Jira Request ID

ERP-171 - Getting issue details... STATUS

Jira Development ID

ERP-962 - Getting issue details... STATUS

High- Level Specification

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

1Open the Fiori application to access the report
2Select 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. 

3Display the output of the report

The Output of the report should be  ALV features to add / remove fields , sort , sum/semisum, sort, filter,  …

4Select / 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

Configuration Requirements

Finance Invoice settings

APM / In House Bank Settings

Language Requirements

No specific language requirement

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 .

ALV 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., FB03, VF03, 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

TableField NameComments/Calculation/Field Manipulation













Custom Tables

N/A.

Master Data

NA

FieldDescriptionData Type/LengthValidation rule/ Value Help









Configuration Table

NA

FieldDescriptionData Type/LengthValidation rule/ Value Help








Selection Screen Enhancement

The report should have a selection screen with the following fields :

Field NameDescription

Select:

Data Type/LengthDefault Value/ Validation rule/ Value HelpSelection Logic

BUKRS 

Company codeRadio ButtonCHAR(4)
Mandatory Field

KUNNR

Customer Number : Customer account number for receivables postingsRadio ButtonCHAR(10)

LIFNR

Vendor Number: Account number of vendor or creditorRadio ButtonCHAR(10)

BUDATPosting Date: Date when the document was posted to SAP. Radio ButtonDATS (8)
Mandatory Field

GJAHR 

Fiscal yearRadio ButtonNUMC(4)
Mandatory Field
Document Type (BLART) Type of accounting document (invoice, payment, etc.)Radio Button


BELNR for FI, billing document number for SD

 Invoice document number






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 Document (for FI accounting documents)  : API_JOURNALENTRYITEMBASIC_SRV ( FM FI_DOCUMENT_READ ) / FB03
  • Display Billing Document (for SD invoices)  : API_SUPPLIERINVOICE_PROCESS_SRV ( BAPI_INCOMINGINVOICE_GETDETAIL )  / VF03 
  • Display Invoice Document (for MM vendor invoices) :  API_SUPPLIERINVOICE_PROCESS_SRV ( BAPI_INCOMINGINVOICE_GETDETAIL )  /  MIR4
  • ...


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 ) 

  • Document Number (BELNR): Unique identifier for the accounting document . This field should be possible to navigate to display the FI invoice.  It can be use the same logic as FAGLL03 report 
  • Company Code (BUKRS): Company code where the document was posted
  • Fiscal Year (GJAHR): Fiscal year of the document posting
  • Document Date (BLDAT): Date on the document
  • Posting Date (BUDAT): Date when the document was posted to SAP 
  • Document Type (BLART): Type of accounting document (invoice, payment, etc.)
  • Reference Document (XBLNR): External reference number . This field should be possible to navigate to display the FI invoice.  It can be use the same logic as FAGLL03 report 
  • Customer ( KUNNR )  /  Vendor (LIFNR )  : Customer / Vendor account number.
  • Header Text (BKTXT): Descriptive text for the document header . This will include the invoice reference number of the subsidiary . So it  should be use to retrieve the information of the invoice of the subsidiary. 
  • Currency (WAERS): Document currency
  • Entry Date (CPUDT): Date when document was entered into system
  • Entered By (USNAM): User who created the document 
  • Amount (WRBTR): Amount in document currency
  • Cash Discount Amount ( WSKTO ) : Cash discount amount in document currency
  • Cash discount percentage rate ( SKTOF) : Cash Discount Percentage 
  • Assignment (ZUONR): Assignment field for additional reference
  • Text: Line item text description
  • Cost Center (KOSTL): Cost center assignment 
  • Business Area (GSBER): Business area assignment 
  • Profit Center: Profit center assignment 
  • Trading Partner (VBUND): Trading partner information
  • Sales Order (KDAUF): Sales order reference 
  • Sales Order Item (KDPOS): Sales order line item reference
  • SD Billing ( AWEKEY ): SD Billing Document
  • Payment Ref ( KIDNO ) : Payment Reference
  • Reference Key (XREF1 ) : Relevance information in text field
  • Reference Key (XREF2 ) : Relevance information in text field
  • Reference Key (XREF3 ) : Relevance information in text field
  • House Bank (HBKID): Bank identification key for house bank master data
  • Account ID (HKTID): Account identifier within the house bank
  • Payment Block Key (ZLSPR): Field for selected invoices for factoring

IHB Contract ( /PF1/DB_ORDER ) 

  • Clearing Area ( CLEARING_AREA): Clearing area identifier for payment processing
  • Factoring Contract Number (PI_NO) : Unique payment item number
  • Payment Item Date ( PI_DATE) : Date of the payment item
  • Technical Status ( TECH_STAT ) : Technical processing status of payment item
  • Transaction Type (TRANS_TYPE ) : Type of payment transaction
  • Transaction Amount ( TR_AMOUNT) : Payment transaction amount
  • Transaction Currency ( TR_CURR ) : Currency code for transaction amount

Payment information:

From the header document in case of payable:

  • Batch : Unique identifier linking to BNK_BATCH_HEADER  from BNK_BATCH_ITEM (  IDBATCH_ID )
  • Item Number : ( ITEM_NO -BNK_BATCH_ITEM ) Sequential number identifying individual items within batch
  • Document reference: REFERENCE_DOCBELNR -  BNK_BATCH_ITEM
  • Vendor/Customer ( PARTNER- BNK_BATCH_ITEM ) Business partner number (vendor or customer)
  • Item Status ( STATUS - BNK_BATCH_ITEM )  Current processing status of the payment item
  • Payment Method ( PAYMENT_METHOD - BNK_BATCH_ITEM )  Method used for payment execution

In case of receivable from the bank reconciliation:

  • Reconciled Item :  FEBEP- VB2OK = 'X' its reconciled . VB2OK = ' ' means unreconciled.  when its reconciled the report should say ACCEPTED if not pending .


Finance information  link to IHB Contract

The header information will be stored in Reference field . 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.  

  • Finance:
    • PAYR: Contains payment medium file numbers and payment document references for tracking payment batches ( Invoice documents BELNR)
    • REGUT: Stores detailed invoice information selected during payment run processing.  ( Payment Run LAUFI  )

Primary Linking Fields from PAYR and REGUT  are   : LAUFI Payment Run , LAUFD Payment Run , BUKR Company & LIFNR Vendor Number

  • BCM: 
    • BNK_BATCH_HEADER: Batches created from collector processing  
    • BNK_BATCH_ITEM  Individual payment items within batches that include the payment status ( STATUS ) 

 Primary Linking Field is  batch_id  

Payment Run ID (LAUFI): Links F110 payment runs to  BCM thru BNK_BATCH_HEADER  , with BCM-eligible runs starting with ":"  

 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 ALV 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 Payment Block Key ( ZLSPR ) and House Bank and Account ID if required). In case of deselect it should be verified that the Factoring contract is created, in case it is Reversal program should be called as well to reverse the factoring contract. 

 



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 CodeDescriptionType Of ErrorResolution
ERR001Mandatory selection parameter missing (Company Code, Posting Date, Fiscal Year)Validation ErrorDisplay error message and stop execution. User must populate all mandatory selection fields.
ERR002Selection returns no accounting documentsBusiness ValidationDisplay information message “No data found for the selection criteria”. Report execution ends gracefully.
ERR003Selection volume exceeds allowed threshold (performance safeguard)Performance ErrorDisplay error message requesting user to restrict selection criteria. Stop report execution.
ERR004User not authorized to access IHB Factoring MonitorAuthorization ErrorBlock execution and display authorization error based on IHB Payment Processor role.
ERR005Invoice already flagged for factoringBusiness ValidationPrevent duplicate processing. Display warning and skip invoice from execution list.
ERR006Invoice not eligible for factoring (document type / status invalid)Business ValidationDisplay error message and exclude invoice from factoring selection.
ERR007Payment Block Key (ZLSPR) update failedTechnical ErrorRoll back changes and display error. User to retry or contact IT support.
ERR008House Bank (HBKID) not maintained for company codeConfiguration ErrorStop execution and prompt user to maintain House Bank configuration.
ERR009Account ID (HKTID) missing or invalidConfiguration ErrorStop processing for affected invoice and request master data correction.
ERR010IHB Contract Clearing Area not foundConfiguration ErrorDisplay error and block factoring execution until clearing area is correctly configured.
ERR011Factoring contract creation failedTechnical ErrorRoll back all updates (Payment Block, House Bank, Account ID). Display technical error message.
ERR012Factoring contract already exists for invoiceBusiness ValidationPrevent duplicate contract creation. Display warning message.
ERR013Deselection failed – existing factoring contract not foundBusiness ValidationDisplay error and prevent deselection. User to verify contract status.
ERR014Factoring contract reversal failed during deselectionTechnical ErrorRoll back deselection changes and display error. Manual reversal may be required.
ERR015Error retrieving accounting document data (ACDOCA / BSEG / BKPF)Technical ErrorStop execution and display data retrieval error.
ERR016Error retrieving IHB contract data (/PF1/DB_ORDER)Technical ErrorDisplay error and prevent factoring action for impacted invoices.
ERR017Error retrieving payment batch data (BNK_BATCH_ITEM / HEADER)Technical ErrorDisplay warning; factoring selection still allowed but payment status not shown.
ERR018Error retrieving reconciliation data (FEBEP / FEBKO)Technical ErrorDisplay warning; reconciliation status set to “Pending”.
ERR019Navigation to source document failed (FB03 / VF03 / MIR4)Technical ErrorDisplay navigation error message. No impact on factoring status.
ERR020API call failure (Journal Entry / Supplier Invoice APIs)Technical ErrorStop execution for affected records and display API error details.
ERR021Inconsistent update detected (partial execution of steps)Data Integrity ErrorTrigger rollback logic to ensure none of the steps are executed. Display consistency error.
ERR022Unexpected system error during executionSystem ErrorLog error details, rollback changes, and display generic system error message.


Testing

How to Test

Test Conditions and Expected Results

IDConditionExpected Result
1

Run the Fiori application

Selection Screen should be displayed

2

Execute the Report layout 

Report information is shown

3Select invoice for factorInvoice integrated in the  IHB
4Deselect invoice for factoringInvoice 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 NameParent Package




Enhancement Implementation

Enhancement TypeStandard Definition NameCustom Implementation NameDesign Rationale Reference









Other Development Objects

Object TypeObject NamePurpose/High Level LogicDesign 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

ZFIZMMZPSZCOZSDZBCZFIZCA
TABLESZFITZMMTZPSTZCOTZSDTZBCTZFITZCAT

See also


No files shared here yet.

Change log

Version Published Changed By Comment
CURRENT (v. 14) Apr 22, 2026 21:16 PERAL-ext, Carlos
v. 33 Apr 22, 2026 15:57 PERAL-ext, Carlos
v. 32 Apr 17, 2026 06:36 K N-ext, Manjunath
v. 31 Apr 17, 2026 04:22 K N-ext, Manjunath
v. 30 Apr 16, 2026 21:43 PERAL-ext, Carlos
v. 29 Apr 16, 2026 13:29 K N-ext, Manjunath
v. 28 Apr 16, 2026 12:24 K N-ext, Manjunath
v. 27 Apr 16, 2026 12:16 K N-ext, Manjunath
v. 26 Apr 14, 2026 12:43 PERAL-ext, Carlos
v. 25 Apr 13, 2026 03:49 K N-ext, Manjunath

Go to Page History

  • No labels