From c52fb2c9996113c39d1341565b2610eefa334fd1 Mon Sep 17 00:00:00 2001 From: Kartik Sharma Date: Tue, 11 Nov 2025 14:11:35 +0530 Subject: [PATCH] Adding TDS percentage calculation at View Payment Request. --- .../PaymentRequest/ActionPaymentRequest.jsx | 88 ++++++++++++------- .../PaymentRequest/ViewPaymentRequest.jsx | 2 + src/utils/constants.jsx | 3 +- 3 files changed, 61 insertions(+), 32 deletions(-) diff --git a/src/components/PaymentRequest/ActionPaymentRequest.jsx b/src/components/PaymentRequest/ActionPaymentRequest.jsx index b03f2c8e..e856f05d 100644 --- a/src/components/PaymentRequest/ActionPaymentRequest.jsx +++ b/src/components/PaymentRequest/ActionPaymentRequest.jsx @@ -65,6 +65,20 @@ const ActionPaymentRequest = ({ requestId }) => { defaultValues: defaultPRActionValues, }); + const baseAmount = watch("baseAmount") || 0; + const taxAmount = watch("taxAmount") || 0; + const tdsPercentage = watch("tdsPercentage") || 0; + + const grossAmount = baseAmount + taxAmount; + + const tdsAmount = useMemo(() => (baseAmount * tdsPercentage) / 100, [ + baseAmount, + tdsPercentage, + ]); + + const netPayable = useMemo(() => grossAmount - tdsAmount, [grossAmount, tdsAmount]); + + const userPermissions = useSelector( (state) => state?.globalVariables?.loginUser?.featurePermissions || [] ); @@ -309,7 +323,7 @@ const ActionPaymentRequest = ({ requestId }) => { (fileError?.fileSize?.message || fileError?.contentType?.message || fileError?.base64Data?.message, - fileError?.documentId?.message) + fileError?.documentId?.message) } ))} @@ -354,21 +368,7 @@ const ActionPaymentRequest = ({ requestId }) => { projectId={null} /> -
- - - {errors.tdsPercentage && ( - - {errors.tdsPercentage.message} - - )} -
+
{ )}
+
+ + + {errors.tdsPercentage && ( + {errors.tdsPercentage.message} + )} +
+ +
+
+ TDS Amount: + {tdsAmount.toFixed(2)} +
+ +
+ Net Payable: + {netPayable.toFixed(2)} +
+
+ )} )}
{((nextStatusWithPermission?.length > 0 && !isRejectedRequest) || (isRejectedRequest && isCreatedBy)) && ( - <> - -