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

[HOLD for payment 2024-07-22] [HOLD for payment 2024-07-17] [#Wave-Control - Add Sage Intacct] Add the Connection option and Connection button in NewDot #43532

Closed
yuwenmemon opened this issue Jun 12, 2024 · 44 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production 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

@yuwenmemon
Copy link
Contributor

yuwenmemon commented Jun 12, 2024

Tracking GH: https://github.com/Expensify/Expensify/issues/388780

Design doc section: https://docs.google.com/document/d/1k3ZFw8KB55yPUSCG6KYZlwpwEtmRt3eUshwxs7bZq5I/edit#heading=h.w7qju91gpvcq


Before diving into it, let’s add it to the list of the available connections options.

// src/CONST.ts       
 
const CONNECTIONS = {
    NAME: {
        // Here we will add other connections names when we add support for them
        QBO: 'quickbooksOnline',
        XERO: 'xero',
        // …
        SAGE_INTACCT: 'intacct',
    },
};

Next, we’re going to show it in the Accounting page. To do this, modify PolicyAccountingPage.tsx:

// src/pages/workspace/accounting/PolicyAccountingPage.tsx


switch (connectionName) {
// ...
case CONST.POLICY.CONNECTIONS.NAME.SAGE_INTACCT:
                return {
                    title: translate('workspace.accounting.sageIntacct'),
                    icon: Expensicons.SageIntacctSquare,
                    setupConnectionButton: (
                        <ConnectToSageIntacctButton
                            policyID={policyID}
                            shouldDisconnectIntegrationBeforeConnecting={isConnectedToIntegration}
                            integrationToDisconnect={integrationToDisconnect}
                        />
                    ),
                    onImportPagePress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_SAGE_INTACCT_IMPORT.getRoute(policyID)),
                    onExportPagePress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_SAGE_INTACCT_EXPORT.getRoute(policyID)),
                    onAdvancedPagePress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_SAGE_INTACCT_ADVANCED.getRoute(policyID)),
                };     

Creating the connection button

The code for the ConnectToSageIntacctButton.tsx component would look like something like this:

// src/components/ConnectToSageIntacctButton/index.tsx

function ConnectToSageIntacctButton({policyID, shouldDisconnectIntegrationBeforeConnecting, integrationToDisconnect}: ConnectToSageIntacctButtonProps) {
    return (
        <>
            <Button
                onPress={() => {
                    if (shouldDisconnectIntegrationBeforeConnecting && integrationToDisconnect) {
                        setIsDisconnectModalOpen(true);
                        return;
                    }
			// 3 conditions need to be done here (screenshots in the "Connection Process" section)
			// These are:
                    // 1. show prerequisites modal if necessary i.e credentials not present in policy's intacct connection data
			// 2. if secondary workspace with Intacct sync, show a menu with options "Create new connection" and "Reuse existing connection" 
			// 3. otherwise sync by calling the SyncPolicyToSageIntacct command
                }}
                text={translate('workspace.accounting.setup')}
                style={styles.justifyContentCenter}
                small
                isDisabled={isOffline}
            />
            {shouldDisconnectIntegrationBeforeConnecting && isDisconnectModalOpen && integrationToDisconnect && (
                <ConfirmModal
                    title={translate('workspace.accounting.disconnectTitle', CONST.POLICY.CONNECTIONS.NAME.SAGE_INTACCT)}
                    isVisible
                    onConfirm={() => {
                        removePolicyConnection(policyID, integrationToDisconnect);
                        Link.openLink(getSageIntacctSetupLink(policyID), environmentURL);
                        setIsDisconnectModalOpen(false);
                    }}
                    onCancel={() => setIsDisconnectModalOpen(false)}
                    prompt={translate('workspace.accounting.disconnectPrompt', CONST.POLICY.CONNECTIONS.NAME.SAGE_INTACCT)}
                    confirmText={translate('workspace.accounting.disconnect')}
                    cancelText={translate('common.cancel')}
                    danger
                />
            )}
        </>
    );
}

export default React.memo(ConnectToSageIntacctButton);
Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~017a8c2faf283b52e8
  • Upwork Job ID: 1800756578326323366
  • Last Price Increase: 2024-06-12
  • Automatic offers:
    • ishpaul777 | Reviewer | 102709182
    • hungvu193 | Contributor | 102767547
Issue OwnerCurrent Issue Owner: @alexpensify
@yuwenmemon yuwenmemon self-assigned this Jun 12, 2024
@yuwenmemon yuwenmemon changed the title [#Wave-Control - Add Sage Intacct] Add the Connection option and Connection button in NewDot [HOLD][#Wave-Control - Add Sage Intacct] Add the Connection option and Connection button in NewDot Jun 12, 2024
@yuwenmemon yuwenmemon added NewFeature Something to build that is a new item. Weekly KSv2 labels Jun 12, 2024
Copy link

melvin-bot bot commented Jun 12, 2024

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

Copy link

melvin-bot bot commented Jun 12, 2024

⚠️ 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 ⚠️

@yuwenmemon yuwenmemon added the External Added to denote the issue can be worked on by a contributor label Jun 12, 2024
Copy link

melvin-bot bot commented Jun 12, 2024

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

@melvin-bot melvin-bot bot changed the title [HOLD][#Wave-Control - Add Sage Intacct] Add the Connection option and Connection button in NewDot [$250] [HOLD][#Wave-Control - Add Sage Intacct] Add the Connection option and Connection button in NewDot Jun 12, 2024
Copy link

melvin-bot bot commented Jun 12, 2024

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

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

melvin-bot bot commented Jun 12, 2024

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

@melvin-bot melvin-bot bot added Daily KSv2 and removed Weekly KSv2 labels Jun 12, 2024
@yuwenmemon yuwenmemon changed the title [$250] [HOLD][#Wave-Control - Add Sage Intacct] Add the Connection option and Connection button in NewDot [HOLD][#Wave-Control - Add Sage Intacct] Add the Connection option and Connection button in NewDot Jun 12, 2024
@yuwenmemon yuwenmemon removed the Help Wanted Apply this label when an issue is open to proposals by contributors label Jun 12, 2024
@yuwenmemon yuwenmemon changed the title [HOLD][#Wave-Control - Add Sage Intacct] Add the Connection option and Connection button in NewDot [#Wave-Control - Add Sage Intacct] Add the Connection option and Connection button in NewDot Jun 12, 2024
@SzymczakJ
Copy link
Contributor

Hey! I’m Jakub Szymczak from Software Mansion, an expert agency, and I’d like to work on this issue!

Copy link

melvin-bot bot commented Jun 12, 2024

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

Offer link
Upwork job

@alexpensify
Copy link
Contributor

Thanks, I've assigned to @SzymczakJ

@SzymczakJ SzymczakJ mentioned this issue Jun 13, 2024
48 tasks
@SzymczakJ
Copy link
Contributor

Update:
Even though we are still waiting for API command to be implemented on BE I'll put up a PR with mocked backend interaction. It should be ready tomorrow or on Monday.

@hungvu193
Copy link
Contributor

@yuwenmemon Can you assign me this one?

@SzymczakJ
Copy link
Contributor

As we planned to create a follow-up PR, can we create a separate issue for it? @yuwenmemon

@hungvu193
Copy link
Contributor

Thanks for pointing that out @SzymczakJ, let's me create an issue for it 🙏

Copy link

melvin-bot bot commented Jul 4, 2024

⚠️ 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.

@alexpensify
Copy link
Contributor

@hungvu193 and @SzymczakJ - can we confirm if this deploy blocker notice is accurate or an error? Thanks!

@SzymczakJ
Copy link
Contributor

Like @lakchote said here it's not a deploy blocker and I agree with him. I can fix this bug right away because the fix is changing one line, but I would rather do it in this PR, since I'm spinning up a follow-up PR anyway. WDYT

@SzymczakJ
Copy link
Contributor

I've included the fix in the PR that I was talking about.

@alexpensify
Copy link
Contributor

Thank you for this update and swift action.

@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production and removed Weekly KSv2 labels Jul 10, 2024
@melvin-bot melvin-bot bot changed the title [#Wave-Control - Add Sage Intacct] Add the Connection option and Connection button in NewDot [HOLD for payment 2024-07-17] [#Wave-Control - Add Sage Intacct] Add the Connection option and Connection button in NewDot Jul 10, 2024
Copy link

melvin-bot bot commented Jul 10, 2024

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

@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Jul 10, 2024
Copy link

melvin-bot bot commented Jul 10, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.5-13 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 2024-07-17. 🎊

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

Copy link

melvin-bot bot commented Jul 10, 2024

BugZero Checklist: The PR adding this new feature has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

  • [@hungvu193] Please propose regression test steps to ensure the new feature will work correctly on production in further releases.
  • [@alexpensify] Link the GH issue for creating/updating the regression test once above steps have been agreed upon.

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Jul 15, 2024
@melvin-bot melvin-bot bot changed the title [HOLD for payment 2024-07-17] [#Wave-Control - Add Sage Intacct] Add the Connection option and Connection button in NewDot [HOLD for payment 2024-07-22] [HOLD for payment 2024-07-17] [#Wave-Control - Add Sage Intacct] Add the Connection option and Connection button in NewDot Jul 15, 2024
Copy link

melvin-bot bot commented Jul 15, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.6-8 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 2024-07-22. 🎊

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

Copy link

melvin-bot bot commented Jul 15, 2024

BugZero Checklist: The PR adding this new feature has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

  • [@hungvu193] Please propose regression test steps to ensure the new feature will work correctly on production in further releases.
  • [@alexpensify] Link the GH issue for creating/updating the regression test once above steps have been agreed upon.

@melvin-bot melvin-bot bot added Daily KSv2 and removed Weekly KSv2 labels Jul 16, 2024
@alexpensify alexpensify added Weekly KSv2 and removed Daily KSv2 labels Jul 16, 2024
@alexpensify
Copy link
Contributor

I believe the payment date has been moved to 7/22, and will prepare accordingly.

@hungvu193
Copy link
Contributor

No payment needed for me. I will be paid later after SageIntacct project is completed

@alexpensify
Copy link
Contributor

@hungvu193 - thank you for that update. Here is the payment breakdown for the records:

Payouts due: N/A

  • Contributor: N/A @SzymczakJ - payment will be handled via agency
  • Contributor+: N/A @hungvu193 - payment will be addressed when the full project is complete in another GH

Upwork job is https://www.upwork.com/jobs/~017a8c2faf283b52e8

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 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
Archived in project
Development

No branches or pull requests

7 participants