Repository navigation
Collect legal name and address before creating a wallet deposit account. - #102944
marcochavezf merged 4 commits into
Conversation
Enable Wallet was creating the Plaid account before owner details existed, and KYC asked for the same name and address again.
…bank-account-address
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
@codex review |
trjExpensify
left a comment
There was a problem hiding this comment.
LGTM. CC: @nkuoch @coleaeason for vis
|
@MelvinBot review this |
Code reviewThe approach makes sense. I found three problems to fix before merge. 1. Skipping the address page bypasses the wallet's address validation.
Fix: run the same street ( 2. 3. A two-line street is written into a single-line field. Minor
|
A live skip list was jumping past pages the user had just completed, and a non-empty profile address could skip the PO box and ZIP checks.
|
Tag me when it's ready |
|
@huult Ready for another look. The follow up commit covers the melvin review comment: skipped addresses now require a physical street and a valid US ZIP, skipPages stays fixed after load so Back remains on the page just filled, the wallet draft stores a single-line street, and the name and address rows are hidden when the account was already added. |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppScreen.Recording.2026-10-06.at.14.30.24.movAndroid: mWeb ChromeScreen.Recording.2026-10-06.at.14.34.21.moviOS: HybridAppScreen.Recording.2026-10-06.at.14.47.55.moviOS: mWeb SafariScreen.Recording.2026-10-06.at.14.50.37.movMacOS: Chrome / SafariScreen.Recording.2026-10-06.at.14.25.41.mov |
A PO box or non-US profile address was being copied into the KYC draft even though that address is not complete enough to skip.
|
@huult Thanks for the review and suggestion! I've updated the changes in the latest commit |
Screen.Recording.2026-10-06.at.14.53.59.mov
@nkuoch @coleaeason, could you review the video included after the changes, or trigger an adhoc build to review the changes? |
|
@nkuoch @coleaeason, #102944 (comment) what do you think? |
Maybe they’re both busy and haven’t had a chance to review it, so we can let them review it after the deploy. |
|
🚧 marcochavezf 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/marcochavezf in version: 9.5.6-0 🚀
|
|
No help site update needed. This PR stops Enable Wallet from asking for your legal name and address twice. Set Up Your Wallet still correctly lists the details you enter during setup, and the standalone Add bank account flow in Connect a Personal Bank Account is unchanged. |
|
🚀 Deployed to production by https://github.com/puneetlath in version: 9.5.6-6 🚀
Bundle Size Analysis (Sentry): |
Explanation of Change
Enable Wallet was creating the Plaid deposit account before a legal name and address existed, then KYC asked for the same details again.
This change collects legal name and a US address in the Enable Wallet > Add bank account flow, after Plaid and before confirmation, and sends them with
AddPersonalBankAccount. The address step is the wallet US address form (state picker and ZIP, no country picker). A complete US name and address already on the wallet draft, saved wallet details, or private profile is skipped. Those values are written into the wallet draft on submit, so the later KYC personal-info step does not ask for them again, including when date of birth is still missing. Phone stays on KYC. The standalone Add bank account flow and Corpay are unchanged.Fixed Issues
$ #100075
PROPOSAL: #100075 (comment)
Tests
AddPersonalBankAccountrequest includes the legal name and address.Offline tests
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
Same as tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, 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
Screen.Recording.2026-10-05.at.2.16.27.PM.online-video-cutter.com.mp4
Android: mWeb Chrome
Record_2026-10-05-16-05-28.online-video-cutter.com.mp4
iOS: Native
Screen.Recording.2026-10-05.at.1.53.20.PM.online-video-cutter.com.mp4
iOS: mWeb Safari
Screen.Recording.2026-10-05.at.1.59.46.PM.online-video-cutter.com.mp4
MacOS: Chrome / Safari
Screen.Recording.2026-10-05.at.1.37.33.PM.online-video-cutter.com.mp4