You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[$175] Display nightly average cost and number of nights on multi-day expenses #102558
We recently shipped per-night/per-day evaluation of category and workspace amount limits: when SmartScan detects reservationStartDate and reservationEndDate on a receipt, the "Individual expense" limit is checked against the per-night average instead of the full expense total. That work is tracked in https://github.com/Expensify/Expensify/issues/632262.
Problem
Nothing in the expense UI tells the user that the limit was evaluated on a per-night average, or what that average was. An employee or approver looking at a $2,800 hotel expense with a $500 category limit sees no violation and no explanation of why.
Solution
Display the nightly average cost and the number of nights on the expense for multi-day expenses, similar to how we already show the per-attendee amount.
The new info will be shown as a hint under the Category row
The format will be x nights • y per night (example: 3 nights • $232.42 per night)
It uses the same reservation dates as the per-night category limit check. Single-night stays and expenses without reservation dates show nothing.
It follows the approved proposal. Before opening it, I rebuilt the branch on the latest main and checked everything again:
The hint uses the same getReservationNights helper as the per-night limit check on current main, so the two always agree on the night count.
The only change from the testing branch is the Japanese text. It now says 1泊あたり, which matches the wording the app already uses.
typecheck, ESLint, the formatter, cspell, and the React Compiler check all pass.
MoneyRequestViewTest.tsx passes all 35 tests, including the 2 new ones.
I couldn't test it in a browser. The web test session loaded a blank page, and the browser tester can't inject reservation dates. The PR description has the console steps for a manual check.
Activity
melvin-bot commentedon Sep 29, 2026
Triggered auto assignment to Design team member for new feature review - @dannymcclain (
NewFeature)shawnborton commentedon Oct 1, 2026
Is this ready for implementation? If so, can you add the labels to get it moving? Thanks!
flaviadefaria commentedon Oct 5, 2026
@sakluger, should we add the
Externallabel?sakluger commentedon Oct 5, 2026
Yep, let's do it.
11 remaining items
sakluger commentedon Oct 8, 2026
Moving the star to Flavia to manage the issue while I'm gone 👍
flaviadefaria commentedon Oct 9, 2026
@thelullabyy what are your thoughts on Melvin's proposal?
melvin-bot commentedon Oct 12, 2026
@flaviadefaria Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!
flaviadefaria commentedon Oct 13, 2026
@thelullabyy friendly bump here. This feature is already live, so we want to be quick to release this polish. Thanks!
melvin-bot commentedon Oct 16, 2026
@thelullabyy Whoops! This issue is 2 days overdue. Let's get this updated quick!
thelullabyy commentedon Oct 18, 2026
Sorry for delay, I will finish it today @flaviadefaria
thelullabyy commentedon Oct 18, 2026
@MelvinBot Please go ahead with your proposal, remember to double check everything again before opening a PR
MelvinBot commentedon Oct 18, 2026
🤖 Draft PR created: Show nights and nightly rate under Category for multi-night reservation expenses
Please mark it as "Ready for review" or ask me to do that for you when it is ready for review.
It follows the approved proposal. Before opening it, I rebuilt the branch on the latest
mainand checked everything again:getReservationNightshelper as the per-night limit check on currentmain, so the two always agree on the night count.1泊あたり, which matches the wording the app already uses.typecheck, ESLint, the formatter, cspell, and the React Compiler check all pass.MoneyRequestViewTest.tsxpasses all 35 tests, including the 2 new ones.I couldn't test it in a browser. The web test session loaded a blank page, and the browser tester can't inject reservation dates. The PR description has the console steps for a manual check.
view run · no recording available
melvin-bot commentedon Oct 21, 2026
@thelullabyy Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!