diff --git a/src/components/ReportActionItem/MoneyReportView.tsx b/src/components/ReportActionItem/MoneyReportView.tsx index de20575aeef4..d1dcdb2f57f5 100644 --- a/src/components/ReportActionItem/MoneyReportView.tsx +++ b/src/components/ReportActionItem/MoneyReportView.tsx @@ -79,8 +79,10 @@ function MoneyReportView({report, policy, isCombinedReport = false, shouldShowTo const enabledReportFields = sortedPolicyReportFields.filter((reportField) => !ReportUtils.isReportFieldDisabled(report, reportField, policy)); const isOnlyTitleFieldEnabled = enabledReportFields.length === 1 && ReportUtils.isReportFieldOfTypeTitle(enabledReportFields.at(0)); - const shouldShowReportField = - !ReportUtils.isClosedExpenseReportWithNoExpenses(report) && ReportUtils.isPaidGroupPolicyExpenseReport(report) && (!isCombinedReport || !isOnlyTitleFieldEnabled); + const isClosedExpenseReportWithNoExpenses = ReportUtils.isClosedExpenseReportWithNoExpenses(report); + const isPaidGroupPolicyExpenseReport = ReportUtils.isPaidGroupPolicyExpenseReport(report); + const isInvoiceReport = ReportUtils.isInvoiceReport(report); + const shouldShowReportField = !isClosedExpenseReportWithNoExpenses && (isPaidGroupPolicyExpenseReport || isInvoiceReport) && (!isCombinedReport || !isOnlyTitleFieldEnabled); const renderThreadDivider = useMemo( () => @@ -102,9 +104,9 @@ function MoneyReportView({report, policy, isCombinedReport = false, shouldShowTo <> - {!ReportUtils.isClosedExpenseReportWithNoExpenses(report) && ( + {!isClosedExpenseReportWithNoExpenses && ( <> - {ReportUtils.isPaidGroupPolicyExpenseReport(report) && + {(isPaidGroupPolicyExpenseReport || isInvoiceReport) && policy?.areReportFieldsEnabled && (!isCombinedReport || !isOnlyTitleFieldEnabled) && sortedPolicyReportFields.map((reportField) => { diff --git a/src/components/SelectionList/Search/ReportListItem.tsx b/src/components/SelectionList/Search/ReportListItem.tsx index 11ddf8fa8d0e..73d0ec8f8c10 100644 --- a/src/components/SelectionList/Search/ReportListItem.tsx +++ b/src/components/SelectionList/Search/ReportListItem.tsx @@ -41,7 +41,7 @@ function TotalCell({showTooltip, isLargeScreenWidth, reportItem}: ReportCellProp // Only invert non-zero values otherwise we'll end up with -0.00 if (total) { - total *= reportItem?.type === CONST.REPORT.TYPE.EXPENSE ? -1 : 1; + total *= reportItem?.type === CONST.REPORT.TYPE.EXPENSE || reportItem?.type === CONST.REPORT.TYPE.INVOICE ? -1 : 1; } return ( diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index a304ee800131..1a829f17e283 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -4050,6 +4050,10 @@ function getReportName( } if (isInvoiceReport(report)) { + if (!isInvoiceRoom(getReport(report?.chatReportID ?? ''))) { + return report?.reportName ?? getMoneyRequestReportName(report, policy, invoiceReceiverPolicy); + } + formattedName = getMoneyRequestReportName(report, policy, invoiceReceiverPolicy); } diff --git a/src/pages/EditReportFieldPage.tsx b/src/pages/EditReportFieldPage.tsx index 6b25681fa8e8..1a082310ff53 100644 --- a/src/pages/EditReportFieldPage.tsx +++ b/src/pages/EditReportFieldPage.tsx @@ -40,7 +40,7 @@ function EditReportFieldPage({route}: EditReportFieldPageProps) { const [isDeleteModalVisible, setIsDeleteModalVisible] = useState(false); const {translate} = useLocalize(); const isReportFieldTitle = ReportUtils.isReportFieldOfTypeTitle(reportField); - const reportFieldsEnabled = (ReportUtils.isPaidGroupPolicyExpenseReport(report) && !!policy?.areReportFieldsEnabled) || isReportFieldTitle; + const reportFieldsEnabled = ((ReportUtils.isPaidGroupPolicyExpenseReport(report) || ReportUtils.isInvoiceReport(report)) && !!policy?.areReportFieldsEnabled) || isReportFieldTitle; if (!reportFieldsEnabled || !reportField || !policyField || !report || isDisabled) { return ( diff --git a/src/pages/home/report/ReportActionItemSingle.tsx b/src/pages/home/report/ReportActionItemSingle.tsx index 60e271cdf6d4..7c42991d2852 100644 --- a/src/pages/home/report/ReportActionItemSingle.tsx +++ b/src/pages/home/report/ReportActionItemSingle.tsx @@ -148,6 +148,17 @@ function ReportActionItemSingle({ const reportIcons = ReportUtils.getIcons(report, {}); secondaryAvatar = reportIcons.at(avatarIconIndex) ?? {name: '', source: '', type: CONST.ICON_TYPE_AVATAR}; + } else if (ReportUtils.isInvoiceReport(iouReport)) { + const secondaryAccountId = iouReport?.managerID ?? -1; + const secondaryUserAvatar = personalDetails?.[secondaryAccountId ?? -1]?.avatar ?? FallbackAvatar; + const secondaryDisplayName = ReportUtils.getDisplayNameForParticipant(secondaryAccountId); + + secondaryAvatar = { + source: secondaryUserAvatar, + type: CONST.ICON_TYPE_AVATAR, + name: secondaryDisplayName, + id: secondaryAccountId, + }; } else { secondaryAvatar = {name: '', source: '', type: 'avatar'}; }