Skip to content

[Due for payment 2025-05-27] Update onboarding page with new integration choices and redirection logic #60161

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

Open
chiragsalian opened this issue Apr 12, 2025 · 25 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. External Added to denote the issue can be worked on by a contributor NewFeature Something to build that is a new item. Weekly KSv2

Comments

@chiragsalian
Copy link
Contributor

chiragsalian commented Apr 12, 2025

Part of the New Dot Onboarding for 1-50 Companies project

Main issue: https://github.com/Expensify/Expensify/issues/476894
Doc section: https://docs.google.com/document/d/1l1DytMDjRvEwJ7saOiZ3RZ4XjhPmR1kzOz90R0GmHVU/edit?tab=t.0#bookmark=id.b28s4buduv7a
Project: https://github.com/orgs/Expensify/projects/193/views/1

On HOLD till this is live - https://github.com/Expensify/Expensify/issues/490394. This can be worked on but can be merged only once the linked issue is done and its code is live.

Problem / Solution 1

  1. We want to add more integration choices to our onboarding accounting page.
    Image

  2. The integration choices we want to add areSAP, Oracle, Microsoft Dynamics, Sage, and Other
    Image

Problem / Solution 2

We want the styling to match this design
Image

Problem / Solution 3

  1. We want to update the routing logic to account for these integrations
  2. At the time of this doc, the logic for routing chats occurs only by checking companySize here. If the size is micro we navigate to another screen, else we route to oldDot here.
  3. At the time of coding that logic linked in the previous point will be in BaseOnboardingAccounting. The only change we’ve to make is to add more conditions i.e., if the - size is (micro or small) AND integration is (qbo or qbd or xero or netsuite or Other or None), then stay in newDot, else call openOldDotLink to redirect to oldDot.

Note: i need to check if spanish translations are needed and to provide them.

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021911172188543432771
  • Upwork Job ID: 1911172188543432771
  • Last Price Increase: 2025-04-12
  • Automatic offers:
    • abzokhattab | Contributor | 106935135
Issue OwnerCurrent Issue Owner: @
Issue OwnerCurrent Issue Owner: @sakluger / @miljakljajic
@chiragsalian chiragsalian added Daily KSv2 External Added to denote the issue can be worked on by a contributor NewFeature Something to build that is a new item. labels Apr 12, 2025
@chiragsalian chiragsalian self-assigned this Apr 12, 2025
@melvin-bot melvin-bot bot changed the title [HOLD] Update onboarding page with new integration choices and redirection logic [$250] [HOLD] Update onboarding page with new integration choices and redirection logic Apr 12, 2025
Copy link

melvin-bot bot commented Apr 12, 2025

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

@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Apr 12, 2025
Copy link

melvin-bot bot commented Apr 12, 2025

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

@chiragsalian chiragsalian changed the title [$250] [HOLD] Update onboarding page with new integration choices and redirection logic [HOLD for merge] Update onboarding page with new integration choices and redirection logic Apr 12, 2025
Copy link

melvin-bot bot commented Apr 12, 2025

Triggered auto assignment to @sakluger (NewFeature), see https://stackoverflowteams.com/c/expensify/questions/14418#:~:text=BugZero%20process%20steps%20for%20feature%20requests for more details. Please add this Feature request to a GH project, as outlined in the SO.

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Daily KSv2 labels Apr 12, 2025
Copy link

melvin-bot bot commented Apr 12, 2025

⚠️ It looks like this issue is labelled as a New Feature but not tied to any GitHub Project. Keep in mind that all new features should be tied to GitHub Projects in order to properly track external CAP software time ⚠️

Copy link

melvin-bot bot commented Apr 12, 2025

Triggered auto assignment to Design team member for new feature review - @dannymcclain (NewFeature)

@abzokhattab
Copy link
Contributor

abzokhattab commented Apr 12, 2025

🚨 Edited by proposal-police: This proposal was edited at 2025-04-12 21:47:14 UTC.

Proposal

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

Update onboarding page with new integration choices and redirection logic

What is the root cause of that problem?

We need to:

  1. Show seven new/existing accounting integrations on the onboarding accounting page (QBO, QBD, Xero, Netsuite, SAP, Oracle, Microsoft Dynamics, Sage, and “Other” or “None”).
  2. Update the styling to match a newly provided design.
  3. Update routing logic so that if the user’s company size is micro or small and the selected integration is in the set (QBO, QBD, Xero, Netsuite, Other, or None), we stay in newDot. Otherwise, we redirect to oldDot.

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

  1. Add Additional Integration Options
      case CONST.POLICY.CONNECTIONS.NAME.SAP: {
                        text = translate('workspace.accounting.sap');
                        accountingIcon = Expensicons.SAPSquare;
                        break;
                    }
                    case CONST.POLICY.CONNECTIONS.NAME.ORACLE: {
                        text = translate('workspace.accounting.oracle');
                        accountingIcon = Expensicons.OracleSquare;
                        break;
                    }
                    case CONST.POLICY.CONNECTIONS.NAME.MS_DYNAMICS: {
                        text = translate('workspace.accounting.msDynamics');
                        accountingIcon = Expensicons.MicrosoftDynamicsSquare;
                        break;
                    }
                    case CONST.POLICY.CONNECTIONS.NAME.SAGE: {
                        text = translate('workspace.accounting.sage');
                        accountingIcon = Expensicons.SageSquare;
                        break;
                    }
                    case CONST.POLICY.CONNECTIONS.NAME.OTHER: {
                        text = translate('workspace.accounting.other');
                        accountingIcon = Expensicons.QuestionCircle;
                        break;
                    }

also we need to add the new connections translation here

  • Update the display icons and text for each as needed.
  1. Apply New Styles
  • Update icons, text, and container layout to match the new design references (font sizes, margins, headings, etc.).
    pass the current step here and if its accounting the modal width should be wider and change the container direction to row and make the item width half the modal width to add two elements in one row in case of web/desktop here
  1. Expand Routing Logic
  • In continue button here , add conditions that check if the company size is micro or small and the integration choice is one of (QBO, QBD, Xero, Netsuite, Other, or None). If so, remain in newDot; else call openOldDotLink to send the user to oldDot.
       const shouldStayInNewDot = (
(onboardingCompanySize === ONBOARDING_COMPANY_SIZE.MICRO || onboardingCompanySize === ONBOARDING_COMPANY_SIZE.SMALL) && [
                        CONST.POLICY.CONNECTIONS.NAME.QBO,
                        CONST.POLICY.CONNECTIONS.NAME.QBD,
                        CONST.POLICY.CONNECTIONS.NAME.XERO,
                        CONST.POLICY.CONNECTIONS.NAME.NETSUITE,
                        CONST.POLICY.CONNECTIONS.NAME.OTHER,
                        null, // "None"
                    ].includes(userReportedIntegration));

                    if (!shouldStayInNewDot ) {
                        openOldDotLink(CONST.OLDDOT_URLS.INBOX, true);
                        return;
                    }
}

What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?

NA

What alternative solutions did you explore? (Optional)

NA

@melvin-bot melvin-bot bot added Daily KSv2 and removed Weekly KSv2 labels Apr 12, 2025
@dannymcclain
Copy link
Contributor

Swapping for Jon since he designed this—Jon feel free to toss back to me if you want, just want you to get that GitCoin credit lol

@dubielzyk-expensify
Copy link
Contributor

Thanks Danny ❤️ Happy to take this one

@chiragsalian
Copy link
Contributor Author

chiragsalian commented Apr 15, 2025

Friendly bump @Ollyws for initial contributor review. The priority on this issue is a bit urgent.

@Ollyws
Copy link
Contributor

Ollyws commented Apr 15, 2025

@abzokhattab's proposal LGTM.
🎀👀🎀 C+ reviewed

Copy link

melvin-bot bot commented Apr 15, 2025

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

@chiragsalian
Copy link
Contributor Author

Proposal LGTM, just one minor thing that i had to confirm internally. "Sage Intaact" already exists in the design and thats good, so we don't want to update/add "Sage" as an option.
Feel free to create the PR @abzokhattab. Also a head up, please place your PR on HOLD so we don't forget, the PR should only be merged once we've got the backend for https://github.com/Expensify/Expensify/issues/490394 live.

@melvin-bot melvin-bot bot removed the Help Wanted Apply this label when an issue is open to proposals by contributors label Apr 15, 2025
@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 and removed Daily KSv2 labels Apr 18, 2025
@chiragsalian chiragsalian changed the title [HOLD for merge] Update onboarding page with new integration choices and redirection logic Update onboarding page with new integration choices and redirection logic Apr 24, 2025
@sakluger
Copy link
Contributor

sakluger commented May 2, 2025

Hey @abzokhattab, what's the latest? And just to confirm, is this the PR: #60505?

@sakluger sakluger removed their assignment May 2, 2025
@sakluger sakluger added the Bug Something is broken. Auto assigns a BugZero manager. label May 2, 2025
Copy link

melvin-bot bot commented May 2, 2025

Triggered auto assignment to @miljakljajic (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.

@melvin-bot melvin-bot bot added Daily KSv2 and removed Weekly KSv2 labels May 2, 2025
@sakluger sakluger self-assigned this May 2, 2025
@sakluger sakluger added Weekly KSv2 and removed Daily KSv2 labels May 2, 2025
@sakluger
Copy link
Contributor

sakluger commented May 2, 2025

I will be OOO from May 5 - 16, so I have added another BZ member to watch over the issue while I'm out.

@abzokhattab
Copy link
Contributor

Hey @abzokhattab, what's the latest? And just to confirm, is this the PR: #60505?

Correct, we are still working on it

Copy link

melvin-bot bot commented May 13, 2025

⚠️ Looks like this issue was linked to a Deploy Blocker here

If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.

If a regression has occurred and you are the assigned CM follow the instructions here.

If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.

Copy link

melvin-bot bot commented May 14, 2025

⚠️ Looks like this issue was linked to a Deploy Blocker here

If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.

If a regression has occurred and you are the assigned CM follow the instructions here.

If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.

@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production and removed Weekly KSv2 labels May 16, 2025
@melvin-bot melvin-bot bot changed the title Update onboarding page with new integration choices and redirection logic [Due for payment 2025-05-27] Update onboarding page with new integration choices and redirection logic May 20, 2025
Copy link

melvin-bot bot commented May 20, 2025

Reviewing label has been removed, please complete the "BugZero Checklist".

@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label May 20, 2025
Copy link

melvin-bot bot commented May 20, 2025

The solution for this issue has been 🚀 deployed to production 🚀 in version 9.1.46-12 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

If no regressions arise, payment will be issued on 2025-05-27. 🎊

For reference, here are some details about the assignees on this issue:

Copy link

melvin-bot bot commented May 20, 2025

@Ollyws @sakluger / @miljakljajic @Ollyws The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. External Added to denote the issue can be worked on by a contributor NewFeature Something to build that is a new item. Weekly KSv2
Projects
None yet
Development

No branches or pull requests

7 participants