looking for your advice about best practices for the following case:
in many cases, when we raise a sales invoice for a customer. the customer pays us the invoice amount less 5 to 10% deducted as a performance guarantee/bond and to be returned back to us after the warranty period or performance test. How can we record such transactions in erpnext???
Currently, we create a payment against the subject sales invoice and record the actual customer paid amount and the difference we adjust against an asset account called a performance bond. but later when the customer returns the amount, what shall we do? Or do you have another better way to process such transactions? kindly advise.
@Abdelrahman_Aly I refferd a scenario for EMD. In my case we submit (EMD 5%) advance cheque to the customer as a security. After maturity, customer returns same cheque or refund money to our bank account. This is similar case like you. (But, Your case is more similar as tax witholding category) Only difference is this we create EMD invoice separately and you have 1 invoice and customers deducts 5% as performance bond/guarantee in that.I suggest it’s better for you to generate 2 invoices. 1 for performance guarantee and 1 for actual sales.
There is also another simplest thing , you can create a field of performance guarantee in actual sales invoice. And set notification against that when 5% remaining amount is due for. In this way the status of invoice would remain partial until complete amount is received from customer against that invoice.
But, Actually the companies consider them to view total sales and recivables separately.