Managing Tax Withholding During Customer Payments in ERPNext
When customers deduct withholding tax (such as TDS or similar statutory deductions) while making payment, the amount received is lower than the invoice total. ERPNext allows you to record this difference accurately by posting the withheld amount to a dedicated Withhold Account while fully settling the invoice.
This method ensures that your Sales Invoice is completely paid while the withheld tax is correctly recorded for accounting and statutory reporting.
1. Business Scenario
Suppose a Sales Invoice has an outstanding balance of 20,000.
The customer deducts 400 as withholding tax and transfers only 19,600.
Instead of leaving the invoice partially unpaid, ERPNext allows you to:
- Record the actual payment received.
- Book the deducted amount into a Withhold Account.
- Mark the Sales Invoice as fully paid.
2. Create a Withhold Account
Before recording the payment, create an account that will hold the deducted tax amount.
Navigate to:
Accounting > Chart of Accounts
Create an appropriate account such as:
- Tax Withheld
- TDS Receivable
- Withholding Tax
This account is used to record the tax deducted by the customer until it is adjusted or claimed according to your local tax regulations.
3. Create the Payment Entry
Open the unpaid Sales Invoice and click Make Payment.
ERPNext automatically creates a new Payment Entry linked to the invoice.
4. Enter the Actual Amount Received
Under the Payment Entry, enter the amount actually received from the customer.
Example:
- Invoice Amount: 20,000
- Amount Received: 19,600
The payment reflects the amount credited to your bank account.
5. Allocate the Full Invoice Amount
In the References table, allocate the complete invoice amount.
Example:
- Allocated Amount: 20,000
Although the customer paid less, the invoice should still be fully allocated because the remaining amount represents tax withheld rather than an unpaid balance.
6. Record the Withholding Tax
The Payment Entry will now show a difference between:
- Amount Received = 19,600
- Amount Allocated = 20,000
The remaining difference is:
400
Under the Deductions or Loss section:
- Select the Withhold Account.
- Enter the deduction amount of 400.
ERPNext will balance the Payment Entry while recording the withheld tax separately.
The deduction amount should always equal the difference between the payment received and the invoice amount allocated.
7. Submit the Payment Entry
After verifying all values:
- Save the Payment Entry.
- Click Submit.
The system will:
- Mark the Sales Invoice as fully paid.
- Record the actual cash received.
- Post the withheld tax amount to the Withhold Account.
8. Example
| Description | Amount |
|---|---|
| Sales Invoice Amount | 20,000 |
| Customer Payment | 19,600 |
| Tax Withheld | 400 |
| Amount Allocated to Invoice | 20,000 |
9. Other Uses
The same approach can also be used for:
- Currency exchange gains or losses.
- Minor payment differences.
- Bank deduction adjustments.
- Other statutory deductions.
10. Benefits
- Keeps invoices fully settled.
- Records withholding tax separately.
- Maintains accurate Accounts Receivable balances.
- Simplifies tax reporting and reconciliation.
- Supports exchange gain or loss adjustments using the same workflow.