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
Split - Split amounts do not auto redistribute after removing split #81251
Version Number: 9.3.11-23 Reproducible in staging?: Yes Reproducible in production?: N/A - new feature, doesn't exist in prod If this was caught during regression testing, add the test name, ID and link from BrowserStack:#79273 Email or phone of affected tester (no customers):sdoijsdoijdsojsioj@gmail.com Issue reported by: Applause Internal Team Bug source: Exploratory - Significant User Experience Deterioration Device used: Mac 26.1 / Chrome App Component: Money Requests
Action Performed:
Go to staging.new.expensify.com
Go to workspace chat.
Create an expense.
Open the expense report.
Click More > Split.
Click Add split.
Click Add split.
Open any split.
Click Remove split.
Expected Result:
Split amounts will auto redistribute to match the total amount after removing split.
Actual Result:
Split amounts do not auto redistribute after removing split.
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
Identify the pull request that introduced this issue and revert it.
Classification: Frontend bug Causing PR: #79273 - "feat: update amounts/percentages split logic to match OD" by @ikevin127 (High confidence) Related Issues: None
Recommendation: REVERT
PR #79273 introduced auto-redistribution logic for split expenses but only partially implemented it. The removeSplitExpenseField function was not updated with the redistribution logic, causing split amounts to not auto-redistribute when a split is removed.
Labels: Removed DeployBlocker (this is a frontend bug requiring an App PR fix, not a backend fix)
📋 Detailed Analysis
Evidence
PR #79273 added auto-redistribution logic to split expenses so that when users add or edit splits, the unedited splits automatically adjust to sum to 100% of the total amount. However, the implementation is incomplete.
The PR updated:
✅ addSplitExpenseField - redistributes amounts when adding a new split
✅ updateSplitExpenseAmountField - redistributes amounts when editing a split
❌ removeSplitExpenseField - NOT updated with redistribution logic
Verification
Affected file: src/libs/actions/IOU/index.ts
Current removeSplitExpenseField function (lines 13056-13072):
This function simply filters out the removed split but does NOT redistribute the amounts among the remaining unedited splits.
Expected behavior (from PR description):
When a split is removed, the remaining unedited splits should auto-redistribute to match the total amount.
Actual behavior (from bug report):
Split amounts do not auto-redistribute after removing a split.
Root Cause
The removeSplitExpenseField function lacks the redistribution logic that calculates:
Sum of manually edited splits
Remaining amount after subtracting edited splits
Redistribution of remaining amount among unedited splits
This same logic exists in addSplitExpenseField (lines 13516-13532 in the PR diff) and updateSplitExpenseAmountField (lines 13708-13742 in the PR diff), but was not added to removeSplitExpenseField.
🟢 Not a deploy blocker - also wasn't part of the issue's scope, so this would have to be checked in OldDot: if the same thing happens on OD - this can be closed as NAB since the goal was to align auto-split-calculation functionality with OD.
Activity
melvin-bot commentedon Feb 3, 2026
You have been assigned to this deploy blocker because you recently merged this PR: #79273
melvin-bot commentedon Feb 3, 2026
💬 A slack conversation has been started in #expensify-open-source
melvin-bot commentedon Feb 3, 2026
Triggered auto assignment to @heyjennahay (
Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.github-actions commentedon Feb 3, 2026
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
OSBotify commentedon Feb 3, 2026
🔍 Investigation Summary
Classification: Frontend bug
Causing PR: #79273 - "feat: update amounts/percentages split logic to match OD" by @ikevin127 (High confidence)
Related Issues: None
Recommendation: REVERT
PR #79273 introduced auto-redistribution logic for split expenses but only partially implemented it. The
removeSplitExpenseFieldfunction was not updated with the redistribution logic, causing split amounts to not auto-redistribute when a split is removed.Labels: Removed
DeployBlocker(this is a frontend bug requiring an App PR fix, not a backend fix)📋 Detailed Analysis
Evidence
PR #79273 added auto-redistribution logic to split expenses so that when users add or edit splits, the unedited splits automatically adjust to sum to 100% of the total amount. However, the implementation is incomplete.
The PR updated:
addSplitExpenseField- redistributes amounts when adding a new splitupdateSplitExpenseAmountField- redistributes amounts when editing a splitremoveSplitExpenseField- NOT updated with redistribution logicVerification
Affected file:
src/libs/actions/IOU/index.tsCurrent
removeSplitExpenseFieldfunction (lines 13056-13072):This function simply filters out the removed split but does NOT redistribute the amounts among the remaining unedited splits.
Expected behavior (from PR description):
When a split is removed, the remaining unedited splits should auto-redistribute to match the total amount.
Actual behavior (from bug report):
Split amounts do not auto-redistribute after removing a split.
Root Cause
The
removeSplitExpenseFieldfunction lacks the redistribution logic that calculates:This same logic exists in
addSplitExpenseField(lines 13516-13532 in the PR diff) andupdateSplitExpenseAmountField(lines 13708-13742 in the PR diff), but was not added toremoveSplitExpenseField.ikevin127 commentedon Feb 3, 2026
🟢 Not a deploy blocker - also wasn't part of the issue's scope, so this would have to be checked in OldDot: if the same thing happens on OD - this can be closed as NAB since the goal was to align auto-split-calculation functionality with OD.
blimpich commentedon Feb 3, 2026
Same thing does not happen on OldDot
Screen.Recording.2026-02-03.at.10.07.39.AM.mov
blimpich commentedon Feb 3, 2026
Reverted and requested retest here: https://expensify.slack.com/archives/C09V78U42D8/p1770149612071979
m-natarajan commentedon Feb 3, 2026
The expense is divided once, after which the amounts do not appear, even before deleting the slip. Windows 10 / Chrome
v9.3.11-38
repro.-.issue.81251.mp4
blimpich commentedon Feb 3, 2026
^ This is the same behavior on prod, not a deploy blocker