SAP SD-Based Customer Cash Discount Postings and Clearing Account Handling

DOI : 10.17577/IJERTV14IS040208

Download Full-Text PDF Cite this Publication

Text Only Version

SAP SD-Based Customer Cash Discount Postings and Clearing Account Handling

Saurabh Jain Cleveland, OH

Abstract One of the functionalities in customer billing is calculation of cash discount at the time of billing. At the time of billing SAP reads payment terms from customer master data using condition. The system reads discount percentage and calculates cash discount amount in billing document. Billing documents when posted creates accounting entries. A cash discount is given to customers for making payment within the due date. Therefore, the nature of customer cash discount is contingent liability. To show contingent liability towards the cash discount some clients may want to post cash discount to an accrual account and clear the same at the time of customer receipt. However, when customers do not make payment within dates, the system does not automatically reverse the accrued cash discount. This white paper shows how a report can be generated to find out the amount to be reversed/cleared for claimed/unclaimed cash discount.

Keywords SAP, S/4 HANA, ECC, cash discount clearing, SKTO

Configuration Steps For Activating Customer Cash Discount Accrual.

  1. Condition type SKTO is assigned to account key in pricing procedure (V/08). SKTO reads discount percentage and calculates cash discount amount in billing documents. SKTO is a statistical condition and therefore is only for information purposes.

  2. SKTO has account key that has account determination in VKOA for posting to expense account and accrual account.

  3. You have to make sure that accrual account in VKOA is same as Cash discount account assigned in T-Code OBXI. It has to be an OI managed balance sheet account.

Arvind Napa

Kansas City, KS

Journal entry at the time of billing will be:

Dr. Customer 67,575.00

Dr. Disc. Exp. A/C (from VKOA) 675.75

Cr. Revenue A/C 67,575.00-

Cr. Disc Acc A/C (from VKOA as accrual) 675.75-

The discount is recognized immediately as expense assuming that customer will pay in time. Credit with same amount goes to an accrual account.

If customer pays in time, entry at the time of payment

Dr. Checks/Wires in 66,899.25 Dr. Disc Acc A/C (assigned in OBXI)

675.75

Cr. Customer 67,575.00

Amount in discount accrual account will always represent liability of the company towards cash discount. The client can accurately show its contingent liability towards an unclaimed cash discount. Accrual account works as clearing account and therefore we can track cash discount right from billing to payment.

However, there is a problem in this approach. All customers not always pay within due date. In that case the customer will pay full amount and at the time of payment discount accrual account will not be debited.

In that case the customer will not be able to claim the discount and will pay the full amount and receipt entry should go as shown below:

Dr. Checks/Wires in 67,575.00

Cr. Customer 67,575.00

Since the original discount amount is posted in expense account and accrual account, it needs to be reversed as well. So next entry to complete this should be

Dr. Discount Accrual A/C 675.75

Cr. Discount Expense A/C 675.75

Above entry SAP does not post automatically and identifying line item to be reversed manually is a tedious task due to large number of entries in accrual account.

Basically at a time line items in accrual accounts can be divided into 3 categories:

Cat. 1 Lines that represent unclaimed discount where customer can make payment within time and claim the discount. Ideally only these lines should remain in accrual account.

Cat. 2 Credit amount at the time of billing and debit line items for on time payment. Ideally these line items should be cleared. In case these lines are not cleared it will represent a cluttered clearing account, however clearing such account is not an easy task because there are no common fields between credit amount and debit amount.

Cat. 3 Credit amount at the time of billing where payment is not made on time. Ideally these entries should be reversed against discount expense account and cleared in accrual account.

If lines under category 2 and category 3 are not cleared and accrual account is not maintained it will be difficult to ascertain correct amount of liability towards cash discount. To identify and clear lines under category 2 and 3 in accrual account we can develop 2 custom reports. One report will show line items where customer paid in time and lines should be cleared and other report will show where customer failed to pay in time and line items can be reversed.

Report 1 Clearing Information For Accrual Account (Customer Paid In Time):

When customer line items are cleared and discount is automatically posted, that document becomes clearing document for customer billing line item and payment document. It holds good when billing line is cleared at the time of booking payment (where payment document = clearing document) or when billing line and payment lines are cleared later like in case of Lockbox processing (where payment document <> clearing document).

See example below:

Typically this is how a customer account looks after customer has made on time payment.

RV line shows Billing,

DZ Incoming payment and

AB Clearing document (that posts allowable discount as well)

Customer Account: 100099 in company code 1100.

Acc. Doc

F.Year

Description

P. Date

Amt in LC

LC

D Typ

Clrng doc.

90029409

2013

XYZ Customer

6/10/2013

67,575.00

USD

RV

100118364

1400004854

2013

XYZ Customer

6/24/2013

66,899.25-

USD

DZ

100118364

100118364

2013

XYZ Customer

6/24/2013

675.75-

USD

AB

100118364

Accrual account after above postings. Please note that both lines are open as of now. Accrual account 120021 in company code 1100 –

Acc. Doc

F. Year

Description

P. Date

Amt in LC

LC

D Typ

Clrng doc.

90029409

2013

Disc Acc A/C

6/10/2013

675.75-

USD

RV

100118364

2013

Disc Acc A/C

6/24/2013

675.75

USD

AB

If you observe in customer account that accounting document in the line where discount is posted is same as clearing document. We need to establish link between Billing document 90029409 and clearing document 100118364. This can be achieved using 2 tables i.e. BSI and BSAD.

Please see below

If we input following information in table BSIS we should get line item from document 100118364 along with other lines but for simplicity I am showing on line from document # 100118364.

Input:

Company Code (BSIS-BUKRS) Accrual Account (BSIS-HKONT) Posting Date (BSIS-BUDAT)

Output:

If we use above information to join with fields in table BSAD we should be able to get billing document number and clearing document number:

Joining condition between table BSIS and BSAD should be: BSIS-BELNR = BSAD-AUGBL

BSIS-BUDAT = BSAD-AUGDT

BSIS-BUKRS = BSAD-BUKRS

Input:

Output:

You will observe that you will get Billing document – 90029409, Payment document – 100118364 and Clearing document – 1400004854.

By subtotaling field BSAD-SKNTO and BSAD-WSKTO on clearing document you can have zero for cash discount amount (you will have to make them +ive or ive by using field SHKZG). If your total is zero these accounting documents can be cleared. If total is not zero it means that customer paid amount after due date and therefore not claimed discount. Such discount needs to be reversed against expense account.

We can have a nice custom report to show above output:

Again, clearing above lines is a manual task, however a custom program can be further extended to update assignment field in selected line items based on same clearing document number. Based on assignment field a match-code can be configured for automatic clearing of Discount Accrual account.

Selection screen for the above report will look as shown below:

Follow the steps below to develop a query report:

  1. Create InfoSet (SQ02) by joining tables BSIS and BSAD as shown below:

  2. Query will show duplicates in its output; you will have to insert following code to remove duplicate:

  3. To show amount according to +/- sign you will need 2 Local Fields One for document currency amount and one for local currency amount.

Configure Local fields as shown below:

Layout for the report can be designed as shown below:

Report 2 Report To Reverse Expired Discount (Customer Not Paid Yet And Discount Expired):

For invoices where the customer has not made payment in time entry for discount should be reversed. Example

Dr. Discount Accrual A/C 675.75

Cr. Discount Expense A/C 675.75-

Above entry SAP does not post automatically and identifying line item to be reversed manually is a tedious task due to the large number of entries in accrual account.

A report can be developed to identify each customer line where discount is available as per the billing document. This report can show whether individual lines can be reversed or no.

In the above report the last column shows traffic lights, red light means line cannot be reversed, green light means amount can be reversed. On the date of executing report total of all amounts under green light can be reversed and cleared against individual lines.

From table BSID (Customer open line items) for lines generated using document type RV (SD Billing) program will check whether on the date of execution line item is overdue or not.

Example

Payment terms – 60 days, discount percentage = 1%.

Baseline date is 04/28/2014; Run Date is 08/10/2014; Days overdue = 104 which is more than 60 days and therefore customer is not eligible for discount. Therefore, for this line green light should be indicated and amount can be reversed.

In my example I compared days overdue with value in the BSAD-ZBD1T field (i.e. highest number of days any discount is available). The amount to be reversed will be calculated as a local field by multiplying discount percentage with discount base.

Selection screen for above report

Table BSID has all the relevant information to generate this report. You can use query shown below to produce above shown report

InfoSet (SQ02)

You will need 3 local fields in this report

Days Overdue, Reversal Amount and Traffic light indicator.

Local fields should have calculation steps as shown below

ZDPDUE – Days overdue

Formula Run date (variable %DATE) Baseline date (BSAD- ZFBDT)

REVAMT – Reversal Amount

Formula BSAD-SKFBT (Discount base) * (BSAD-ZBD1P (Disc. Percent 1)/100)

XREVRS – Can be reversed? Formula

If BSAD-ZBD2T (Days 2) <> 0 AND BSAD-ZBD2T <

ZDPDUE then green light. (If value in field days 2 exist then compare it with ZDPDUE)

If BSAD-ZBD2T (Days 2) = 0 AND BSAD-ZBD1T < ZDPDUE

then green light. (If value in field days 2 is 0 then compare field ZBD1T with ZDPDUE)

Else, red light

With the help of the above 2 reports, the user should be able to maintain the discount accrual account, also he/she should be able to show the discount accrual amount correctly.

CONCLUSION

Clearing accounts if not maintained properly for a long period can accumulate values that cannot be reconciled later. Customer cash discount account is one such account. In the absence of standard functionality to maintain this account, the steps shown above can greatly reduce manual effort of account maintenance. The report shown above can analyze historical data and suggest amount that should be cleared/reversed.