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)) && (
- <>
-
-
- {errors.comment && (
- {errors.comment.message}
- )}
- >
- )}
+ <>
+
+
+ {errors.comment && (
+ {errors.comment.message}
+ )}
+ >
+ )}
{nextStatusWithPermission?.length > 0 &&
(!isRejectedRequest || isCreatedBy) && (
diff --git a/src/components/PaymentRequest/ViewPaymentRequest.jsx b/src/components/PaymentRequest/ViewPaymentRequest.jsx
index e8cd0823..c1e6170e 100644
--- a/src/components/PaymentRequest/ViewPaymentRequest.jsx
+++ b/src/components/PaymentRequest/ViewPaymentRequest.jsx
@@ -129,6 +129,8 @@ const ViewPaymentRequest = ({ requestId }) => {
[EXPENSE_STATUS.review_pending]: "Payment Request - Review & Validation",
[EXPENSE_STATUS.approve_pending]: "Payment Request - Approval",
[EXPENSE_STATUS.payment_pending]: "Payment Request - Processing & Disbursement",
+ [EXPENSE_STATUS.payment_processed]: "Payment Request - Bills & Tax Invoices Upload",
+ [EXPENSE_STATUS.payment_done]: "Payment Request - Reconciliation & Confirmation",
};
return (
diff --git a/src/utils/constants.jsx b/src/utils/constants.jsx
index e27bc393..434a833b 100644
--- a/src/utils/constants.jsx
+++ b/src/utils/constants.jsx
@@ -163,7 +163,8 @@ export const EXPENSE_STATUS = {
review_pending: "6537018f-f4e9-4cb3-a210-6c3b2da999d7",
payment_pending: "f18c5cfd-7815-4341-8da2-2c2d65778e27",
approve_pending: "4068007f-c92f-4f37-a907-bc15fe57d4d8",
- payment_processed:"61578360-3a49-4c34-8604-7b35a3787b95",
+ payment_processed: "61578360-3a49-4c34-8604-7b35a3787b95",
+ payment_done: "b8586f67-dc19-49c3-b4af-224149efe1d3",
}
export const UUID_REGEX =