diff --git a/src/libs/ModifiedExpenseMessage.ts b/src/libs/ModifiedExpenseMessage.ts index fd736e9aedf40..cd365d677ce9c 100644 --- a/src/libs/ModifiedExpenseMessage.ts +++ b/src/libs/ModifiedExpenseMessage.ts @@ -307,11 +307,7 @@ function getForReportAction({ const isReportActionOriginalMessageAnObject = reportActionOriginalMessage && typeof reportActionOriginalMessage === 'object'; const hasModifiedAmount = - isReportActionOriginalMessageAnObject && - 'oldAmount' in reportActionOriginalMessage && - 'oldCurrency' in reportActionOriginalMessage && - 'amount' in reportActionOriginalMessage && - 'currency' in reportActionOriginalMessage; + isReportActionOriginalMessageAnObject && 'oldCurrency' in reportActionOriginalMessage && 'amount' in reportActionOriginalMessage && 'currency' in reportActionOriginalMessage; const hasModifiedMerchant = isReportActionOriginalMessageAnObject && 'oldMerchant' in reportActionOriginalMessage && 'merchant' in reportActionOriginalMessage; @@ -330,7 +326,16 @@ function getForReportAction({ return getForDistanceRequest(translateLocal, reportActionOriginalMessage?.merchant ?? '', reportActionOriginalMessage?.oldMerchant ?? '', amount, oldAmount); } // eslint-disable-next-line @typescript-eslint/no-deprecated - buildMessageFragmentForValue(translateLocal, amount, oldAmount, translateLocal('iou.amount'), false, setFragments, removalFragments, changeFragments); + buildMessageFragmentForValue( + translateLocal, + amount, + reportActionOriginalMessage?.oldAmount !== undefined ? oldAmount : '', + translateLocal('iou.amount'), + false, + setFragments, + removalFragments, + changeFragments, + ); } const hasModifiedComment = isReportActionOriginalMessageAnObject && 'oldComment' in reportActionOriginalMessage && 'newComment' in reportActionOriginalMessage; diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index ed513b787bd01..5c11b4f9bb4f5 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -5476,7 +5476,9 @@ function getModifiedExpenseOriginalMessage( // to match how we handle the modified expense action in oldDot const didAmountOrCurrencyChange = 'amount' in transactionChanges || 'currency' in transactionChanges; if (didAmountOrCurrencyChange) { - originalMessage.oldAmount = getTransactionAmount(oldTransaction, isFromExpenseReport, false, allowNegative); + if (!(isReceiptBeingScanned(oldTransaction) && !getTransactionDetails(oldTransaction)?.amount)) { + originalMessage.oldAmount = getTransactionAmount(oldTransaction, isFromExpenseReport, false, allowNegative); + } originalMessage.amount = transactionChanges?.amount ?? transactionChanges.oldAmount; originalMessage.oldCurrency = getCurrency(oldTransaction); originalMessage.currency = transactionChanges?.currency ?? transactionChanges.oldCurrency;