Payment batch Introduction :
A business object containing multiple payment items based on the settings of the underlying payment agreement. All payment transactions share common attributes, defined as grouping characteristics. Different combinations of attributes result in the creation of a new payment batch.
Uses payment batches:
You use payment batches to bundle payment items for collective processing. A single outgoing payment order will be generated containing all payment items and an offsetting clearing item. The payment order will be passed to the File Handler component for payment media creation. The resulting payment message can be used internally as a payment advice or is sent to your house bank for processing. The payment items are posted as one total sum.
You activate the creation of payment batches and its grouping characteristics in the payment agreement. The system will apply some default grouping characteristics automatically. The posting is done with a corresponding clearing item that covers the total amount of payment items in the payment batch.
SAP Bank Communication Management (BCM) is a component within SAP S/4HANA that facilitates seamless communication and integration between your organization and its banks. It is designed to enhance and automate the exchange of financial information between the company and its banking partners. SAP BCM helps streamline various banking communication processes, including payments, statements, and other related activities. SAP BCM allows you to set up and manage communication users, providing the necessary security and authentication mechanisms for secure communication with banks.
The following pre-requisites are required to go ahead with the configuration for payment Batch approval
Depending on your license, you can use a basic scope of Cash and Liquidity Management or or a full scope of this solution capability. This business function must be activated in order to switch on the full scope of this solution capability.
Type of Business Function | Enterprise BF |
Available From | SAP S/4HANA, on-premise edition 1511 |
Application Component | FIN-FSCM-CLM |
Required Business Function | Not relevant |
Transaction Code | SFW5 |
Transaction Code | SM30 |
Table/View | FCLM_CONFIG2 |
Click On New Entries :
The Payment Medium Workbench is a tool within SAP BCM that supports the creation and management of payment files. It allows you to generate payment files in different formats according to the requirements of your banks. The configuration for Payment Medium Workbench is in place which includes Configuration in the following Transaction Code.
Transaction Code | SFW5 |
SAP_WFRT user ID is created. The user ID should have the “SAP All or All RFC authorizations” role assigned.
Transaction Code | SU01 |
Workflows are activated :
Transaction Code | SWU3 |
Go to SPRO >Financial Supply Chain Management > Cash and Liquidity Management > Bank Account Management > Basic Settings > Define Settings for Bank Account Master Data |
This setting is required for the migration of house bank accounts .Define different types of accounts to suit different business purposes. Account types can be used as an analysis dimension in reporting and planning. If the bank account contract type is enabled, you must specify a bank account contract type for each account type. Unlike account types which can be defined freely by users, bank account contract types are predefined by SAP. You can define one or more account types for each bank account contract type.
To add a new bank account type, choose New Entries and then specify the following:
Here we have to create the Bank Account types, by default there are account types. This account type would be used in the bank account master.
Define different groups of authorized payment approvers to suit different business purposes. To do so, you need to have enabled the payment approval function in the Customizing activity Enable Payment Approval
In the Assign Approval Patterns view, you can assign patterns to company codes and account types.
The assignment works as follows:
Here we assign approval patterns to the combination of Company code and Account type. I have assigned below the Pattern ZEU1 to Account type IN&OUT for my company code 7180. In case of multiple Patterns to the same combination, we can set the priority. Priority 0 (blank) takes precedence.
In this setting you define the automatic actions in Bank Communication Management in case the approval list in Bank Account Management is empty, or the approval pattern cannot be defined.
Possible values:
As stated, above BCM is a part pf FSCM module in SAP. Below is the node for BCM.
Go to SPRO >Financial Supply Chain Management > Bank Commination Management > Basic Settings |
Go to SPRO >Financial Supply Chain Management > Bank Commination Management > Basic Settings > Basic Settings for Approval |
Define the default currency and the resubmission date for payments. You can define the default currency, resubmission date, and whether or not a signature is needed for payments.
Default resubmission date
Click On New Entries:
Go to SPRO > Financial Supply Chain Management > Bank Communication Management > Payment Grouping > Rule Maintenance |
In this IMG activity, you can define the rules for the kind of grouping you desire for payments. Rules should be prioritized, so that when there is more than one rule satisfying the criteria for grouping, your priorities determine the batching rule. Once a rule is defined, click on the maintain button to specify the criteria for batching rules. Here all attributes of the payment are provided. Only attributes making sense for the batching rule should be double clicked and then maintained.
Example
Suppose you define rule YCHQ_TRNSF priority 0 and YAMNT_MED priority 1. If a payment satisfies the criteria for batching, rule YCHQ_TRNSF is selected because of its higher priority.
These rules are applied to responsibilities created based on priority assigned.
Save rule and select the row to maintain the rules
Go to SPRO > Financial Supply Chain Management > Bank Communication Management > Payment Grouping > Additional Criteria for Payment Grouping |
In this IMG activity, you can set additional criteria (apart from batching rules) such as requiring all payments of a batching rule to belong to a certain date. Two grouping fields are provided, one of which you select for the batching.
Example
Suppose you select VALUT field for batching rule YCHQ_TRNSF. This means that if a batching rule YCHQ_TRNSF is selected, payments are further batched by the date, so all payments belonging to YCHQ_TRNSF and of the same date will form a batch.
Note: Grpng Field1 should be always HKTID for the workflow to trigger based on the signatories in the Bank Master Fiori app. The Grpng. Field2 can be as required.
Go to SPRO > Financial Supply Chain Management > Bank Communication Management > Release Strategy > Mark Rules for Automatic Payments (No Approval) |
Incase if we don’t want to trigger the approval process for certain payments, then we can create a separate rule for this purpose and check Auto payment as shown below. Then it will skip the process of batch merging, hence direct file generation.
IMG > SPRO > Financial Supply Chain Management > Bank Communication Management > Release strategy > Change and release > Assign role to release steps |
In this IMG activity, you can assign a standard role to the individual release steps of the release procedure that applies for a certain release object. Processing (users, workplace, organizational units, positions and so on) is linked to the standard role. The system uses the standard role to find the processors responsible and, through the SAP Business Workflow, forwards the release object as a work item to them for processing further.You have made the settings for the corresponding release object in IMG activity Assign Release Object to Release Procedure.
Standard settings => SAP does not supply any standard roles for Bank Communication Management.
create responsibility based on rules created for payment grouping above
Select the responsibility and click on create
Once it's saved, the status of responsibility turns from red to green. Select the responsibility and click on insert agent assignment to add the users responsible for the first level of release of the payment batch.
Path: IMG > SPRO > Financial Supply Chain Management > Bank Communication Management > > Additional release steps > Assign roles to release steps: |
In this IMG activity, you can make the following basic settings for the release of a particular release object. Since the release of release objects is regulated by the SAP Business Workflow in the group frame release, you must define if and when the system forwards a release object to the release process.
This is the config for 2nd level of approver. Follow the same procedure as it was done for the first-level approver. This time only workflow task changes to “BNK_COM”
Create rule
Once it's saved, the status of responsibility turns from red to green. Select the responsibility and click on insert agent assignment to add the users responsible for the second level of release of the payment batch
Path: IMG > SPRO > Financial Supply Chain Management > Bank Communication Management > > Additional release steps > Define Release Procedure: |
In this IMG activity, you can make basic settings for the release of a particular release object. Since the release of release objects is regulated by the SAP Business Workflow, in the group frame release you must define if and when the system forwards a release object to the release process.
Prerequisites
You have made the standard settings for the SAP Business Workflow in the Basis Customizing settings by choosing Business Management -> SAP Business Workflow -> Maintain Standard Settings for SAP Business Workflow .
Standard settings
The standard setting supplied for the release objects is no release (radio button is never in the group frame release).
Path: IMG > SPRO > Financial Supply Chain Management > Bank Communication Management > Additional release steps > Assign workflow template to release procedure: |
In this IMG activity, you can assign a release workflow and a release procedure workflow to every release procedure of a release object. The release workflow realizes the technical processing of the release in the system. The release procedure workflows realize the technical processing of the various release procedures (such as the principle of treble control) in the system.
Assign the workflow template being used to release procedure.
Call transaction SM30 with view V_TBCA_RTW_LINK and check that the following entries are maintained:
BNK_COM | 01 | 50100024 | 50100021 |
BNK_COM | 02 | 50100024 | 50100022 |
BNK_COM | 03 | 50100024 | 50100023 |
BNK_INI | 01 | 50100024 | 31000004 |
Transaction Code | FIBF |
Go to SPRO > Financial Supply Chain Management > Cash and Liquidity Management > Bank Account Management > Maintain the Event Type Linkage for Triggering Workflow Processes or Goto to transaction SWETYPV, for object type 'BUSISB001', Activate 'Linkage activated' |
Here we assign the Workflow to the Object type and event. This would be default available, just have to confirm if the Type Linkage is active.
The following BADI can be used to reverse original payment documents in case of rejection or resubmit of the batches.
BNK_BADI_ORIG_PAYMT_CHG |
You use Bank Communication Management and would like to have an automatic Reversal (FBRA) of the Payment Documents when Batch Payments are rejected in TA BNK_APP.
BADI (enhancement spot) BNK_BADI_ORIG_PAYMT_CHG; standard in SAP_APPL 604. In 602 and 603 you need to apply note 1302623 first.
In the correction instruction, you find proposal coding for the interface method IF_EX_BNK_ORIG_PAYMT_CHG~ON_REJECT in a customer class Z_CL_BNK_BADI_PAYMT_CHG that implements the BADI.
Proposal coding updated on 27. August 2010 (Symbol "LG20100827): We now write an application log (Transaction SLG1, object FBPM) in case there are errors (typically due to locking) that prevent the reversal. In such a case, the payment should be reversed later and seperately (TA FBRA).
The code of the note only contains logic for FI payments (payment program F110). If you have activated BCM for Treasury (payment program F111), Travel or Payroll you have to enhance the logic accordingly.
This note is valid also for releases higher than 606.
*$*$----------------------------------------------------------------$*$*
*$ Correction Inst. 0120031469 0000753245 $*
*$--------------------------------------------------------------------$*
*$ Valid for : $*
*$ Software Component SAP_APPL SAP Application $*
*$ Release 602 All Support Package Levels $*
*$ Release 603 All Support Package Levels $*
*$ Release 604 Fm SAPKH60401 $*
*$ Release 605 All Support Package Levels $*
*$ Release 606 Fm SAPKH60601 $*
*$--------------------------------------------------------------------$*
*$ Changes/Objects Not Contained in Standard SAP System $*
*$*$----------------------------------------------------------------$*$*
*&--------------------------------------------------------------------*
*& Object METH Z_CL_BNK_BADI_PAYMT_CHG
*& IF_EX_BNK_ORIG_PAYMT_CHG~ON_RESUBMIT
*& Object Header CLAS Z_CL_BNK_BADI_PAYMT_CHG
*&--------------------------------------------------------------------*
...
METHOD IF_EX_BNK_ORIG_PAYMT_CHG~ON_RESUBMIT.
*>>>> START OF INSERTION <<<<
** SAP note 1333640 - call standard fallback implementation **
DATA: FALLBACK TYPE REF TO CL_BNK_BADI_ORIG_PAYMT_CHG.
CREATE OBJECT FALLBACK.
CALL METHOD FALLBACK->IF_EX_BNK_ORIG_PAYMT_CHG~ON_RESUBMIT
EXPORTING
I_REGUH = I_REGUH.
*>>>> END OF INSERTION <<<<<<
...
*&--------------------------------------------------------------------*
*&--------------------------------------------------------------------*
*& Object METH Z_CL_BNK_BADI_PAYMT_CHG
*& IF_EX_BNK_ORIG_PAYMT_CHG~ON_REJECT
*& Object Header CLAS Z_CL_BNK_BADI_PAYMT_CHG
*&--------------------------------------------------------------------*
...
METHOD IF_EX_BNK_ORIG_PAYMT_CHG~ON_REJECT.
*>>>> START OF INSERTION <<<<
**----------------------------------------------------------------------------
** SAP note 1333640
** Proposal for automatic system action on batch/payment rejection:
** Reset cleared items and reverse payment documents (F110)
**
** Before applying this automatically, first create a class
** Z_CL_BNK_BADI_PAYMT_CHG that implements interface IF_EX_BNK_ORIG_PAYMT_CHG
**
** Update "LG20100827: Write aplication log (SLG1/FBPM)
**----------------------------------------------------------------------------
DATA: LF_T001 TYPE T001,
L_GJAHR TYPE GJAHR,
L_EXTNUMBER TYPE BALNREXT. "LG20100827
CONCATENATE 'ON_REJECT'
SY-DATUM SY-UZEIT SY-UNAME INTO L_EXTNUMBER . "LG20100827
*- Get year from posting date
CALL FUNCTION 'COMPANY_CODE_READ'
EXPORTING
I_BUKRS = I_REGUH-ZBUKR
IMPORTING
E_T001 = LF_T001
EXCEPTIONS
OTHERS = 5.
IF SY-SUBRC <> 0. "LG20100827
CALL FUNCTION 'BNK_UI_LOG_MSG_ADD' "LG20100827
EXPORTING
I_MSGID = SY-MSGID
I_MSGNO = SY-MSGNO
I_MSGTY = 'E'
I_MSGV1 = SY-MSGV1
I_MSGV2 = SY-MSGV2
I_MSGV3 = SY-MSGV3
I_MSGV4 = SY-MSGV4
I_EXTNUMBER = L_EXTNUMBER.
MESSAGE ID SY-MSGID TYPE 'I' NUMBER SY-MSGNO "LG20100827
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
CALL FUNCTION 'BNK_UI_LOG_SAVE'.
EXIT.
ENDIF.
CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
EXPORTING
I_DATE = I_REGUH-ZALDT "posting date
I_PERIV = LF_T001-PERIV
IMPORTING
E_GJAHR = L_GJAHR
EXCEPTIONS
OTHERS = 5.
IF SY-SUBRC <> 0. "LG20100827
CALL FUNCTION 'BNK_UI_LOG_MSG_ADD' "LG20100827
EXPORTING
I_MSGID = SY-MSGID
I_MSGNO = SY-MSGNO
I_MSGTY = 'E'
I_MSGV1 = SY-MSGV1
I_MSGV2 = SY-MSGV2
I_MSGV3 = SY-MSGV3
I_MSGV4 = SY-MSGV4
I_EXTNUMBER = L_EXTNUMBER.
MESSAGE ID SY-MSGID TYPE 'I' NUMBER SY-MSGNO "LG20100827
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
CALL FUNCTION 'BNK_UI_LOG_SAVE'.
EXIT.
ENDIF.
CALL FUNCTION 'J_1B_FBRA_POSTING_AUFRUFEN'
EXPORTING
I_AUGBL = I_REGUH-VBLNR
I_BUKRS = I_REGUH-ZBUKR
I_GJAHR = L_GJAHR "derived from I_REGUH-ZALDT
I_STGRD = '01'
EXCEPTIONS
NOT_POSSIBLE_FBRA = 1
NOT_POSSIBLE_FB08 = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
CALL FUNCTION 'BNK_UI_LOG_MSG_ADD' "LG20100827
EXPORTING
I_MSGID = SY-MSGID
I_MSGNO = SY-MSGNO
I_MSGTY = SY-MSGTY
I_MSGV1 = SY-MSGV1
I_MSGV2 = SY-MSGV2
I_MSGV3 = SY-MSGV3
I_MSGV4 = SY-MSGV4
I_EXTNUMBER = L_EXTNUMBER.
MESSAGE ID SY-MSGID TYPE 'I' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
CALL FUNCTION 'BNK_UI_LOG_SAVE'.
ENDIF.
*>>>> END OF INSERTION <<<<<<
*&--------------------------------------------------------------------*
SAP Note Reference : https://me.sap.com/notes/1333640
You can use the following transactions to determine the error:
SAP Note Reference : https://me.sap.com/notes/2775848/E
Please ensure if all the points mentioned below are complete in the system:
SAP Note Reference : https://me.sap.com/notes/1041016/E
Master data requirements:
Fiori Application : Manage Bank Accounts(F1366A)
Manage Automatic Payments:
Payment run process is an accounts payable process that is used to handle payments to vendors. The process is called automatic payment program.
With the transactional app Manage Automatic Payments, you can schedule payment proposals or schedule payments directly and get an overview of the proposal or payment status. The app identifies the overdue invoices and checks whether all the required payment information is complete.
The Payment Process includes the Following Steps
Start fiori app “Manage Automatic Payments” and Click Create Parameter.
On the first screen, you need to enter run date and identification. In the identification field, give a five-characters alphanumeric code that will be used to identify the payment program. A combination of the run date and identification is used to identify the program in SAP system.
Fill the Run date and identification and click Create:
In the Parameters Tab, We have to define the following and Click Save
You can see the payment parameter created :
Create Payment Proposal:
Selected the Parameter and click schedule Proposal:
When you click on Proposal the system is going to ask whether you want to create it immediately or want to schedule it for a time in the future. For this demo, we are going to run it immediately. You should tick the checkbox for creation of payment medium.
Make sure you select “Start Immediately” and then click on Schedule.
You can see the payment proposal in the respective tab.
A payment proposal is generated based on the parameters.
Review Payment Proposal:
Payment Run:
Go to Proposal and click on Schedule Payment to run Payment.
Check “Start Immediately” to start the payment run instantly and then click on Schedule.
Go to “Payments Processed” and You can see the payment posted.
We can check the status of the Payment run on the Status Tab.
You can also select the posted payment to see the log:
Payment Batch will get created:
Following are the payment batch statues in app Monitor Payments:
SAP Note Reference : https://me.sap.com/notes/3285645/E
This blog gives the overview and detailed guide on implementing ISO 20022 XML PAIN.002 payment status reports or payment acknowledgement files.
Introduction
Customer Payment Status Reports (ISO 20022 XML – “pain.002.001.03”) gives near real-time actual status updates of payments made from SAP S/4 HANA. It helps to track the end-to-end payment status in the payment lifecycle. These XML files contain group and transaction level status. pain.002.001.03 is a PSR (Payment Status Report) sent from a bank to a customer containing status information regarding a payment order. This can be used to update payment status in the payment status monitor in SAP (BNK_MONI) / Monitor Payment Application.
Levels of Payment Status Reports.
Level 1 | Validates the file schema or syntax is correct upon receipt of the file. |
Level 2 | Validates each payment transaction in the file and check if all the information needed to process the transaction further downstream is present correctly. |
Level 3 | Validates the payment files have been processed by the bank and confirmation is received at this level. We receive ACSP or ACSC in case of accepted by bank or RJCT in case of rejected by bank as an external status from the bank at this level. |
Group Header | This block is provided once per PSR and contains fields like Message Id and Id. Message Id is a unique field. (Mandatory Block) |
Original Group Information and Status | This block is provided once per PSR and contains values from the outgoing PAIN.001 file, it contains fields like original message ID, original number of transactions, original control sum, and group status. (Mandatory Block) |
Original Payment Information and Status | This block is provided multiple times per PSR and contains values from the outgoing PAIN.001 file, it contains important fields like original payment information Id, original instruction Id, original EndtoEnd Id, and reason code. (Optional block) |
You can interpret the status codes from the external world. Every incoming status message has a code which can be mapped to an internal status based on a company code and house bank. If an alert needs to be triggered for an external status code, you must define the alert. You can define the alert category using transaction ALRTCATDEF under classification Map External Status to Internal Status.
You can also activate Incomplete Processing of incoming payment files. You use this option when your bank does not provide the complete information about changed statuses of each payment item included in the payment batch.
Path – SPRO -> SAP Reference IMG -> Financial Supply Chain Management -> Bank Communication Management -> Payment Status Management -> Map External Status to Internal Status |
In this Customizing activity, you create directories for the following files:
You need these directories to automatically upload ISO 20022 CustomerPaymentStatusReport XML files from the application server directory to update the status of payment batches that were created in SAP Bank Communication Management.
Path – SPRO -> SAP Reference IMG -> Financial Supply Chain Management -> Bank Communication Management -> Payment Status Management -> Define Directories for File Upload |
Logical Sequence of Payment Status
SAP accepts logical sequencing of payment statuses while importing the PSR files like Received by Bank followed by Accepted by Bank or Rejected by Bank. SAP will not accept status Accepted by Bank after the batch status has been updated to Rejected by Bank. However, in exceptional scenarios where the bank is sending late rejection, SAP Note 3025112 can be implemented to enable late rejection functionality.
SAP Internal status can be edited or displayed via BS22 transaction. Payment status relevant codes are starting with IBC.
Allows you to enable timeout notifications with the situation framework. You can be informed when no change occurs in the payment batch status during a defined period of time. Use this settings to enable timeout notifications with the situation workflow. You can define that a check is run after the status change of a payment batch in hours and minutes. When there is no change in status, you are informed with notifications by situation framework.
Path – SPRO -> SAP Reference IMG -> Financial Supply Chain Management -> Bank Communication Management -> Payment Status Management -> Enable Timeout Notification with Situation Framework |
In this IMG activity you can specify a maximum allowed time interval between two status updates. An alert will be triggered after the allowed time elapses.
Enter a maximum allowed time for a particular status transition. You can specify a particular rule ID.
You must enter an alert category. The classification of the alert category should be Bank Communication Management: Alerts for Payment Status.
Path – SPRO -> SAP Reference IMG -> Financial Supply Chain Management -> Bank Communication Management -> Payment Status Management ->Timeout for Batch Status Update |
Transaction Code | Program |
S_EBJ_98000208 | RBNK_IMPORT_PAYM_STATUS_REPORT |
SAP Note Reference : https://me.sap.com/notes/2503973
SAP Note Reference : https://me.sap.com/notes/2727284
SAP Note Reference : https://me.sap.com/notes/2930484
SAP Note Reference : https://me.sap.com/notes/1389302
SAP Note Reference : https://me.sap.com/notes/2915965
SAP Note Reference : https://me.sap.com/notes/2975509
SAP Note Reference : https://me.sap.com/notes/2534292
SAP Note Reference : https://me.sap.com/notes/3025112
SAP Note Reference : https://me.sap.com/notes/1822445
Payment Batch Status not updating from Sent to Bank to Completed in Monitor Payments app after payments have been received in bank statements and cleared automatically during the processing of Electronic Bank Statements.
App Monitor Payments only displays the status of Payment Batch from CRM. If the status is not updated during the processing of Electronic Bank Statements, there is no update in app Monitor Payments and the Payment Batch stays in it's last status (e.g. Accepted by Bank).
The status of payment batch is not updating from Sent to Bank to Completed because a different interpretation algorithm is used. Hence, no update happens towards BCM (Bank Communication Management) and the batch status remains the same (in most cases Accepted by Bank) in app Monitor Payments.
The payment batch status will only get updated if interpretation algorithm 19 is used. The status of Electronic Bank Statements can be viewed in app Manage Bank Statements.
You use this algorithm to import those bank statement line items that relate to a previous payment run. All the items for a payment medium generated by the payment program are grouped by means of a DME (data medium exchange) reference number. It can be a primary physical reference number or a secondary logical reference number. Your house bank confirms the overall total for the line items, together with the DME reference number, or the single transactions for the individual invoices with the respective DME reference numbers. In the memo line in the bank statement, the algorithm finds the DME reference number that is used to find and clear all line items in the system.
SAP Note Reference : https://me.sap.com/notes/3136803/E
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
3 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |