Show employee size sub-selection (1-4, 5-10) for VSB qualifier users#91748
Show employee size sub-selection (1-4, 5-10) for VSB qualifier users#91748MelvinBot wants to merge 22 commits into
Conversation
When users select the 1-9 employee bracket on the Web-Expensify landing page (VSB signup qualifier), instead of skipping the employee count step, route them to a filtered employees page showing only 1-4 and 5-10 options. Changes: - Stop auto-setting companySize to MICRO for VSB users - Route VSB users to EMPLOYEES page instead of ACCOUNTING - Filter company size options to only 1-4 and 5-10 for VSB - Add EMPLOYEES to VSB step counter sequence - Show back button on accounting page for VSB users - Hide back button on employees page for VSB users (first step) Co-authored-by: Neil Marcellini <neil-marcellini@users.noreply.github.com>
Co-authored-by: Neil Marcellini <neil-marcellini@users.noreply.github.com>
|
Fixed the failing checks. The tests in Both test files now pass locally (71 tests total). |
Co-authored-by: Neil Marcellini <neil-marcellini@users.noreply.github.com>
|
Fixed the failing ESLint check: removed the unused |
|
The two failing checks (ESLint + Jest) were already fixed in the latest commits:
ESLint is already passing on the latest run. Jest tests are still in progress and should pass with the updated expectations. |
Force VSB/SMB users back to the employees step when they resume without a valid company size, and surface an error on More Features instead of silently ignoring Continue. Co-authored-by: Cursor <cursoragent@cursor.com>
Private domain and workspaces flows still sent VSB users directly to accounting after the name step, skipping the new 1-4 / 5-10 selection. Co-authored-by: Cursor <cursoragent@cursor.com>
Navigation fixes in upstream onboarding pages already route VSB/SMB users through the employees step, so page-level redirects and error UI are unnecessary. Co-authored-by: Cursor <cursoragent@cursor.com>
Only redirect to the employees step when resuming at accounting or interested-features without a valid company size, or on a fresh start without accessible domain policies. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Neil Marcellini <neil-marcellini@users.noreply.github.com>
|
The TypeScript and ESLint failures were already fixed by commits after The iOS build failure was unrelated (CocoaPods CDN rate limiting — |
Replace nested redirect helpers with small named checks for company size need, fresh start, and steps past employees. Co-authored-by: Cursor <cursoragent@cursor.com>
Revert to main's simple initial path logic; VSB now routes to employees instead of accounting since company size is no longer auto-assigned. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Neil Marcellini <neil-marcellini@users.noreply.github.com>
Use the onboarding step counter instead of the VSB signup qualifier so users with a domain prefix still see the back button. Co-authored-by: Cursor <cursoragent@cursor.com>
…B users The test expected VSB skip to navigate to onboarding/accounting, but the PR intentionally changed this flow to navigate to onboarding/employees (matching the SMB behavior) for employee size sub-selection. Co-authored-by: Neil Marcellini <neil-marcellini@users.noreply.github.com>
…om/Expensify/App into claude-vsbEmployeeSizeSubselection Co-authored-by: Neil Marcellini <neil-marcellini@users.noreply.github.com>
|
⏱️ Ran out of time before I could finish. This usually means the task was too complex or I got stuck exploring. Please try again with a more specific request or post in #melvinbot-ai. |
Cover the VSB-only company size options and back button visibility when employees is or is not the first step in the onboarding flow. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 88333a01dc
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
trjExpensify
left a comment
There was a problem hiding this comment.
I recall this one coming up in slack! 👍
Use getPreviousOnboardingRoute so VSB/SMB flows navigate to workspaces, work email, or purpose instead of always going to the purpose screen. Co-authored-by: Cursor <cursoragent@cursor.com>
|
@Eskalifer1 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] |
|
It seems like I'm the second C+ assigned here. Please unassign me. Thank you! |
Co-authored-by: Neil Marcellini <neil-marcellini@users.noreply.github.com>
|
Fixed the failing typecheck: |
Use normalizedConfigs paths so back navigation stays in sync with the navigation system. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
The function returns paths from the linking config which are valid routes, so cast them to Route to satisfy Navigation.navigate's type requirement. Co-authored-by: Neil Marcellini <neil-marcellini@users.noreply.github.com>
|
Fixed the failing typecheck: |
|
All checks are now passing. The previous typecheck failure was resolved by the latest commit on this branch which properly types the |
@neil-marcellini Is there any way for me to test this step? As far as I know C+s can't run Web-Expensify. |
Explanation of Change
When users select the "1-9 employees" option on the Web-Expensify landing page (which sets the
vsbsignup qualifier), the onboarding flow previously skipped the employee count step entirely and auto-assignedMICRO(1-10) as their company size. This meant we couldn't distinguish between 1-4 and 5-10 employee teams for guide assignment purposes.This PR changes the VSB flow so that instead of skipping the employee count step, users are shown a filtered employee size selection page with only two options: 1-4 and 5-10. This gives us the granularity needed for proper guide assignment (1-4 → Concierge, 5-10 → human Guide) without requiring any changes to the Web-Expensify landing page.
Changes:
companySizetoMICROfor VSB users; route them to the EMPLOYEES page instead of ACCOUNTINGisVsbvariableFixed Issues
$ https://github.com/Expensify/Expensify/issues/613539
Tests
2026-05-27_07-23-06.mp4
Offline tests
No offline-specific behavior changes — signup qualifiers are written during online signup and read from the locally-cached onboarding NVP afterwards.
QA Steps
Same as tests but on staging
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand 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
The changes are platform independent. Please see the testing video above.
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari