Single Euro Payments Area (SEPA) Implementation of Direct Debit-Technical Design
Single Euro Payments Area (SEPA) Implementation of DD(Direct Debit)(Technical)
Sep, 2013
Introduction
SEPA stands for ‘Single Euro Payment Area’. It’s a system that is designed to create financial efficiency for countries using the currency Euro by providing a unified system in which to perform financial transactions. The SEPA seeks to create a better system for credit transfers, an improved debit system and a cheaper way for individuals and firms to make transactions within member countries or regions. Implementation of SEPA makes the customers life easier. Irrespective of the national area customers will be able to use the same card for all euro payments and also they need only one bank account in euro area.
Introduction to SEPA process:
The below mentioned should be done for Implementation of SEPA business in any SAP system:
1. SEPA_Activation_Mandate_Management
Following are the activities which are to be done as part of this:
i. SEPA mandate management has to be activated for the usage with SDD CORE and SDD B2B from FI-AR payment processing. Apart from activating the SEPA Mandate management we need to maintain the SEPA Mandate management modifiable fields.
Below is the path for activating the SEPA Mandate Management and maintain the modifiable fields.
IMG -> Financial Accounting -> Accounts Receivable and Account Payable -> Business Transactions -> Incoming Payments -> Management of SEPA Mandates -> General Settings.
IMG -> Financial Accounting -> Accounts Receivable and Account Payable -> Business Transactions -> Incoming Payments -> Management of SEPA Mandates -> Define Modifiable Fields
ii. Creation of new DMEE Payment Format tree for SEPA credit transfer and SEPA direct debit.
· SEPA_CT and SEPA_DD are the DMEE formats provided by SAP.
· As we will be dealing with multiple countries it is always better to copy the DMEE formats and create new ones. If there is any custom requirement for any country create a user exit and assign to the field that needs to be changed dynamically.
2. Pre Notification with payment run :
With a direct debit pre-notification, Markets can inform a payer in writing in advance of the debiting of his account. To do this, one has to schedule a run for the creation of direct debit pre-notifications before the payment run, meaning before clearing the open items and creation of payment media. These correspond in structure to the payment advice notes, and therefore contain details of the run date, the amount to be collected, mandate ID, Unified Creditor Identifier etc.
Following are the SAP notes to be implemented for SEPA Pre-notification.
SAP Note |
Description |
1679118 |
F110: Custom Selection for Batch Input |
1760564 |
F110S: Selection Check for Customers and Vendors |
1770425 |
F111/SEPA: Mandate rejected as invalid after change |
1771071 |
FBCJ : Reversal possible despite cleared item |
1776076 |
F110/F111 : BADI for SEPA Mandate usage |
1780941 |
SEPA: Direct debit Pre-Notification |
1792691 |
Valid SEPA mandate is not found in the system during payment proposal processing |
As part of the Note implementation 1780941, we need to implement manual steps given below for importing the Standard SAP Form.
· SAP has provided text file by using this file we need to import the object F110_DD_PRENOTIF into SAP by executing program RSTXCRP. This is standard SAP form which will be used for sending PreNotifications.
· SAP has provided XML file by using this file we need to import the object F110_DD_PRENOTIF into SAP using SFP transaction code. Once it is uploaded, activate the form.
Once all the relevant OSS Notes are implemented for SEPA Direct debit pre-notification, we will get option of checkbox for Pre-notification in F110 transaction and also pre-notification relevant standard program RFFOAVIS_DD_PRENOTIF and script form (F110_DD_PRENOTIF) available in the system.
The above check box is checked if we need to do SEPA prenotification.
RFFOAVIS_DD_PRENOTIF: This is the payment advice print program that is used to print the pre-notifications the pre-notification
F110_DD_PRENOTIF: This is the standard SAP script which is used to send the pre-notifications.
Based on the user requirement, the form name can be changed
· The new “direct debit pre-notification” object is visible in the payment run (F110), in the document display (FB03), in the line item display (FBL5N) and in mandate display (FSEPA_M4). It can be deleted again if the direct debit pre-notification customer objects to it (for example, because the customer pays the bill himself). Otherwise, the posting run and the payment medium creation are performed after the end of the specified wait time based on the direct debit pre-notifications.
3. Creation of SEPA Mandates for payment transactions :
· Before doing any transaction for any SEPA customer we need to have a mandate create for the Customer.
· Before creating a mandate the Customer Should have IBAN number.
· Transactions used :
Creation |
FSEPA_M1 |
Change |
FSEPA_M2 |
Display |
FSEPA_M3,FSEPA_M4 |
NOTE: Mandates can also be created from the payment tab of the Customer Master XD01, FD01, XD02,FD02.
NOTE: Mandate Number can be either External or Internal Number.
· To make our work easier technically we can use the below procedure using the below BAPI’s:
· The table that is Master for all the SEPA mandates is SEPA_MANDATE.
· SEPA_MANDATE: This is the Standard Smart form used to print the mandate details for any customer.
· Assume a file with the Customer and mandate Information is available
Ø Check if the customer is created by checking in the KNB1 table.
Ø If the Customer is present then check if the Customer has IBAN and BIC number.
Ø Check if the mandate is not created for Customer with the mandate number using the BAPI SEPA_MANDATES_API_GET.
Ø For the BAPI SEPA_MANDATES_API_GET pass the customer number in the importing parameter to check if there is any mandate information present for the Customer SEPA_GET_CRITERIA_MANDATE-snd_id = Customer Number .
Ø ET_MANDATES contains the mandate information that is fetched from BAPI based on the Customer Number.
NOTE : SEPA_MANDATES_API_GET FM cannot be used for multiple mandate scenario. We can write take MGUID from REGUH table and go to SEPA_MANDATE table and get the IBAN number and mandate number.
Three BAPI’S are majorly used to Creation and updating of the mandate details of the Customer.
To fetch the Mandate information for a particular Customer from the table SEPA_MANDATE table |
SEPA_MANDATES_API_GET |
Create the Mandate for a Customer |
BAPI_SEPA_MANDATE_CREATE1 |
Modification of Mandate details for a customer |
BAPI_SEPA_MANDATE_CHANGE1 |
· Mandate Creation:
Ø Use the BAPI BAPI_SEPA_MANDATE_CREATE1 to create the mandate .
Ø BAPI_S_SEPA_MANDATE_COMMON structure which is importing parameter to the above mentioned BAPI has to be filled with the mandate information .This contains both the Sender (Customer Details ) and receiver details (Company code data ).
Ø Then collect all the address information either from the file provided or from the customer master data and fill the Sender information in the structure BAPI_S_SEPA_MANDATE_COMMON.
Ø Then based on the company code fetch the address details of the Company code and fill the Receiver information in the structure BAPI_S_SEPA_MANDATE_COMMON.
Ø ES_MANDATE_CREATED exporting parameter in the above BAPI gives a success message if the mandates are correctly created for the customer.
Ø Error handling can be done with the return exporting parameter.
· If the mandate already exists then check if there is any change in the mandate information.
Mandate modification:
Ø Use the BAPI BAPI_SEPA_MANDATE_CHANGE1 to change the already existing mandate.
Ø BAPI_S_SEPA_MANDATE_CHANGE structure which is importing parameter to the above mentioned BAPI has to be filled with the mandate information .This contains both the Sender (Customer Details) and receiver details (Company code data ).
Ø In case ofupdation is failed it can handled by return parameter of the BAPI
Display of Mandates :
Ø The created mandates can be checked by FSEPA_M3 Give the Mandate number or Customer Number and check for the Mandate information.
On Click on Enter the below Screen appears which displays all the information.
Ø We can also check the Mandate information through Customer master display using transaction fd02,xd02,xd03,fd03.
Click on the Tab to check and create the mandate Details from Customer master
Display the List of Mandates:
Ø Use the transaction FSEPA_M4 to display a list for customers for a particular company code.
Ø Mention the company code in the below transaction and then execute all the mandates present for the company code will be displayed.
Ø A list of mandates will be displayed as shown in the below screen shot.
The above lights depicts different status of the mandates below are the differnent status of mandates.
0 |
Entered |
1 |
Active |
2 |
To Be Confirmed |
3 |
Locked |
4 |
Canceled |
5 |
Obsolete |
6 |
Completed Completed |
Ø If we need to print a particular mandate information then select the Print mandate button on the top right corner of the list .
Ø For this SAP has provided a smartform SEPA_MANDATE.This can be customized at central level and the thus the mandate can be created and mandate information can be printed.
All the inforamtion related to the mandate is available in the table SEPA_MANDATE.
Good work
Nice Document.
Thanks Vijay
Really Good
Nice Vijay! 🙂 good work!!
Thanks Jose.As Sepa is a new implementation Please share with the folks who are working on this and this would be very helpful to them.
Nice Document to see here.
Thnaks Kishore 🙂
Great work Vijay...
Thanks Krishna
Well explained document and it is very good. Thanks Vijay!
Thanks Sridevi P
Hello,
WOW!
Thank you very much. Excellent! ➕
all the best Erwin
Thanks Erwin 🙂
Erwin Leitner :Please share this in the correct forum if you know where it will useful .
Very useful document.
Hello Godavari,
Please rate and provide any feedback accordingly.
Thanks,
Vijay.
Hi Vijay,
Very good document. Please share this data even in functional aspect also if possible.
Thanks & Regards,
Lakshmi S
Hello Lakshmi Sama,
Thanks for the appreciation.I will give you the lik for the functional part too.Please provide any feedbacks accordgly i will change.
Thanks,Vijay.
Wonderful document,thanks so much.
Appreciate if any for Credit transfer.
Christina Chen :thank you.I dont have any for Credit Transfer.
No problem, thanks all the same:)
Nice document. Thanks for publishing.
Regards,
G.Ajit Kumar
G. Ajit Kumar
Thank you.
Hi Vijay,
its a nice document, appreciatte your efforts.
Can you tell me, from the end users perspective, when and how is the mandate, pre-notification sent to the customer?
Regards,
Kumar
Hello Chakravarthy,
When SEPA is implemented each customer will have one mandate created in the Customer Master data.As the Customer has to pay the tax to the SEPA team first a mandate informatiojjn will be sent to him saying mandate is created for you and later prenotification will be sent as he has to pay the amount to sepa team instead of the tax.
Thanks,
Vijay.
Good one..keep up the good work
ThanksNarasimhulu Konnipati.
Article is very useful Vijay, SEPA is the talk of the day, every other client is interested in implementing this soultion.
Thanks Arvind Pereira
Nice doc..great work Vijay Simha
Thanks Farid
Hi Vijay
Nice documents thanks for sharing...
Regards
Sampat
Thanks Sampat Kumkar
Excellent Vijay. Thanks for sharing your experience on this topic.
Thanks Sidi Reghioui
great doc. keep up the good work 🙂
Thanks please share this document with the people working on SEPA Josip Milicevic
Do you have any other docs for SEPA DD. Nemely, I don´t know anything for SEPA DD. for ex. which TC should I use for creating DD XML file etc. thanks
http://scn.sap.com/docs/DOC-48130 Please refer this.
http://scn.sap.com/docs/DOC-47472
http://scn.sap.com/docs/DOC-47703 Please refer these also Josip Milicevic
perfect. thank you 🙂
Hi Vijay,
Great work. Its quite useful. If you any, can you please share a test catalog or the processes needs to be tested after SEPA implementation.
Thanks in advance!
Lakshmi
http://scn.sap.com/docs/DOC-48130 Please refer this.
http://scn.sap.com/docs/DOC-47703 Please refer these also Lakshmi G
Thanks Vijay for the nice Document!
Real great work.
Thanks S Kiran
Hi,
Nice explanation... It cleared by lots of doubts...
Regards
Veenu
Thanks veenu gulati
Thanks Anil Mahat
Great work Vijay...
we have a requirement to populate one of the three values based on the country of the customer
1. SAP Customer No (Denmark)
The bank requires us to send the SAP customer number in the xml file for Denmark customers.
2. Concatenation of Bank Key & Account number (Norway)
Concatenation of Bank Key(KNBK-BANKL) & Acccount Number (KNBK-BANKN)
3. Bank GIRO number KNBK-BKREF (Sweden)
I am working with the ABAP developer to use function module to fetch the above values, however he could not get customer number from any of these structures (FPAYH, FPAYHX, FPAYP).
Can anyone please suggest, how do we get these fields into the SEPA file.
Hello Krishna B,
There are two options to fetch customer number.
1) Get the Customer Number from the mandate ID from the table sepa_mandate with GUIID and from customer number fetch the bank detials from FPAYH, FPAYHX, FPAYP structures.
2) As we get the document number and run date and identification and the document umber and fiscal year get it from the bkpf or BSEG table.
for the bank details :
Fetch the IBAN number from the above sturctures and get the bank details from the TIBAn table and hit the KNBK with Customer Number and bank detials.
Thanks,
Vijay Simha
Thanks Vijay, will check with our developer and see if we can get these information.
Thank you very much mr. Vijay Simha even you are a Technical guy helped a lot to functional's .. 🙂 🙂
Thanks
Sada Bandla
Hello Sada Bandla,
Thanks a lot 🙂 Pls share with all the people who are implementing SEPA.
Thanks,
Vijay Simha CR
With pleasure Mr.Vijay..
Hi VijaySimha,
I have maintained the settings in OBPM1 to print accompanying sheet and Extra list for the format ZSEPA_CT. For the SEPA Outgoing payment method B in the Company code config of tcode FBZP, I have maintained the SAPscript as F110_D_DTA for the Accompanying sheet similarly F110_D_UEBERWEIS for the list. But both of them are not generated. Please help, I need it real urgent.
Thanks in advance!
Lakshmi.
Hello Lakshmi,
Can you pls provide the screen of the payment logs which you got when you did F110.
Thanks,
VIjay Simha CR.
Hi Vijay,
Thanks for ur quick response. Please find the Job log entries from Payment run log.
HThanks in advance!
Lakshmi
not sure may be you need to debug and check in the standard print program.
Thanks,
VJ
Hi Vijay,
do you have any idea how to simulate a situation where the sequence of the collection would be "FNAL"? Based on what does the SAP change the sequence type from RCUR to FNAL?
Thanks in advance!
Ondrej
We have a note to be implemented and we can also write an exit for the same !!
Hi Vijay,
thx for your reply! Pls what note are you referring to? About the exit I'm aware that we can use function module FI_SEPA_MANDATE_GET_USE_STATUS but we need to add the sequence "FNAL" into the parameters..
Regards
Ondrej
Hi Vijay
Very helpful content.
I am changing one mandate using Tcode FSEPA_M2, and getting this error:
Not able to figure out the problem. Please help.
Please check the above Buffer FM by putting a debugger.
HI Vijay every needful document
Thanks a lot 🙂
Hi vijay Simha i want gap examples
hi Vijay, i Need some more help regarding sap sepa dd b2b.
how to talk to you.
hi Vijay , nice document but i Need more help regarding sepa dd b2b configuration
tell me habib
Hi,
Can anyone tell me where in the configuration we can provide the details regarding how much amount to be debited / credited from customer / vendor ?
When we are executing APP at that time entire amount is paid / received. the significance of SEPA DD is not reflected.
Thanks,
Hemant
Hi Hemant ,
Please go throught below link from SAP
http://help.sap.com/erp_hcm_ias_2013_01/helpdata/en/eb/550e2e63e54b6ea7067c52d2b1b82e/content.htm
Hi Vijaya,
thanks for the post.
I have an issue with the SEPA_MANDATE Table. The client requires that after each payment run (F110) the table SEPA_MANDATE should be updated. The table is updated for the Mandat Reference used in the payment run, but the Field (Lastuse_date) is not updated.
Is there any configuration that I should do to update the Field "Lastuse_date" after each time the Mandate reference is used?
Thanks,
Rashed Popalzai
Great post
Eyal Nachum (co-founder of Moneta International UAB) says, "The aim of the SEPA (single euro payment area) plan is to make cross-border electronic payments as economical and simple as payments within one country. In addition, the system brings more activity to the payments trade by making a single market for payment services, thus bringing down costs."
Great work as of 2013, but can't think there would be no updates since.
Is SEPA still the actual standard in 2019 and how would it work in the UK after brexit?
Thank you, gm