Show TOC

 Real-Time Payments

 

You can use real-time payments when payments are initiated externally (such as on a Web interface) to forward the payment data directly to the bank and handle the immediate bank confirmation.

Technical Details

Technical Name of Product Feature

TELCO_REAL_TIME_PAYMENT

Product Feature Is

New

Country Dependency

Valid for all countries

Software Component Version

IS-UT 617

Application Component

IS-T-CA (Generic Contract Accounts Receivable and Payable)

Available As Of

SAP Enhancement Package 7 (SP08) for SAP ERP 6.0

Prerequisite Business Function

TEL_CA_5G

Additional Information

In Contract Accounts Receivable and Payable, you handle real-time payments using the functions for processing payments at external cash desks.

Payment Method

Although the payment run neither creates nor processes real-time payments, the system uses payment methods of the Real-Time Payment (RTP) category to control processing. Documents, contracts, and contract accounts can contain real-time payments. The payment method can be used for the following, for example:

  • Determining the format for communication with the bank

    For each real-time payment method, you define a format, as you do for creating payment media.

  • Identifying an item, a contract account, or a contract as taking part in the real-time payment process

    There are events you can use, where, based on the real-time payment method, the system can derive whether an item, contract account, or contract takes part in the real-time payment process.

    In Customizing, you have to configure any payment methods that you want to use for real-time payments so they can be used in this way (see below).

  • Dunning Notices

    If an incoming payment method is defined for a document, contract account, or contract, the standard system does not perform dunning, since the receivable is allowed to be collected. This logic does not apply for incoming payment methods of the Real-Time Payment category. In that case, you expect a payment. The payment run does not collect the payment, and therefore a dunning notice is created if payment is not made. With regard to payment data from the contract, see the documentation of sample function module FKK_SAMPLE_0365.

Payment Processing

The following scenarios are supported:

  • Real-time payments can be incoming or outgoing payments. Payment can be made using a bank account or a credit card.

  • For payments made with a bank account, you can initially only create a payment order. When the bank confirms the payment, the system posts the payment order automatically using a payment order lot.

  • For payments by credit card, you cannot use payment orders. That means, that credit cards and payment orders are mutually exclusive in the case of real-time payments.

  • For a real-time payment method of the category Real-Time Payment Using Virtual Bank Account, the information about the payment is already sent from the bank to your company, so that a subsequent check of whether the payment can be executed by the bank is not necessary In this case, the business partner, who, for example, wants to pay one of his or her receivables with your company, is identified by a virtual bank account that was assigned to him or her previously. The bank has provided a list of these virtual back accounts to your company previously, and you have assigned one of these numbers to the business partner. In event 6208, the system determines the business partner belonging to the virtual bank account. In event 6021 (after the selection of the items, before clearing control is called), you can restrict the selection of the items that can be paid with the virtual bank account. In event 6230 (after the selection of the items and after clearing control is called), you can, with dependence on the virtual bank account, check the assignment of the payment amount to the individual items, and reject the payment for example.

Processing of Real-Time Payments

The system always accepts real-time payments by means of an external branch or cash desk. To make this possible, in the Define Master Data activity, you define an external branch for each house bank that should receive real-time payments. You also define an external cash desk in this external branch for each house bank account.

You have to enter an external cash desk or branch for each real-time payment. You need to create the external cash desk with the new category C (Real-Time Payment).

The processing logic for real-time payments is more similar to that of the payment lot than to that of the payment run:

  • The bank data of the paying business partner comes from outside, is it does for payment lots.

    In the case of real-time payments, it comes from the interface of the service; for payment lots it comes from the account statement. The data is not determined during a process, as it is for the payment run.

  • The house bank data originates externally.

    The interface of the service names the external cash desk and branch, from which the house bank data results. There is no bank selection as there is in the payment run. Payment locks are not taken into account – a real-time payment represents a consciously-made payment on the part of a direct payer, which is always accepted.

  • The system does not determine any alternative payers.

    The items to be paid are determined solely from the selection criteria. Clearing control assigns the payment amount.

  • There are no payment-method-specific checks.

Real-time payments are triggered and administered using new services. There are services that do the following:

  • Accept and process payments

  • Determine the payment status

  • Reverse payments

  • Check the assignment of a virtual account to a business partner

  • Receive and process asynchronous bank responses

Display

You display real-time payments from the SAP Easy Access screen under Start of the navigation path Payments Next navigation step Real-Time Payments End of the navigation path. The transaction calls the monitor for external cash desk services and displays the data on the Real-Time Payments tab.

In the upper screen area (Set Filter), you can restrict the payments to be displayed by status, date, and business partner. The field help for the status provides information about the individual statuses a real-time payment can have.

Transferring Data by Web Service

Real-time payments are not processed synchronously. Instead, the system receives the data, submits it to a technical check, and then stores it in the appropriate tables of external cash desk services (DFKKEXC, DFKKEXC_ADD).

Then the processing of the payment begins asynchronously. Errors can occur, for example because business partners are blocked for this processing. In those cases, the system notes this and assigns an appropriate status. Follow-on processing might then be necessary. Once the lock is removed, you can post the payment in the monitor by choosing Post Real-Time Payment Again Repeat (Post Real-Time Payment Again). Or you can repeat the posting from the SAP Easy Access screen under Start of the navigation path Payments Next navigation step Real-Time Payments Next navigation step Repeat Posting End of the navigation path. You can repeat the posting until it is successful.

Repeating the posting is not recommended for payments with certain statuses. However, using event 6232, you can have the system allow a repetition, for example, even for payments with the status “Bank Was Informed, Waiting for Bank Response” (for example, if the bank explicitly requests that the data be resent). For more information, see the documentation for the function module FKK_SAMPLE_6232.

When processing a real-time payment, you can update additional log data in event 6231. You can display this data in the monitor by choosing Display Log Log (Display Log). You can generate the log entries yourself in your own implementations of events, such as 6207, 6208, 6021, 6231, 1400, and 1402. For more information, see the documentation for the function module FKK_SAMPLE_6231. Updating this log data can be useful, for example for tests, for researching errors, or for explaining the rejection of payments.

Under and Overpayments

Real-time payments can result in underpayments (partial payments). In the case of an underpayment, after the payment amount is assigned, the system automatically posts a partial payment to the selected items, and splits the items into the part paid and a remaining open amount.

You can also process overpayments with real-time payments – assuming that you have made the necessary settings for overpayments in the Make General Settings Customizing activity.

The following new origins can be used for posting a payment document:

  • 7A (Outgoing payment - bank)

  • 7B (Card)

  • 7E (Incoming payment - bank)

  • 7V (Virtual account)

With these origins, you can make separate settings in Customizing for clearing control for these types of clearing, if needed.

If a payment amount that exceeds the receivable amount is entered for a receivable, the system creates a statistical down payment request. This request is then added to a payment order along with the actual receivable or it is posted and cleared immediately. As a result of the clearing of the statistical request, a down payment is created, that is, an item on account, that might have to be refunded later, if it is not possible to use it to clear other receivables.

It is also possible that clearing control is not able to assign the payment amount completely and instead returns payment on account postings. These postings are then also posted as statistical down payment requests, which become down payments when they are cleared.

In case clearing control does not find any items, to which it can assign the payment amount, you can configure the system (in the Make General Settings Customizing activity) so that the payment is posted on account. Clearing control tries to assign the payment amount to the selected open items. If it is not possible to assign the full amount, the system creates items on account. These items are posted as a down payment request with the document type entered in the Customizing activity. They are then either cleared or added to a payment order.

It is also possible to post the payment amount on account using event 6021.

Example Example

For an invoice of 100, a payment amount of 120 is entered.

The system creates a down payment request of 20 and clears it along with the invoice for 100.

The result is a bank collection of the payment amount of 120, and an open down payment for the amount of 20 on the business partner's contract account.

End of the example.

Posting of Payment

After the items are selected and the payment amount is assigned to the items, the system either creates a payment order or posts a payment document. The system makes this decision based on the characteristics of the selected payment method.

To create payment orders, set the Payment order only indicator on the payment method.

Caution Caution

For payment by credit card, it is not possible to create a payment order (see the system settings for the payment method in the Define Payment Methods Customizing activity).

End of the caution.

The payment method can either be specified from outside by the Web service, or the default is determined from the Define Default Payment Methods Customizing activity. There you specify the default payment method for virtual accounts (bank accounts only) using the type of payment processing Real-Time Payment Using Virtual Bank Account. Using additional entries for the type of payment processing Real-Time Payment, you can specify default payment methods for bank and card payment methods for the scenarios mentioned above that are not handled using virtual accounts.

In events 6021 and 6230, you can check the existence of appropriate payment methods at the level of items, contract accounts, or contracts. If a declaration of consent is required for real-time payments, you can also check the existence of one in these events.

If a payment order is created, the system records the data from the external cash desk in the payment order, so that it can be displayed there. This ensures that you can navigate from the payment order back to the real-time payment.

The data from the external cash desk is displayed on a separate tab in the detailed display of the payment order.

Communication with the Bank and Returns

After the payment order or payment document is created, using event 6207, you can communicate directly with external financial institutions, such as banks, credit card companies, or virtual added networks. For this purpose, the data for the payment is made available, similarly to the logic of the payment run, in the format of the payment tables (DPAYH, DPAYP), but it is not stored in these tables.

In the format stored for the payment method, you can then create and send an XML message. If you use bank-specific formats, you can set a bank-specific format dependent on the data of the interface of event 6207. That means that you don't have to create a separate payment method for each bank.

If it is possible to send this message synchronously, the synchronous answer can immediately be processed further. If the bank confirms the payment, the system first determines if only a payment order was created, or if a payment document was created immediately. If the payment document was already created, then only the status of the external payment has to be updated.

If only a payment order was created, then the system automatically creates a payment order lot (for this payment) and posts it. In the Make General Settings Customizing activity, you can enter a prefix in the Prefix for Payment Order Lot field. The key for this payment order lot consists of the two-character prefix and the number of the payment order.

However, if the bank responds that the payment cannot be executed, the system either reverses the payment order only (if a payment order was used) or creates and posts a returns lot for the payment. Which of these two takes place is determined by how the Returns Posting for Payment Order indicator is set in the Make General Settings Customizing activity. You can also define a prefix for this in Customizing. The system determines the return reason in event 6207.

If you do not set the indicator, the system reverses only the payment order. This also means that no returns activities are performed, and no bank fees are posted. The return reason (from event 6207) is noted in the payment order. To trigger follow-on activities such as creating correspondence, setting locks, or changing payment methods, use event 0695.

The indicator has no effect if instead of creating a payment order, a payment document was posted immediately. In that case, the system always creates and posts a returns lot when a payment is rejected. If a statistical down payment request was created in the case of an overpayment, the statistical down payment request is also reversed.

Both payment order lots and returns lots always contain just one individual payment or one individual return.

If the response of the bank (in event 6207) is not synchronous, the system can accept the response at a later time by calling the appropriate service separately. In that case, the execution of the steps (confirmation of the payment or rejection of the payment and naming of return reasons) corresponds largely to the description above. The data of this service is stored and processed in the new table DFKKEXC_ADD. If lock problems arise during processing of this asynchronous bank response, you also choose Post Real-Time Payment Again Repeat (Post Real-Time Payment Again) in the monitor.

In some cases, it's common for the bank, if the scenario for payment using a virtual account is used, to immediately initiate a reversal of the payment after a certain waiting period without a response (for instance, 30 seconds). There is a separate service for reversing the payment in these cases. This data is also stored and processed in table DFKKEXC_ADD.

Payment with Credit Cards

The credit card data has to be provided by the service that transferred the payment. The credit card is authorized in event 1400 (called from event 6065). There you can also add your own customer-specific fields (from CI_FKKOPKC) to the credit card data. In addition, you can send authorization data already when the service is called. This data is stored in the table of card data for the payment document (DFKKOPKC) and is available for billing. It can also be useful to call event 1400 (from event 6065) even if authorization already took place. For example, you can add card data without needing another authorization.

Example Example

You add the VANID (Value Added Network ID) that identifies the provider that processed this card payment, so that you can display this information in the payment document.

End of the example.

You can add additional fields to the card supplement in event 1400 (table DFKKOPKC) and display them using event 1402. For more information, see the documentation for the function module FKK_SAMPLE_1402.

For each status change (such as, payment posted, bank was informed, bank confirmed), event 6209 is processed. This event enables you to notify a feeder system of this status change, or to otherwise react to the change.

Effects on Customizing

  • You activate real-time payments for each company code in Customizing for Contract Accounts Receivable and Payable under Start of the navigation path Organizational Units Next navigation step Set Up Company Codes for Contract Accounts Receivable and Payable End of the navigation path by setting the Real-Time Payments Active indicator.

  • You configure payment methods that you want to use for real-time payments in Customizing for Contract Accounts Receivable and Payable under Start of the navigation path Business Transactions Next navigation step Payments Next navigation step Incoming/Outgoing Payment Creation Next navigation step Define Payment Methods End of the navigation path by entering the value Real-Time Payment or Real-Time Payment Using Virtual Bank Account in the Real-Time field.

  • You make system settings for processing real-time payments in Customizing for Contract Accounts Receivable and Payable under Start of the navigation path Business Transactions Next navigation step Payments Next navigation step Processing Incoming and Outgoing Payments Next navigation step Real-Time Payments End of the navigation path.

  • With dependence on the transaction of the down payment request, you can specify if a down payment can be cleared immediately. In Customizing for Contract Accounts Receivable and Payable, choose Start of the navigation path Postings and Documents Next navigation step Document Next navigation step Define Account Assignments for Automatic Postings Next navigation step Define Account Assignments for Down Payments and Charges End of the navigation path.