[Payment due @hoangzinh] Remove tax, total and billable above amount in single expense report#92042
Conversation
|
@mjasikowski Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
At this point I don't think there is ever any case where we want the divider, right? So why not just delete it and all of the logic for it? |
|
I think we still need it since we may show Tax, Total and Billable rows above |
|
Can you show me what those cases look like? I would think all of those rows are below |
|
Can you show the full screenshot? Isn't tax a row in the list below? |
|
@shawnborton this one should be more informative |
heyjennahay
left a comment
There was a problem hiding this comment.
Product review not required
|
@heyjennahay I think there is a product component to this. In a one-expense report, are we good with removing the tax total at the "report level" and showing it in a |
|
Yep I think it's fine |
|
@shawnborton @heyjennahay @trjExpensify Does this looks good? |
|
@shawnborton Just removed tax total based on this #92042 (comment). Want me to eliminate this total too? |
# Conflicts: # Mobile-Expensify # android/app/build.gradle # android/app/src/main/java/com/expensify/chat/MainApplication.kt # index.js # ios/NewExpensify/Info.plist # ios/NotificationServiceExtension/Info.plist # ios/Podfile.lock # ios/ShareViewController/Info.plist # jest/setup.ts # modules/ExpensifyNitroUtils/nitrogen/generated/android/ExpensifyNitroUtilsOnLoad.cpp # modules/ExpensifyNitroUtils/nitrogen/generated/android/c++/JContact.hpp # modules/ExpensifyNitroUtils/nitrogen/generated/android/c++/JContactFields.hpp # modules/ExpensifyNitroUtils/nitrogen/generated/android/c++/JHybridAppStartTimeModuleSpec.hpp # modules/ExpensifyNitroUtils/nitrogen/generated/android/c++/JHybridContactsModuleSpec.hpp # modules/ExpensifyNitroUtils/nitrogen/generated/android/c++/JStringHolder.hpp # modules/ExpensifyNitroUtils/nitrogen/generated/android/kotlin/com/margelo/nitro/utils/Contact.kt # modules/ExpensifyNitroUtils/nitrogen/generated/android/kotlin/com/margelo/nitro/utils/StringHolder.kt # modules/ExpensifyNitroUtils/nitrogen/generated/ios/ExpensifyNitroUtils+autolinking.rb # package-lock.json # package.json # src/CONST/index.ts # src/components/Search/SearchList/ListItem/ChatListItem.tsx # src/components/Search/SearchSingleSelectionPicker.tsx # src/components/SpendRules/SpendRulesSection.tsx # src/components/Table/TableBody.tsx # src/components/Tables/WorkspaceCompanyCardsTable/WorkspaceCompanyCardsTableHeaderButtons.tsx # src/components/Tables/WorkspaceCompanyCardsTable/WorkspaceCompanyCardsTableRow.tsx # src/components/Tables/WorkspaceCompanyCardsTable/index.tsx # src/hooks/useExpenseActions.ts # src/languages/de.ts # src/languages/en.ts # src/languages/es.ts # src/languages/fr.ts # src/languages/it.ts # src/languages/ja.ts # src/languages/nl.ts # src/languages/pl.ts # src/languages/pt-BR.ts # src/languages/zh-hans.ts # src/libs/API/types.ts # src/libs/HttpUtils.ts # src/libs/Network/enhanceParameters.ts # src/libs/PolicyUtils.ts # src/libs/Reauthentication.ts # src/libs/Request.ts # src/libs/TransactionUtils/index.ts # src/libs/actions/Session/index.ts # src/libs/telemetry/trackAuthenticationError.ts # src/pages/iou/request/step/confirmation/SubmitExpenseOrchestrator.tsx # src/pages/iou/request/step/confirmation/useExpenseSubmission.ts # src/pages/settings/Wallet/ExpensifyCardPage/index.tsx # src/pages/workspace/AccessOrNotFoundWrapper.tsx # src/pages/workspace/WorkspaceInitialPage.tsx # src/pages/workspace/WorkspaceMembersPage.tsx # src/pages/workspace/WorkspaceMoreFeaturesPage/index.tsx # src/pages/workspace/WorkspaceOverviewPage.tsx # src/pages/workspace/WorkspacePageWithSections.tsx # src/pages/workspace/accounting/PolicyAccountingPage.tsx # src/pages/workspace/categories/WorkspaceCategoriesPage.tsx # src/pages/workspace/companyCards/WorkspaceCompanyCardDetailsPage.tsx # src/pages/workspace/companyCards/WorkspaceCompanyCardPageEmptyState.tsx # src/pages/workspace/companyCards/WorkspaceCompanyCardsPage.tsx # src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx # src/pages/workspace/expensifyCard/WorkspaceExpensifyCardBankAccounts.tsx # src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx # src/pages/workspace/expensifyCard/WorkspaceExpensifyCardFeedSelectorPage.tsx # src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx # src/pages/workspace/expensifyCard/WorkspaceExpensifyCardPage.tsx # src/pages/workspace/expensifyCard/WorkspaceExpensifyCardPageEmptyState.tsx # src/pages/workspace/hr/HRProviderCard.tsx # src/pages/workspace/hr/WorkspaceHRPage.tsx # src/pages/workspace/invoices/WorkspaceInvoiceVBASection.tsx # src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx # src/pages/workspace/invoices/WorkspaceInvoicingDetailsSection.tsx # src/pages/workspace/perDiem/WorkspacePerDiemPage.tsx # src/pages/workspace/receiptPartners/WorkspaceReceiptPartnersPage.tsx # src/pages/workspace/reports/WorkspaceReportsPage.tsx # src/pages/workspace/rules/ExpenseReportRulesSection.tsx # src/pages/workspace/rules/IndividualExpenseRulesSection.tsx # src/pages/workspace/rules/MerchantRulesSection.tsx # src/pages/workspace/rules/PolicyRulesPage.tsx # src/pages/workspace/tags/WorkspaceTagsPage.tsx # src/pages/workspace/tags/WorkspaceViewTagsPage.tsx # src/pages/workspace/taxes/WorkspaceTaxesPage.tsx # src/pages/workspace/timeTracking/WorkspaceTimeTrackingDefaultRateSection.tsx # src/pages/workspace/timeTracking/WorkspaceTimeTrackingPage.tsx # src/pages/workspace/travel/BookOrManageYourTrip.tsx # src/pages/workspace/travel/GetStartedTravel.tsx # src/pages/workspace/travel/PolicyTravelPage.tsx # src/pages/workspace/travel/WorkspaceTravelInvoicingSection.tsx # src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx # src/types/onyx/Session.ts # tests/ui/WorkspaceMoreFeaturesPageTest.tsx # tests/unit/APITest.ts # tests/unit/NetworkTest.tsx # tests/unit/PolicyUtilsTest.ts
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeScreen.Recording.2026-06-11.at.23.58.18.moviOS: HybridAppScreen.Recording.2026-06-12.at.01.01.17.moviOS: mWeb SafariScreen.Recording.2026-06-12.at.00.28.30.movMacOS: Chrome / SafariScreen.Recording.2026-06-11.at.23.53.30.mov |
|
@mukhrr can you resolve conflict please? |
done @hoangzinh |
|
@mukhrr can you check ESLint fails if it's caused by this PR? |
|
🎯 @hoangzinh, thanks for reviewing and testing this PR! 🎉 A payment issue will be created for your review once this PR is deployed to production. If payment is not needed (e.g., regression PR review fix etc), react with 👎 to this comment to prevent the payment issue from being created. |
|
@mukhrr can you link to the correct issue in the PR description please "Fixed Issues" |
|
Hmm, Melvin didn't assign internal engineer |
|
@rlinoz Melvin didn’t auto-assign an internal engineer. Could you please help us review this PR? |
|
@hoangzinh lol I'm here |
|
🚧 @mjasikowski has triggered a test Expensify/App build. You can view the workflow run here. |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/mjasikowski in version: 9.4.8-0 🚀
Bundle Size Analysis (Sentry): |
|
🤖 No help site changes required. I reviewed this PR against the help articles under What this PR changes: It's a display-only cleanup of the expense report view. For a single-expense report it hides the report-level rows (Total / Billable / Tax) that simply repeated the single expense's own amount, and instead surfaces the converted tax value directly on that expense's Tax amount field. It also gates the report-field block behind Why no docs update: The help site documents features, settings, and workflows (e.g., what billable/tax/report fields are and how to enable them), not the row-level layout of a report's summary view. Nothing in No draft PR was created since no help-site content needs updating. @mukhrr, please confirm you agree no help site changes are required here. If you believe a specific article should be updated, point me to it and I'll create the draft PR. |
|
🚀 Deployed to staging by https://github.com/mjasikowski in version: 9.4.8-0 🚀
Bundle Size Analysis (Sentry): |
|
🚀 Deployed to production by https://github.com/puneetlath in version: 9.4.8-3 🚀
|








Explanation of Change
Fixed Issues
$ #92951
PROPOSAL:
Tests
Verify there is nothing above Amount row in expense
Verify that no errors appear in the JS console
Offline tests
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
web.mp4