I propose the following changes to the Tax Deducted at Source (TDS) Feature - this is an India Government requirement for purchase of services.
Tax withholding Category: I propose we move it from the Supplier Master to the Purchase Invoice Item level. Why? It’s possible that the Services Supplier could provide a suite of services to the organization that are under different Tax Withholding Categories
TDS on Purchase Receipt: While some might argue that TDS being a service, the underlying item needs to be set up as a Non-Stock item and when setup as a non-stock item makes it conflicting to do a Purchase Receipt, there are two very strong reasosn why you would still want to enable that:
2.1: Unless you do a Stock Transaction (Purchase Receipt or Purchase Invoice with Update Stock Checked), the PO doesn’t disappear from the Pending PO list
2.2: In most organizations the person responsible for the delivery of services and the person responsible for making the purchase invoice are two different people. So the person certifying that the services have been delivered to the organization can do a Purchase Receipt and the accounts person can do the Purchase Invoice
So we just replicate the TDS features on the Purchase Invoice to the Purchase Receipt
- TDS on Purchase Order: The TDS rule says that TDS needs to be deducted and remitted to the government the earlier of: 3.1 Invoice, 3.2: Payment
Therefore the TDS process collapses when advance payments need to be made. So, here’s the proposal for #3:
We extend the TDS feature to the Purchase Order. However when a Payment Entry is made for say X amount connected against this PO, TDS is deducted from X and the supplier is given X*(1-R) where R is the TDS deduction rate and R*X is an entry made against the account used in the Tax withholding Category
And as the Purchase Receipt/Invoice is made against this PO, the account balances move to the downstream documents
- Tax Withholding Category: There are inconsistencies in the way ERPnext is calculating withholding based on the data entered in Tax Withholding Category:
4.1: If the values in the Single Transaction Threshold and Cumulative Transaction Threshold are left blank (or 0), the formula computes and deducts TDS for any amount.
4.2 Formula for deduction: The Formula for deduction is higher of: 4.2.1: SUM(A)>Cumulative Transaction Threshold, TDS for Transaction = SUM(A)R-Sum(TDS) .OR. AR
Where A is the Net Total of the particular Purchase Invoice/Receipt, SUM(A) is the cumulative Invoicing that has happened by the Supplier for the particular Tax Withholding Category and SUM(TDS) is the sum of TDS deducted for the particularsupplier for the Tax Withholding Category, R is the Tax Withhoding Rate for the particular Tax Withholding Category
Is everybody okay about it?
Is there somebody already working on this? If yes, how can we help her/his efforts?
If no, shall I get my developer to do a pull request to fix this?