Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[$250] Ask our admin leads qualifying questions in Stage 1 and trigger "set up accounting integration" task #48745

Open
anmurali opened this issue Sep 6, 2024 · 35 comments
Assignees
Labels
Daily KSv2 Engineering External Added to denote the issue can be worked on by a contributor Reviewing Has a PR in review

Comments

@anmurali
Copy link

anmurali commented Sep 6, 2024

P/S in slack here

Proposal: Ask top down leads relevant qualifying questions so we can customize their onboarding tasks accordingly
Problem: Expensify caters to companies of all sizes, starting from sole props all the way to companies with 1000s of employees and several entities. Further the optimal setup of a workspace varies based on other conditions such as whether the company has an accounting integration or not. The way our current onboarding is designed, it assumes the same tasks, in the same order are important to all of them. This might not be a home run with every lead and might lead to a higher abandonment rate
Hypothesis: If we ask the lead a few simple qualifying questions and use those to show them tasks that we know other leads with similar answers prioritized before adding a card on file, then we have a higher chance of converting them to paid. So, if the same or more admins finish Stage 1 and give us this info, then having this info is more valuable than their company name and first/ last name
Solution:

  1. In Stage 1 onboarding, for users that select Manage my team’s expenses, drop asking for Company name and User name. Instead ask for the number of employees they want to onboard and if they have an accounting package. [External]
    image

  2. Customize the stage 2 onboarding tasks to include accounting integration if one is selected [Internal]

  3. Show the accounting feature as enabled in workspace settings LHN if an accounting integration is selected [External]

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021833948133359014485
  • Upwork Job ID: 1833948133359014485
  • Last Price Increase: 2024-09-11
  • Automatic offers:
    • nkdengineer | Contributor | 103936426
Issue OwnerCurrent Issue Owner: @s77rt
@anmurali anmurali self-assigned this Sep 6, 2024
@dubielzyk-expensify
Copy link
Contributor

dubielzyk-expensify commented Sep 9, 2024

Why are we dropping name on this one? Do we not still think that's useful?

Mock without name selection:
CleanShot 2024-09-09 at 16 40 34@2x

cc @Expensify/design for visibility

@trjExpensify
Copy link
Contributor

  • Don't worry you can change this later.

On this copy, can you actually change it later? If so, where?

  • Expensify caters to companies of all sizes, starting from sole props all the way to companies with 1000s of employees and several entities.

I kinda' worry that our top end option being 50+ employees makes us seem like we're not a fit for even MM leads, let alone ENT leads that come looking, so I wonder if we tweak these a bit to include some larger company size ranges? I.e

  • 1-10
  • 11-50
  • 51-100
  • 101-1000
  • 1001+

Sidebar: given the qualifiers on the home page for 1-9 or 10+. Will we only show this screen to ask the question again if they've selected 10+ on the sign-up page? Seems a bit repetitive to ask it again for someone who has already told us they're a VSB with an employee count of 1-9.

  • Do you use any accounting software?

Instead of "None" on the accounting solution list, should we change that to "None of the above" or something? For example, if I use Microsoft Dynamics, SAP, Oracle, Sage 50 etc as my accounting solution, "None" isn't an accurate choice for me to select to answer this question. I do use an accounting solution, just not one that has an out-of-the-box connection with Expensify.

@anmurali
Copy link
Author

anmurali commented Sep 9, 2024

I think the intention behind saying "Don't worry you can change this later" was to convey the fact that this doesn't mean you can't add more employees. Maybe we can reword that to convey the point, which is - give us your best guess, you're not locked down to this range per se. cc @jamesdeanexpensify

@anmurali
Copy link
Author

anmurali commented Sep 9, 2024

I kinda' worry that our top end option being 50+ employees makes us seem like we're not a fit for even MM leads, let alone ENT leads that come looking, so I wonder if we tweak these a bit to include some larger company size ranges? I.e

I agree, let's use what @trjExpensify recommended for the ranges.

Instead of "None" on the accounting solution list, should we change that to "None of the above" or something?

Also agreed, let's update that

@dubielzyk-expensify can you update the Figma but maybe let's wait for James to give us alternate copy for the size range sub text and we can update in one go?

@marcaaron marcaaron self-assigned this Sep 9, 2024
@jamesdeanexpensify
Copy link
Contributor

It feels like we don't even need to add that subtext at all - the question seems straightforward enough - "How many employees do you have?"

@marcaaron
Copy link
Contributor

Customize the stage 2 onboarding tasks to include accounting integration if one is selected

I think we need some copy for this. A title and description.

@jamesdeanexpensify
Copy link
Contributor

Oh sorry, I was responding to my tag here. Maybe @anmurali or @trjExpensify could confirm what's needed?

@marcaaron
Copy link
Contributor

No worries, @jamesdeanexpensify! I was just generally noting that it was needed, but if you can help would be amazing 🙇

@dubielzyk-expensify
Copy link
Contributor

CleanShot 2024-09-10 at 12 24 50@2x

Changed it to "More than 1000 employees" instead of "1001+ employees". Think it reads a bit better, but happy to change it.

Everything else is changed

@trjExpensify
Copy link
Contributor

Changed it to "More than 1000 employees" instead of "1001+ employees". Think it reads a bit better, but happy to change it.

Sounds good!

Oh sorry, I was responding to my tag #48745 (comment). Maybe @anmurali or @trjExpensify could confirm what's needed?

I don't think anything is needed per se, I'd also be down for starting with no sub-titles.

@jamesdeanexpensify
Copy link
Contributor

@dubielzyk-expensify could you add a comma to "1000" so it's "1,000"? Thank you! I couldn't find the figma file.

Am I needed for anything else in this issue? I'm happy to help, but I want to make sure what (if anything) remains!

@melvin-bot melvin-bot bot added the Monthly KSv2 label Sep 10, 2024
@dubielzyk-expensify
Copy link
Contributor

CleanShot 2024-09-11 at 10 26 12@2x

Done

@marcaaron marcaaron added Daily KSv2 Engineering and removed Monthly KSv2 labels Sep 11, 2024
@marcaaron
Copy link
Contributor

Customize the stage 2 onboarding tasks to include accounting integration if one is selected

Still need copy for this.

@anmurali
Copy link
Author

I am waiting for Zach and Doza to come back from Netsuite conference to write this copy. But we're not blocked on building this alternate flow . Let's make that an External? @marcaaron

@anmurali anmurali added the External Added to denote the issue can be worked on by a contributor label Sep 11, 2024
@melvin-bot melvin-bot bot changed the title Ask our admin leads qualifying questions in Stage 1 to customize their workflow settings and onboarding [$250] Ask our admin leads qualifying questions in Stage 1 to customize their workflow settings and onboarding Sep 11, 2024
Copy link

melvin-bot bot commented Sep 11, 2024

Job added to Upwork: https://www.upwork.com/jobs/~021833948133359014485

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Sep 11, 2024
Copy link

melvin-bot bot commented Sep 11, 2024

Triggered auto assignment to Contributor-plus team member for initial proposal review - @s77rt (External)

@marcaaron marcaaron changed the title [$250] Ask our admin leads qualifying questions in Stage 1 to customize their workflow settings and onboarding [$250] Ask our admin leads qualifying questions in Stage 1 and trigger "set up accounting integration" task Sep 11, 2024
@dubielzyk-expensify
Copy link
Contributor

Here's the mocks with More Fetures toggled on:

CleanShot 2024-09-12 at 09 05 32@2x

@shawnborton
Copy link
Contributor

Minor nitpicks but for the final screen there, does the intro text stay fixed and not scroll with the page? I would expect it to scroll with the page I think. Also, looks like we need to back the card padding down to 20px there too. Otherwise looking great!

@dubielzyk-expensify
Copy link
Contributor

Minor nitpicks but for the final screen there, does the intro text stay fixed and not scroll with the page? I would expect it to scroll with the page I think.

Agree that I also would expect this, but that's not happening in prod today. Let me file a bug. Screenshot of product:
CleanShot 2024-09-12 at 14 35 49@2x

Fixed padding (and the intro text which I'll fix in a bug):
CleanShot 2024-09-12 at 14 36 40@2x

@nkdengineer
Copy link
Contributor

Proposal

Please re-state the problem that we are trying to solve in this issue.

Ask our admin leads qualifying questions in Stage 1 and trigger "set up accounting integration" task

What is the root cause of that problem?

This is a new feature

What changes do you think we should make in order to solve the problem?

In Stage 1 onboarding, for users that select Manage my team’s expenses, drop asking for Company name and User name. Instead ask for the number of employees they want to onboard and if they have an accounting package. [External]

  1. We must create two new onboarding pages for the employee and accounting steps. The style of these pages can follow the existing pages. For the list on each page, we can use the MenuItemList or SelectionList to display. For the icon in the accounting step, we can follow the icon in PolicyAccountingPage and we need design team provide the none icon.

Then when we choose the MANAGE_TEAM here, we will navigate to the employee step and in employee step we will navigate to the accounting step

if (choice === CONST.ONBOARDING_CHOICES.MANAGE_TEAM) {
Navigation.navigate(ROUTES.ONBOARDING_WORK.getRoute(route.params?.backTo));
return;
}

  1. Because we will drop the company name step then we should decide which step we will create the onboarding policy. I think we can create the onboarding policy when choosing the MANAGE_TEAM purpose here or we can create the new policy after the employee step as we do here

if (choice === CONST.ONBOARDING_CHOICES.MANAGE_TEAM) {
Navigation.navigate(ROUTES.ONBOARDING_WORK.getRoute(route.params?.backTo));
return;
}

Show the accounting feature as enabled in workspace settings LHN if an accounting integration is selected [External]

  1. In the accounting step, if we select an accounting option, we will call Policy.enablePolicyConnections to enable the accounting feature or we can update the onyx data of the policy in completeOnboarding and BE will update the data in this API.

What alternative solutions did you explore? (Optional)

@shawnborton
Copy link
Contributor

Looks great @dubielzyk-expensify - and thanks for filing that bug!

@s77rt
Copy link
Contributor

s77rt commented Sep 12, 2024

@nkdengineer Thanks for the proposal. Overall the suggested flow looks good to me.

🎀 👀 🎀 C+ reviewed
Link to proposal

Copy link

melvin-bot bot commented Sep 12, 2024

Current assignee @marcaaron is eligible for the choreEngineerContributorManagement assigner, not assigning anyone new.

@marcaaron
Copy link
Contributor

LGTM, but we are missing details about what to send to the API. I think we should start sending the policyID, companySize, and userReportedIntegration during the completeOnboarding call. So, you need some details about how we will achieve that.

@melvin-bot melvin-bot bot removed the Help Wanted Apply this label when an issue is open to proposals by contributors label Sep 12, 2024
Copy link

melvin-bot bot commented Sep 12, 2024

📣 @nkdengineer 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app!

Offer link
Upwork job
Please accept the offer and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑‍💻
Keep in mind: Code of Conduct | Contributing 📖

@marcaaron
Copy link
Contributor

BE is in progress on this. We can split it into two front end PRs.

  1. Just add the flow and start sending the new data to the API
  2. We will come back and add the task when calling completeOnboarding() once the BE change is deployed and copy is ready for that.

Sound good @nkdengineer ?

@nkdengineer
Copy link
Contributor

@marcaaron That sounds good.

@nkdengineer
Copy link
Contributor

@dubielzyk-expensify Does the close icon exist in the app?

@shawnborton
Copy link
Contributor

I'm not sure if it does, so if you can't find it, here is a svg you can use:
close-circle.svg.zip

@dannymcclain
Copy link
Contributor

Does the close icon exist in the app?

It does! It's App/assets/images/x-circle.svg

@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 and removed Daily KSv2 labels Sep 16, 2024
@nkdengineer
Copy link
Contributor

@s77rt The PR is ready. Let's review two new pages first, and then we will integrate the API when the back-end change is complete.

@marcaaron
Copy link
Contributor

Backend changes are on production now btw. We still need the copy for the tasks. @nkdengineer let's get this PR merged and then we will come back to add the relevant task data once we have it?

@marcaaron marcaaron added Daily KSv2 and removed Weekly KSv2 labels Sep 17, 2024
@davidcardoza
Copy link
Contributor

I started working on the accounting task copy here https://docs.google.com/document/d/1AgQpxsUk7zcGJDVqlsMVXckD4c3LfDFa6Ppy7jj-xl0/edit

@marcaaron
Copy link
Contributor

marcaaron commented Sep 19, 2024

Great! We're almost ready here maybe we can actually get it done all in the same PR after all @nkdengineer.

There are a couple of small backend changes here we are blocked on:

@nkdengineer
Copy link
Contributor

Got it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Daily KSv2 Engineering External Added to denote the issue can be worked on by a contributor Reviewing Has a PR in review
Projects
None yet
Development

No branches or pull requests

10 participants