Mar 14, 2008

TDS Flow in Accounts Payable - Oracle Apps India Localization

Review this article before you read this.

Organizations are expected to withhold a percentage of the payments that they make to their suppliers and remit the amount thus collected with the tax authorities at the end of every specified period. This process is known as Withholding Tax or Tax Deducted at source.
The suppliers in turn receive a certificate to the extent of the amounts thus remitted and they will file the same with the Tax Authorities as a part of their Income tax declaration.
While withholding tax calculation in majority of countries is effective at the time of making payments to the suppliers, in India the Tax Deducted at Source (TDS) is effective at the time of accepting the supplier invoice itself. This makes the tax calculation, managemet and tracking much more complicated especially in an ERP Scenario.
This document tries to discuss an overarching scenario, where the TDS is calculated at the time of entering a supplier advance (Prepayment) and netting the same off against the invoices entered in the Oracle Applications Accounts Payable module.
1.When prepayment invoice is generated in AP.
In Oracle Apps, you enter a Supplier Prepayment as a Supplier Invoice of type 'Prepayment'. In this example, we are entering a prepayment of Rs.55000. Accounting entry generated is as follows.

Prepaid Expenses Dr 55000
Liability Cr 55000

2. System Creates TDS Credit Memo on supplier (Assuming 10% is the rate)
At the time of validating the above invoice, the system creates two additional documents. One, it creates a credit memo on the supplier (discussed in this step) and two, it creates a TDS invoice on the Tax Authority, thus moving the Tax from the supplier to the Tax Authority (discussed in step 3 below). For this purpose, Tax Authority has to be created as a Supplier in the ERP system
In this example, TDS rate of 10% is assumed.

Liability Dr 5500
TDS Control A/c Cr 5500

The rate gets picked up from the tax master where we have defined the tax as type 'Tax Deducted at Source'.

3. System Creates TDS Invoice on IT Authority (TDS Supplier)
This is already discussed above.

TDS Control A/c Dr 5500
Liability Cr 5500

4. Making the payment to the supplier on the prepayment invoice created above.
You will net off both the prepayment invoice (step 1) and the credit memo (step 2) when making the payment to the supplier.

Liability Dr 49500
Cash/Cash Clearing Cr 49500

5. Making the payment to the tax authority on the TDS Invoice

Liability Dr 5500
Cash/Cash Clearing Cr 5500

6.Enter Standard Invoice on Supplier (Raising invoice of 40000)
Here we are entering a standard invoice on the supplier and netting it off with the prepayment created above. The invoice amount is Rs. 40000. At the time of validating this invoice, the system will create TDS Credit Memo and TDS Invoice as discussed previously (Steps 2 and 3).
Accounting entry for the invoice.

Expense Dr 40000
Liability Cr 40000

7.TDS Credit Memo on the above invoice

Liability Dr 4000
TDS Control A/c Cr 4000

8.TDS invoice on IT Authority

TDS Control A/c Dr 4000
Liability Cr 4000

9.Attaching Prepayment created above to the current invoice.

Liability Dr 40000
Prepaid Expenses Cr 40000

10.TDS Return Invoice on supplier to reverse the original TDS Credit memo on the Prepayment.
This is a bit complicated to explain. If you make payment to the tax authority on this TDS invoice (created in Step 8), you would have made a total payment of 5500+4000 to the tax authority. This is wrong. Actually you don't have to pay anything on this invoice since you have already paid the TDS on the prepayment. To reverse the TDS Credit memo and the TDS Invoice created above (in step 7 and 8), the system creates a Reversal Invoice on the supplier and a Credit memo on the tax authority to the extent of Rs.4000

TDS Control A/c Dr 4000
Liability Cr 4000

11.TDS Return Credit Memo on IT Authority to reverse the Original TDS Invoice on the Prepayment

Liability Dr 4000
TDS Control A/c Cr 4000

Note that TDS Control A/c is an intermediate account which gets netted off at the end of a TDS Credit Memo and a TDS Invoice. This account is set up when you set up the tax master.

Please update your queries or comments so that I can respond to the same.

What did you think of this document? Pl feel free to comment. That is the only way to improve upon this.


Bevin said...

Thanks! Its a wonderful article. However, I do have some queries which I will detail in an email to you - if thats ok with you.


Ramaswamy VK said...

Bevin, that is fine with me. I will wait for your email. In the mean time, have you read the other article on TDS in my blog?

Anonymous said...

Hello sir ,
i get an one problem while seting up of india loc Ap whiel creating Invoices the tds tax is not come in india distribution .
please bail me out

Ramaswamy VK said...

Hello anonymous,

Wish you had given your name!!

Most probably you have not entered TAN number in the LE / OU DFF. Pl. check.

vpraman said...

the system creates a Reversal Invoice on the supplier and a Credit memo on the tax authority to the extent of Rs.4000....
Does this happen automatically or we need to setup somewhere?

Ramaswamy VK said...

Hello Raman,

These are automatically created by the system as soon as you net off an invoice against a prepayment

Anonymous said...

Hey I am earning <5000 / month still my 10.3 % is getting deducted in form of TDS..the firm says we need to get a TDS certificate from IT authority to get the TDS money refunded..How do I get the TDS certificate?

Ramaswamy VK said...

Hello Anonymous
You should have given your name.
Your TDS Certificate will be provieded by the firm who deducted TDS. You have to submit this Certificate to the IT department to get the tax refund.

Prathmesh said...

Very good explanation.Wonderful job done by you.If you have any flow of excise or TCS then pls share it with us.

AMIT said...


I have created a prepayment with TDS in January,2009 but in the month of June,2009 the TDS has got end dated. Now, when I am trying to create an invoice against prepayment, unable to approve invoice because attached Tax Definition of India localization has been end dated.

Kindly help me what to do in this case.

Thanks in Advance.


Anonymous said...


This is mani, would to know how to enter opening balance for TDS - india localization with accounting entries. If possible.

I appreciate if you could post it.


Anonymous said...

sir its wonderful presentation
i cleared my concept of tds.


Amol said...

How can we find such a automatically created reversal invoice in the system ?

Amol said...


How can we identify such a automatically created reversal Invoices in the system ?


Ramaswamy V Krishnamurti said...

Amol, if I remember correctly, the reversals are created with a type 'RTRN'.

Sumit Keshri said...

I have booked an invoice with two line one has 1% TDS and other line amount is applicable for 10% TDS.
When Validated and tried to generate the TDS invoice the output is not showing any TDS Invoice for 10% TDS but at the same time it is showing that 1% TDS invoice.
What to do how to resolve

Ramaswamy V Krishnamurti said...

@Sumit Keshri, please do the following steps.
1. Create a separate single line invoice (for the same supplier and by the same way the previous invoice was created) for 10% TDS and see if TDS is getting generated for that invoice line. If that is happening, then we can rule out set up issues with the TDS set up for 10% rule.
2. If step 1 is happening, please see if The TDS Section DFF Information is updated correctly in both the invoice distribution lines.
3. If the answer to both the above is correct, then you have to raise an SR with the Oracle Team. It could be a bug. If you are on 12.1.3, then Oracle would have a patch for your issue. India Local Payables is very stable in that version.
Hope this helps.

Sumit Keshri said...

I have booked an invoice with two lines. First Line for amount 41,885 with 1% TDS and Second line amount 5000 is applicable for 10% TDS. Total Invoice amount is 46885
When Validated and tried to generate the TDS invoice the output is showing one TDS invoice of 419 which is for 1% TDS which is fine. The second invoice amount is showing for 4689 which is wrongly generated because it should be generated on 5000 amount with 10% TDS but unfortunately it is calculating 10% on the total invoice amount instead of charging it to only second line for amount 5000.

Please help me to resolve this issue.

Ramaswamy V Krishnamurti said...

I think that the issue is related to Single Invoice and Cumulative Thresholds. Fore the first line it has considered the single invoice threshold and calculated the TDS at 1%. Once it considered the second line, the Cumulative Threshold was breached, (looking at the data, the cumulative threshold in your case should be 45000, I am just guessing). So the system has calculated the TDS for the entire invoice and calculated the TDS as 4689. The system should have created a RTRN Type transaction to reverse the original TDS Deduction of 419. Please check and update the blog for the benefit of others.

Sumit Keshri said...

TDS Section SEC. 194(I) 10 is setup in Supplier additional information. TDS vendor type is Individual and PAN number is also update.
When I try to book an invoice in payables this TDS rate is not showing.

How to resolve this issue in Oracle.

Laser jet1010 said...

We are on 12.1.3.
For such cases,after validating the standard invoice TDS credit memo and TDS standard invoices are not generated.
Will you provide us query or select that will find out such case.
(We want to know that for upon validation of std. invoices TDS invoices are not generated)

V K Ramaswamy said...

@laser jet 1010, If TDS was working correctly in the last financial year and not working correctly in this financial year, it is possible that for this specific vendor either of the Vendor Thresholds have not been hit. The two thresholds are 'Single Invoice Threshold' and 'Cumulative Threshold'. Please check your threshold setups. This is a common doubt in the beginning of any Financial Year. In case you have more doubts, pl. mail me at

Laser jet1010 said...

Thanks for update.
We are woarking in oracle since last 14 years.
TDS threshold setup is okay.
I am just repeat my requirement:

After validating standard invoice, TDS invoices are not generated.
Please provide a query or select to find out such cases .i.e for which standard invoices TDS invoices are not generated.
(it may ne more than one case at a time).


V K Ramaswamy said...

@laser jet1010, unfortunately I do not have a query for your specific situation. While I think the issue is with the thresholds (I have got at least 5 such mails with the same issue after April-2016), suggest that you raise SR with Oracle on this.


Laser jet1010 said...



Need very urgent help.
We are trying to implement a external system that will send invoices for Indian entities with TDS Rates. As we know that TDS Rates are generally entered at Invoice Distribution level DFF and upon saving the invoice the standard oracle trigger runs and TDS Credit Memo and Standard Invoice is generated.
Now the problem is when invoice comes from any other upstream system and imports to Oracle, it actually gets validated through Invoice validation program that is scheduled for other various business channels and Indian entities. After invoice validation now when we manually try to go to invoice distribution level DFF and enter the TDS Rate, The trigger runs and doesn't allow us to save the invoice,hence we cannot generate TDS Credit Memo and Tax authority invoice.
Blocker here is we cannot stop invoice validation program at all.
Can anyone suggest an alternative as we are unable to bring the TDS Rate through Payabke
Open interface since direct insertion is not allowed into AP INVOICE DISTRIBUTIONS ALL table through Payable Open Interface process.

Please help.

V K Ramaswamy said...

Hello Amandeep
This is a major problem in Oracle. I believe that there is an enhancement request pending to resolve this issue.
One approach that you could follow is to cancel these invoices after they enter the Oracle System and create a fresh invoice manually.
Another approach could be to (it is a roundabout one) create a single invoice for Rs.1 for each vendor and this will create a TDS Invoice and Credit Memo and then modify the amount to reflect the actual TDS amount. This will generate TDS certificate but the same will not show Invoice wise breakup. You may have to have separate custom report for TDS Certificate to vendor.
I know this is a bad solution, but still an option.
Hope this helps


Thanks V K.
But need help to understand second aspect:
User enters the TDS Rate in invoice distribution level DFF, and immediately after saving the invoice the distribution level TRIGGER fires and TDS CM and Tax Authority invoices are generated by Oracle. I want to understand why the TDS CM and Tax authority invoice are generated after saving the invoice. Why doesn't Oracle allow the generation of TDS entries after Invoice Validation is run. Just like it is with WITHHOLDING Tax functionality . My organization has a blocker with current TDS functionality.
Once more thing in Oracle for India TDS concept in case once the invoice is Validated, post that user cannot save the invoice after entering TDS Rate at distribution as Oracle through an excretion saying "Cannot enter TDS Rate after Invoice is Validated".
Need help with this to understand above Oracle functionality for INDIA.
If possible can someone suggest if I can get the trigger modified by my DEVELOPMENT team(internal Dev team) so as to ensure that TDS rates can be entered after invoice validation also?

Please help

V K Ramaswamy said...

I understand your concerns, however unfortunately that is the nature of the beast. Regarding modifying the trigger, we did that in our previous company, but we faced a lot of problems with the Invoice Validation Process.
I am talking about R12.1.X version. I am not sure how this is taken care in 12.2.X versions
I am very sorry that I am unable to help you at this point. You could look at the feasibility of excluding your India Local Invoices from your scheduled Invoice Validation Process Run.
This is a problem that all India companies are facing.
I will also check out with a friend of mine in Oracle India Support team and see if I have any further positive updates for you.


Sure, thanks a lot V K.


V K Ramaswamy said...

I have sent a mail to my Oracle Contact. Let us see if he responds. In the meantime you could raise an SR with Oracle and get their formal position on this issue.