Skip to content

Commit f796743

Browse files
BeamanatorOSBotify
authored andcommitted
Merge pull request #80212 from callstack-internal/fix/80176-tax-rate-recalculated
[CP Staging] fix: do not recalculate tax rate, fix tracked distance (cherry picked from commit 2baee93) (cherry-picked to staging by Beamanator)
1 parent 4995cc3 commit f796743

2 files changed

Lines changed: 11 additions & 5 deletions

File tree

src/components/MoneyRequestConfirmationList.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -538,14 +538,18 @@ function MoneyRequestConfirmationList({
538538
const taxPercentage =
539539
getTaxValue(policy, transaction, transaction?.taxCode ?? defaultTaxCode) ??
540540
(isMovingTransactionFromTrackExpense ? getTaxValue(policyForMovingExpenses, transaction, transaction?.taxCode ?? defaultTaxCode) : '');
541-
const taxAmount = calculateTaxAmount(taxPercentage, taxableAmount, transaction?.currency ?? CONST.CURRENCY.USD);
541+
const taxAmount =
542+
isMovingTransactionFromTrackExpense && transaction?.taxAmount
543+
? Math.abs(transaction?.taxAmount ?? 0)
544+
: calculateTaxAmount(taxPercentage, taxableAmount, transaction?.currency ?? CONST.CURRENCY.USD);
545+
542546
const taxAmountInSmallestCurrencyUnits = convertToBackendAmount(Number.parseFloat(taxAmount.toString()));
543547
useEffect(() => {
544-
if (!transactionID || isReadOnly || !shouldShowTax) {
548+
if (!transactionID || isReadOnly || !shouldShowTax || isMovingTransactionFromTrackExpense) {
545549
return;
546550
}
547551
setMoneyRequestTaxAmount(transactionID, taxAmountInSmallestCurrencyUnits);
548-
}, [transactionID, taxAmountInSmallestCurrencyUnits, isReadOnly, shouldShowTax]);
552+
}, [transactionID, taxAmountInSmallestCurrencyUnits, isReadOnly, shouldShowTax, isMovingTransactionFromTrackExpense]);
549553

550554
// If completing a split expense fails, set didConfirm to false to allow the user to edit the fields again
551555
if (isEditingSplitBill && didConfirm) {

src/libs/actions/IOU/index.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6669,7 +6669,9 @@ function trackExpense(params: CreateTrackExpenseParams) {
66696669
value: recentServerValidatedWaypoints,
66706670
});
66716671

6672-
if (isMapDistanceRequest(transaction) || isManualDistanceRequestTransactionUtils(transaction) || isOdometerDistanceRequestTransactionUtils(transaction)) {
6672+
const isDistanceRequest = isMapDistanceRequest(transaction) || isManualDistanceRequestTransactionUtils(transaction) || isOdometerDistanceRequestTransactionUtils(transaction);
6673+
6674+
if (isDistanceRequest) {
66736675
// @ts-expect-error - will be solved in https://github.com/Expensify/App/issues/73830
66746676
onyxData?.optimisticData?.push({
66756677
onyxMethod: Onyx.METHOD.SET,
@@ -6804,7 +6806,7 @@ function trackExpense(params: CreateTrackExpenseParams) {
68046806
reportPreviewReportActionID: reportPreviewAction?.reportActionID,
68056807
optimisticReportID,
68066808
optimisticReportActionID,
6807-
policyID: policy?.id,
6809+
policyID: isDistanceRequest ? undefined : policy?.id,
68086810
receipt: isFileUploadable(trackedReceipt) ? trackedReceipt : undefined,
68096811
receiptState: trackedReceipt?.state,
68106812
reimbursable,

0 commit comments

Comments
 (0)