-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Fix - QBO - Push input is not cleared when the export method is changed to an export method that has no accounts available. #58370
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
Conversation
@hoangzinh 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] |
@FitseTLT just wanna confirm, is it PR ready for review? |
Yes @hoangzinh It might also help to tag design team cc @trjExpensify |
Done. Your vid in the OP has a couple of notes that will be helpful to clarify probably, as they confused me initially as being a bit unexpected:
|
Yes but on android native its online test 👍 |
@trjExpensify what are your thoughts on this one? I am very confused by the video tbh... like if you can't select anything here, than why is an option already selected? |
It's possible that you had vendor bill selected as the export destination and then removed the A/P account in QBO after which would cause the error. I also think vendor bill export is the default export destination on initial connection, and so if you don't have an A/P account in QBO, you have the error as well. The whole thing is a little edge casey, but I stumbled upon it when I joined a call with Ryan and a custy the other week. Without the logs and looking at OldDot, they had no way of knowing the config mishap as we weren't surfacing any errors in the NewDot front-end for it. |
Got it, thanks for the explanation. If you are cool with it, I think I am cool with it. I would love a clean video though that doesn't have the offline mode stuff, because that is really tripping me up when trying to evaluate the whole flow. |
Here it is : a.mp4 |
Why do we see the error under Accounts payable here: But then as soon as you choose Export as > Journal entry, it looks like we populate that row with a value: Just checking, is that expected? Again, I am not too familiar with what is going on here so just calling that out as it felt a bit odd to me. Thoughts @trjExpensify? |
Yeah, it's expected. Different export destinations have different accounts that are valid for that type.
When your export destination is
These are valid journal entry accounts for the |
Okay cool, appreciate the explanation as always - I rest my case :) Let's move forward with getting this merged. |
src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseConfigurationPage.tsx
Show resolved
Hide resolved
src/pages/workspace/accounting/qbo/export/QuickbooksOutOfPocketExpenseConfigurationPage.tsx
Outdated
Show resolved
Hide resolved
errorRowStyles={[styles.ph5, styles.pv3]} | ||
onClose={() => clearQBOErrorField(policyID, CONST.QUICKBOOKS_CONFIG.REIMBURSABLE_EXPENSES_EXPORT_DESTINATION)} | ||
onClose={() => { | ||
setSelectedAccountError(null); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to clear selectedAccountError state on close here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Otherwise the selected account error wouldn't be cancelable.
Reviewer Checklist
Screenshots/VideosAndroid: NativeScreen.Recording.2025-03-19.at.18.58.53.android.movAndroid: mWeb ChromeScreen.Recording.2025-03-19.at.18.47.50.android.chrome.moviOS: NativeScreen.Recording.2025-03-19.at.19.10.42.moviOS: mWeb SafariScreen.Recording.2025-03-19.at.19.01.52.ios.safari.movMacOS: Chrome / SafariScreen.Recording.2025-03-19.at.17.58.08.web.movMacOS: DesktopScreen.Recording.2025-03-19.at.18.34.45.desktop.mov |
@FitseTLT can you complete this checklist? Thank you. |
Done @hoangzinh |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
🚀 Deployed to staging by https://github.com/yuwenmemon in version: 9.1.16-0 🚀
|
Hello @FitseTLT. Can you please help us, should we use some specific account or did some preconditions for checking this PR? bandicam.2025-03-21.12-34-46-457.mp4 |
Yeah @IuliiaHerets it looks like all the export destinations in your video have payable accounts. But for me it is easy to reproduce; In OD I integrate any workspace with QBO and I will not finish the final settings part in OD because it will not allow me a destination without A/P. Now opening ND will have no export destination selected and selecting a destination without A/P will show an error. cc @trjExpensify 2025-03-21.15-25-51.mp4 |
@IuliiaHerets we can set it in OD. Here are steps:
p = Policy.getCurrent()
p.policy.connections.quickbooksOnline.config.reimbursableExpensesAccount = null;
p.save();
(Note: Sometimes, it will make QBO integration broken and we can't update Screen.Recording.2025-03-21.at.19.26.44.mov |
@FitseTLT @hoangzinh QA team can only complete the PR steps from 1 - 4. Number 5 triggers the mentioned issue (Note: Sometimes, it will make QBO integration broken and we can't update Export out-of-pocket expenses, please try to disconnect and reconnect again to auto fix) bandicam.2025-03-21.14-07-01-985.mp4 |
In that case I think you guys need a brand new QBO connection/company that doesn't have Account Payable linked to some of the export destinations. That's exactly the target of the PR so you can't test it on QBO company which has A/P linked to all export destinations. |
or you can try on a new/another workspace @IuliiaHerets |
@FitseTLT @hoangzinh Tester has already tested with a new WS and a brand new Gmail account but he got the same results. bandicam.2025-03-21.19-08-08-513.mp4 |
🚀 Deployed to production by https://github.com/luacmartins in version: 9.1.16-4 🚀
|
@IuliiaHerets just wanna confirm if you still can't update Export out-of-pocket expenses even though you tried on a brand new account or WS, can you? |
@hoangzinh yes, we can't |
@yuwenmemon are you available to help us in this case? @IuliiaHerets found it hard to set up a WS that has A/P as null, then I suggested a trick here, it worked fine in my end (for Contributor Plus QBO account). @IuliiaHerets tried the same but then her QBO integration got broken (her recording here). Can you take a look and suggest to @IuliiaHerets what she should do to fix it? Thank you. |
Sorry - don't think we have to worry about getting them set up to test it. It's an edge case bug anyway. Let's just move on 👍 |
Details
Fixed Issues
$ #57548
PROPOSAL: #57548 (comment)
Tests
Precondition:
You will test it a workspace with QBO integration which have an export destination with no account payable.
Offline tests
Same as above
QA Steps
Same as above
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label so the design team can review the changes.ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Android: Native
a.mp4
Android: mWeb Chrome
aw.mp4
iOS: Native
i.mp4
iOS: mWeb Safari
iw.mp4
MacOS: Chrome / Safari
2025-03-12.21-16-30.mp4
MacOS: Desktop
d.mp4