Skip to Content
Technical Articles
Author's profile photo Parul Juneja

Bank Communication Management – Payment Status Reports

This document is an overview and detailed guide on implementing ISO 20022 XML PAIN.002 payment status reports or payment acknowledgement files. This document covers baseline configuration steps and prerequisites for payment status reports.

Payment Status Report Overview


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.

Levels of Payment Status Reports

Basically, there are three levels of PSR.

  1. Level 1 – Validates the file schema or syntax is correct upon receipt of the file.
  2. 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.
  3. 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.

Understanding ISO20022 PAIN.002 XML Schema

ISO20022 XML PAIN.002 file schema is divided into 3 blocks namely

  1. 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)
  2. 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)
  3. 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)

Important ISO XML Tags in PAIN.002 file

Block – Group Header

ISO XML Tag Information
<MsgId> Message Id is generated by bank
<Id> Identification is generated by bank

Block – Original Group Information and Status

ISO XML Tag Information
<OrgnlMsgId> RENUM
<OrgnlNbOfTxs> number of transactions in the file
<OrgnlCtrlSum> File total
<GrpSts> Group status

Block – Original Payment Information and Status

ISO XML Tag Information
<OrgnlPmtInfId> RENUM+CC+Last two digits of Fiscal Year
<OrgnlInstrId> 01-Company Code+Payment Doc+Year
<OrgnlEndToEndId> Payment document number
<TxSts> Transaction status


  • <OrgnlPmtInfId> – System reads the first 10 digits (RENUM) from the XML tag to identify the batch.
  • <OrgnlEndToEndId> – System accepts only payment document number as end to end Id while uploading the file.

Prerequisites to upload ISO XML PAIN.002 Payment Status Report

  1. Activate Business Function – FIN_FSCM_BNK

Transaction: SFW5


SFW5 – Initial screen

  1. Configuration

Path – SPRO -> SAP Reference IMG -> Financial Supply Chain Management -> Bank Communication Management -> Payment Status Management -> Map External Status to Internal Status


Map External Status to Internal Status – Initial screen

  1. Define Logical Directory

Transaction: FILE

Three logical directories are required for Error, Archive, and Input respectively. If we consume the files via same folder as archive or error, then while uploading the file, the system will give error message.

  1. Approved Payment Batch with status Payment Medium Created


BNK_MONI – Display status


Map External to Internal Status

This node allows us to configure bank specific status codes that are coming externally in payment status reports. These external codes can be mapped to SAP internal status codes, which will update the status in BCM reports like BNK_MONI. External status code PAIN_ABCD should be configured and assigned to internal code BSP (Batch partially processed), or else the system will give an error message while uploading the files.

Partial status is used when multiple different transaction level status is sent in a single file by the bank.

Commonly used status

BAC Accepted by Bank
BPA Partially Accepted by Bank
BPE Pending by Bank
BRB Received by Bank
BRE Rejected by Bank
BSP Batch partially processed


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.


System Status: Maintain – Initial screen

By double clicking the status, we can view the controls of different statuses for the selected business transaction.


SysStatus: Maintain Transaction Control – Initial screen


Upload payment status report

Transaction Code Program

Selection Screen


Upload payment status report – Initial screen

Log after successful file upload


Upload payment status report – Log screen

Payment status update in SAP


BNK_MONI – Display status

Points to note when SAP Multi-Bank Connectivity is in scope

  • No variant setup is required when uploading the files via SAP Multi-Bank Connectivity
  • PSR’s are uploaded automatically when /BSNAGT/MESSAGES_PULL program is executed

When uploading PSR via MBC when Advanced Payment Management (APM) related step is executed

By default, a processing step for Advanced Payment Management (APM) is planned within MBC Connector. To stop this, you can define a processing step for BCM (only) and so override the default settings.

IMG -> Multi-Bank Connectivity Connector -> Maintain Inbound Processing Steps


Maintain Inbound Processing Steps – Initial screen


List of relevant SAP Notes

  • 2503973 – How to reverse the payment document automatically in BCM in the case of rejection
  • 2727284 – During the upload a Payment Status Report file: error BNK_COM_CORE 104 occurs
  • 2930484 – BCM: Introduction of Current status
  • 1389302 – Use of Alerts in BCM
  • 2915965 – GPI Reason Codes: Processing of ISO Pain.002 with UETR Reference Only
  • 2975509 – CPON BCM: Locking Error in ISO 20022 pain.002 Import Processing (Multiple Sections) after SAP Note 2930484
  • 2534292 – Upload a Payment Status Report file using report RBNK_IMPORT_PAYM_STATUS_REPORT
  • 3025112 – CPON BCM: Enable Late Reject for Pain.002 Process
  • 1822445 – BNK: BAdI for the ‘Payment Status Report’ upload report


This blog is an attempt to gather all the information, and I hope this will equip you to implement the payment status report in ISO XML 20022 PAIN.002 format.

Please don’t forget to provide your feedback in the comments section. It will be immensely beneficial for my future blog posts. Questions/Suggestions are welcome.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Arun Gattani
      Arun Gattani

      Excellent Blog Parul! You have covered all aspects of status of payment status in BCM. Keep it up!!

      Author's profile photo Dave Burnside
      Dave Burnside

      Hi Parul, thanks a lot for publishing this. It is very detailed and covers all the aspects.


      I might also suggest to look at CollectivePaymentOrderNotification_In ABAP Proxy, which might be used in conjunction with SAP Integration system to import the payment status report data into BCM, as an alternative to the S-program mentioned.


      All the best,



      Author's profile photo Bharat Gadkar
      Bharat Gadkar

      Thanks, Parul for sharing such detailed information. Great work! Keep it up. 

      If possible, it would be helpful if you can reflect on the accounting impact as well. 


      Bharat G.

      Author's profile photo jithendra Shivashankar
      jithendra Shivashankar

      Hi Parul Juneja,

      Can u please describe how to configure Logic File Directory in transaction FILE.


      Author's profile photo jithendra Shivashankar
      jithendra Shivashankar

      Hi Parul Juneja


      When we are running the program RBNK_IMPORT_PAYM_STATUS_REPORT we are getting error as XML or File Error ! 

      please share your thoughts on this



      Jithendra Shivashankar

      Author's profile photo A. Beers
      A. Beers


      When goes a payment to tab: completed?

      I guess if status is : Statement received.

      How do i become  status received?

      Author's profile photo Parul Juneja
      Parul Juneja
      Blog Post Author

      Hi A.Beers,

      Yes, payment batch reflects in Tab Completed when the lifecycle of payment is complete, and we have received electronic bank statement for the payment transactions within the batch.


      Author's profile photo Parul Juneja
      Parul Juneja
      Blog Post Author

      Hi A.Beers,

      Yes, payment batch reflects in Tab Completed, when the electronic bank statement is received and the status changes to Statement Received.