Implement easier change of bank account#94019
Conversation
…llstack-internal/Expensify-App into feat/79607-easier-change-of-bank-account
…07-easier-change-of-bank-account
…k-internal/Expensify-App into feat/79607-easier-change-of-bank-account
…07-easier-change-of-bank-account
…07-easier-change-of-bank-account
…07-easier-change-of-bank-account
…07-easier-change-of-bank-account
…07-easier-change-of-bank-account
…07-easier-change-of-bank-account
# Conflicts: # src/pages/workspace/ConnectExistingBusinessBankAccountPage.tsx
|
Hey, I noticed you changed If you want to automatically generate translations for other locales, an Expensify employee will have to:
Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running: npx ts-node ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
# Conflicts: # src/libs/actions/ReimbursementAccount/index.ts # src/pages/ReimbursementAccount/ConnectedVerifiedBankAccount.tsx # src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx # src/pages/workspace/ConnectExistingBusinessBankAccountPage.tsx
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
This comment has been minimized.
This comment has been minimized.
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safari |
|
🚧 joekaufmanexpensify has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
BUG: flicker when adding new bank accountSteps
Expected behaviorPage doesn't flicker. When you go back, you land on the "you're all set" page. Actual behaviorPage flickers. Back button doesn't initially work. Second time closes RHP. 2026-07-14_13-03-47.mp4 |
|
Otherwise working very well! |
|
@MelvinBot |
|
@codex |
ReviewOverall this is a well-structured feature — the shared logic is cleanly extracted into My concerns are concentrated in one place: Main concerns
Minor / nits
None of the above are blockers on their own — the feature logic looks sound. The ask is mainly (a) harden the string-equality guard, (b) a short comment reconciling the two "is changing" flags, and (c) ideally one integration test over the page's transitions given the concentrated race risk. 🤖 Generated by MelvinBot — I reviewed the diff and verified specifics against the codebase, but I did not run the app. Treat as a second opinion, not a substitute for manual QA of the flows above. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0a127d7fac
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
Checking all of the feedback, maybe I'll try to simplify the logic! Also, I haven't solved the second reported issue yet |
# Conflicts: # src/libs/actions/ReimbursementAccount/navigation.ts # src/pages/workspace/ConnectExistingBusinessBankAccountPage.tsx
|
UPD: still trying to correct the second issue. Monosnap.screencast.2026-07-15.18-07-41.mp4I'm figuring out what goes wrong |

Explanation of Change
Workspace admins can now switch their reimbursement bank account directly from the connected/verified bank account screen, without disconnecting the current account first.
A new "Change bank account" option is added to the connected verified bank account screen. When pressed:
Fixed Issues
$ #79607
PROPOSAL: N/A
Tests
Setup: a workspace (USD) where you're an admin, and at least one business bank account already connected to your account.
1.Workflows → Payments -> Add bank account.
2. Select the account that is already set up.
Change BA → Add BA (new account) → links to workspace
Log into your bank account, proceed with the Plaid BA setup flow.Change BA → pick an existing account → links to workspace
Add partially set up bank account (add bank account, but don't provide personal info).
Change BA → pick an partially setup account
Offline tests
Same, as in Tests section
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
Same, as in Tests section
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)Avatar, 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.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_pt1.mp4
android_pt2.mp4
Android: mWeb Chrome
android_web_pt1.mp4
android_web_pt2.mp4
iOS: Native
ios_pt1.mov
ios_pt2.mov
iOS: mWeb Safari
ios_web_pt1.mov
ios_web_pt2.mov
MacOS: Chrome / Safari
web_pt1.mp4
web_pt2.mp4