From d8fda43cc373b4db0274e75556237ba43a00c008 Mon Sep 17 00:00:00 2001 From: Shubham Agrawal Date: Fri, 24 Jan 2025 15:22:08 +0530 Subject: [PATCH 1/2] Fix: tax fields being shown in money request view --- src/components/MoneyRequestConfirmationList.tsx | 2 +- src/components/ReportActionItem/MoneyRequestView.tsx | 2 +- src/libs/PolicyUtils.ts | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/MoneyRequestConfirmationList.tsx b/src/components/MoneyRequestConfirmationList.tsx index af312151da2e..79ae9f0b990f 100755 --- a/src/components/MoneyRequestConfirmationList.tsx +++ b/src/components/MoneyRequestConfirmationList.tsx @@ -264,7 +264,7 @@ function MoneyRequestConfirmationList({ const policyTagLists = useMemo(() => getTagLists(policyTags), [policyTags]); - const shouldShowTax = isTaxTrackingEnabled(isPolicyExpenseChat, policy, isDistanceRequest) && !isPerDiemRequest; + const shouldShowTax = isTaxTrackingEnabled(isPolicyExpenseChat, policy, isDistanceRequest, isPerDiemRequest); const previousTransactionAmount = usePrevious(transaction?.amount); const previousTransactionCurrency = usePrevious(transaction?.currency); diff --git a/src/components/ReportActionItem/MoneyRequestView.tsx b/src/components/ReportActionItem/MoneyRequestView.tsx index 10c72dbd8841..43a6852e846b 100644 --- a/src/components/ReportActionItem/MoneyRequestView.tsx +++ b/src/components/ReportActionItem/MoneyRequestView.tsx @@ -213,7 +213,7 @@ function MoneyRequestView({report, shouldShowAnimatedBackground, readonly = fals const shouldShowBillable = isPolicyExpenseChat && (!!transactionBillable || !(policy?.disabledFields?.defaultBillable ?? true) || !!updatedTransaction?.billable); const shouldShowAttendees = useMemo(() => shouldShowAttendeesTransactionUtils(iouType, policy), [iouType, policy]); - const shouldShowTax = isTaxTrackingEnabled(isPolicyExpenseChat, policy, isDistanceRequest); + const shouldShowTax = isTaxTrackingEnabled(isPolicyExpenseChat, policy, isDistanceRequest, isPerDiemRequest); const tripID = getTripIDFromTransactionParentReportID(parentReport?.parentReportID); const shouldShowViewTripDetails = hasReservationList(transaction) && !!tripID; diff --git a/src/libs/PolicyUtils.ts b/src/libs/PolicyUtils.ts index 9e5e03acd1b0..530de610b61d 100644 --- a/src/libs/PolicyUtils.ts +++ b/src/libs/PolicyUtils.ts @@ -417,7 +417,10 @@ function isCollectPolicy(policy: OnyxEntry): boolean { return policy?.type === CONST.POLICY.TYPE.TEAM; } -function isTaxTrackingEnabled(isPolicyExpenseChat: boolean, policy: OnyxEntry, isDistanceRequest: boolean): boolean { +function isTaxTrackingEnabled(isPolicyExpenseChat: boolean, policy: OnyxEntry, isDistanceRequest: boolean, isPerDiemRequest = false): boolean { + if (isPerDiemRequest) { + return false; + } const distanceUnit = getDistanceRateCustomUnit(policy); const customUnitID = distanceUnit?.customUnitID ?? CONST.DEFAULT_NUMBER_ID; const isPolicyTaxTrackingEnabled = isPolicyExpenseChat && policy?.tax?.trackingEnabled; From f82951ef8260e7d1373ff903c8e8b4a60d8dc78c Mon Sep 17 00:00:00 2001 From: Shubham Agrawal Date: Fri, 24 Jan 2025 15:29:51 +0530 Subject: [PATCH 2/2] Fix: wrong optimistic amount --- src/libs/actions/IOU.ts | 2 +- src/pages/iou/request/step/IOURequestStepSubrate.tsx | 1 + src/types/onyx/Transaction.ts | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libs/actions/IOU.ts b/src/libs/actions/IOU.ts index 1602e447fe89..7b6f69d9452a 100644 --- a/src/libs/actions/IOU.ts +++ b/src/libs/actions/IOU.ts @@ -2743,7 +2743,7 @@ function getMoneyRequestInformation(moneyRequestInformation: MoneyRequestInforma function computePerDiemExpenseAmount(customUnit: TransactionCustomUnit) { const subRates = customUnit.subRates ?? []; - return subRates.reduce((total, subRate) => total + (subRate.rate ?? 0), 0); + return subRates.reduce((total, subRate) => total + subRate.quantity * subRate.rate, 0); } function computePerDiemExpenseMerchant(customUnit: TransactionCustomUnit, policy: OnyxEntry) { diff --git a/src/pages/iou/request/step/IOURequestStepSubrate.tsx b/src/pages/iou/request/step/IOURequestStepSubrate.tsx index 297383468794..43801d8ec642 100644 --- a/src/pages/iou/request/step/IOURequestStepSubrate.tsx +++ b/src/pages/iou/request/step/IOURequestStepSubrate.tsx @@ -47,6 +47,7 @@ type CommentSubrate = { id: string; quantity: number; name: string; + rate: number; }; function getSubrateOptions(subRates: Subrate[], filledSubRates: CommentSubrate[], currentSubrateID?: string) { diff --git a/src/types/onyx/Transaction.ts b/src/types/onyx/Transaction.ts index 968b9a4dea4b..afb9538ff3ec 100644 --- a/src/types/onyx/Transaction.ts +++ b/src/types/onyx/Transaction.ts @@ -132,7 +132,7 @@ type TransactionCustomUnit = { name: string; /** Custom unit rate */ - rate?: number; + rate: number; }>; };