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

[Wave Collect][QBO] Chart of Accounts (Categories) not importing on initial connection #41018

Closed
6 tasks done
trjExpensify opened this issue Apr 25, 2024 · 11 comments
Closed
6 tasks done
Assignees
Labels
Bug Something is broken. Auto assigns a BugZero manager. Internal Requires API changes or must be handled by Expensify staff Reviewing Has a PR in review Weekly KSv2

Comments

@trjExpensify
Copy link
Contributor

trjExpensify commented Apr 25, 2024

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Version Number: v1.4.66-0
Reproducible in staging?: Y
Reproducible in production?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @trjExpensify
Slack conversation: https://expensify.slack.com/archives/C036QM0SLJK/p1714057854803539?thread_ts=1714057353.559839&cid=C036QM0SLJK

Action Performed:

  1. Connect to QBO
  2. Click Import
  3. Observe Not imported on the Chart of Accounts row
  4. Go to the Categories page in the LHN
  5. Observe the list of default categories
  6. Go back to the Import page
  7. Click on the Chart of Accounts row
  8. Click the toggle to "Enable newly imported Chart of Accounts"
  9. Observe Imported, displayed as tags on the Chart of Accounts row

Expected Result:

  1. The QBO chart of accounts should be imported as categories upon establishing the connection
  2. The default set of categories on the workspace should be replaced by the chart of accounts imported from QBO
  3. The Chart of Accounts row in the import settings should be displayed as imported, and the push input should read: Imported, displayed as categories

Actual Result:

  1. The QBO Chart of Accounts aren't imported when the integration is established
  2. The Categories import setting reads: "Not imported"
  3. When you enable a different feature ("Enable newly imported Chart of Accounts)", the push row reads "Imported, displayed as tags"

Workaround:

N/A

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • Android: Native
  • Android: mWeb Chrome
  • iOS: Native
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

2024-04-25_19-58-09.mp4

View all open jobs on GitHub

CC: @hayata-suenaga @aldo-expensify @s77rt @zanyrenney @teneeto @narefyev91

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~011dbfa3b69ed9c461
  • Upwork Job ID: 1783572498360819712
  • Last Price Increase: 2024-04-25
@trjExpensify trjExpensify added Daily KSv2 Internal Requires API changes or must be handled by Expensify staff Bug Something is broken. Auto assigns a BugZero manager. labels Apr 25, 2024
Copy link

melvin-bot bot commented Apr 25, 2024

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

Copy link

melvin-bot bot commented Apr 25, 2024

Current assignee @trjExpensify is eligible for the Bug assigner, not assigning anyone new.

Copy link

melvin-bot bot commented Apr 25, 2024

Current assignee @s77rt is eligible for the Internal assigner, not assigning anyone new.

@trjExpensify
Copy link
Contributor Author

Added internal until we determine who's going to take this one.

@trjExpensify trjExpensify moved this to Release 1: Spring 2024 (May) in [#whatsnext] #wave-collect Apr 25, 2024
@hayata-suenaga hayata-suenaga changed the title [QBO] Chart of Accounts (Categories) not importing on initial connection [Wave Collect][QBO] Chart of Accounts (Categories) not importing on initial connection Apr 26, 2024
@trjExpensify
Copy link
Contributor Author

@hayata-suenaga @aldo-expensify remind me which of yah are looking into this one?

@aldo-expensify aldo-expensify self-assigned this Apr 26, 2024
@aldo-expensify
Copy link
Contributor

aldo-expensify commented Apr 26, 2024

@trjExpensify I am looking into it, and I think I know why now. There are two jobs: sync and import, right now we are only triggering import. I'm understanding this:

  • import: read QBO data and put it in the connections.quickbooksOnline.data. This data is useful to be able to configure the connection.
  • sync: reads the configuration of the connection, pulls data from QBO and populates the policy's Category and others.

Is this correct @francoisl ?

This is an oversight in the design doc. I remember @francoisl mentioned these two jobs, but I guess I didn't understand fully the consequences until now that we are working on it.

I think we need the following:

Authentication flow:

  • Authenticate with QBO ✅
  • Run the import job to be able to show the configurations ✅
  • Choose some default settings ❌
  • Run the sync job to populate the policy fields used by Expensify ❌

Sync button flow:

  • Run the import job (is this necessary? I see OldDot doing it) ✅
  • Run the sync job ❌

❌ : need to implement, we are missing it
✅ : current implementation has it

@francoisl does that make sense to you?

About calling the sync job after the import, I'll see if I can trigger that follow up call directly from the IS. Are there cases where we could only want to call the import alone?

@francoisl
Copy link
Contributor

Yes, what you said about import vs sync is correct, you need to do a sync after an import.

Are there cases where we could only want to call the import alone?

No. You could go the other way around but you don't need to (for example if you change the account to post your Vendor Bills to, then technically you don't need to do a pull (import), but it's fine if you do)

About calling the sync job after the import, I'll see if I can trigger that follow up call directly from the IS.

Yes that's an option too. We do that with auto-sync, check how we do it here. We can try to reuse some of that logic but it will need some changes (it throws if it's not being run in auto-sync mode, and has push notifications disabled since auto-sync typically happens in the backend)

@aldo-expensify
Copy link
Contributor

aldo-expensify commented Apr 26, 2024

I have a draft here for some changes in the IS server to reuse the autoSync job: https://github.com/Expensify/Integration-Server/pull/7880

Web-E changes: https://github.com/Expensify/Web-Expensify/pull/41827
App changes: #41060

UPDATE: These PRs are really to fix the "Sync now" button (second flow mentioned here), they are not for this issue

@aldo-expensify
Copy link
Contributor

Created draft PR to handle the initial load of data (sync) inside the first import when importing from QBO: https://github.com/Expensify/Integration-Server/pull/7882

@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 and removed Daily KSv2 labels Apr 27, 2024
@trjExpensify
Copy link
Contributor Author

These were all backend PRs are we've merged them, can we close?

@hayata-suenaga
Copy link
Contributor

I re tested and the chart of accounts are imported as categories after the initial connection. I'll close this issue now

@github-project-automation github-project-automation bot moved this from Release 1: Spring 2024 (May) to Done in [#whatsnext] #wave-collect May 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something is broken. Auto assigns a BugZero manager. Internal Requires API changes or must be handled by Expensify staff Reviewing Has a PR in review Weekly KSv2
Projects
No open projects
Archived in project
Development

No branches or pull requests

5 participants