diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index e7504f58e8e72..89c28bd650f21 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -4477,7 +4477,7 @@ function getTransactionDetails( const report = getReportOrDraftReport(transaction?.reportID, undefined, 'report' in transaction ? transaction.report : undefined); const isManualDistanceRequest = isManualDistanceRequestTransactionUtils(transaction); - const isFromExpenseReport = !isEmptyObject(report) && isExpenseReport(report); + const isFromExpenseReport = (!isEmptyObject(report) && isExpenseReport(report)) || isPaidGroupPolicyPolicyUtils(policy); return { created: getFormattedCreated(transaction, createdDateFormat, locale), diff --git a/src/pages/iou/SplitExpensePage.tsx b/src/pages/iou/SplitExpensePage.tsx index 148299fd81f19..2c7f9ae5cda6d 100644 --- a/src/pages/iou/SplitExpensePage.tsx +++ b/src/pages/iou/SplitExpensePage.tsx @@ -47,8 +47,8 @@ import OnyxTabNavigator, {TabScreenWithFocusTrapWrapper, TopTab} from '@libs/Nav import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SplitExpenseParamList} from '@libs/Navigation/types'; import {isSplitAction} from '@libs/ReportSecondaryActionUtils'; -import type {TransactionDetails} from '@libs/ReportUtils'; import {getReportOrDraftReport, getTransactionDetails, isReportApproved, isSettled as isSettledReportUtils} from '@libs/ReportUtils'; +import type {TransactionDetails} from '@libs/ReportUtils'; import type {TranslationPathOrText} from '@libs/TransactionPreviewUtils'; import {getChildTransactions, isManagedCardTransaction, isPerDiemRequest} from '@libs/TransactionUtils'; import CONST from '@src/CONST'; @@ -102,7 +102,7 @@ function SplitExpensePage({route}: SplitExpensePageProps) { const isSplitAvailable = report && transaction && isSplitAction(currentReport, [transaction], originalTransaction, currentUserPersonalDetails.login ?? '', currentPolicy); - const transactionDetails: Partial = getTransactionDetails(transaction) ?? {}; + const transactionDetails: Partial = getTransactionDetails(transaction, undefined, currentPolicy) ?? {}; const transactionDetailsAmount = transactionDetails?.amount ?? 0; const sumOfSplitExpenses = (draftTransaction?.comment?.splitExpenses ?? []).reduce((acc, item) => acc + (item.amount ?? 0), 0); const splitExpenses = draftTransaction?.comment?.splitExpenses ?? []; diff --git a/tests/actions/IOUTest.ts b/tests/actions/IOUTest.ts index 01b1bbd6ba1fc..3148215b7b7ec 100644 --- a/tests/actions/IOUTest.ts +++ b/tests/actions/IOUTest.ts @@ -1027,7 +1027,7 @@ describe('actions/IOU', () => { const draftTransaction = transactionDrafts?.[`${ONYXKEYS.COLLECTION.TRANSACTION_DRAFT}${originalTransaction.transactionID}`]; expect(draftTransaction).toBeTruthy(); - expect(draftTransaction?.amount).toBe(originalTransaction.amount); + expect(draftTransaction?.amount).toBe(-originalTransaction.amount); expect(draftTransaction?.currency).toBe(originalTransaction.currency); expect(draftTransaction?.actionableWhisperReportActionID).toBe(reportActionID); expect(draftTransaction?.linkedTrackedExpenseReportID).toBe(selfDMReport.reportID); @@ -8349,7 +8349,7 @@ describe('actions/IOU', () => { it('should initialize split expense with correct transaction details', async () => { const transaction: Transaction = { transactionID: '123', - amount: 100, + amount: -100, currency: 'USD', merchant: 'Test Merchant', comment: { @@ -8433,7 +8433,7 @@ describe('actions/IOU', () => { it('should initialize split expense with correct VND currency amounts', async () => { const transaction: Transaction = { transactionID: '123', - amount: 1700, + amount: -1700, currency: 'VND', merchant: 'Test Merchant', comment: {